完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目标:驱动CH382通过串口发送数据
问题:PCIe的RC访问PCIe时要求4字节对齐访问,目前串口可以发送数据,但是波特率不对,看上去就像是波特率分频寄存器的值全是FF,程序如下: 初始化: /* *(uint32_t *)((char*)pcieIOBase + 0xC0 + LCR) = 0x80; *(uint32_t *)((char*)pcieIOBase + 0xC0 + DLL) = 0x0C; *(uint32_t *)((char*)pcieIOBase + 0xC0 + DLM) = 0x00; *(uint32_t *)((char*)pcieIOBase + 0xC0 + LCR) = 0x03; *(uint32_t *)((char*)pcieIOBase + 0xC0 + FCR) = 0x01; */ *(uint32_t *)((char*)pcieIOBase + 0xC0) = 0x80000000; *(uint32_t *)((char*)pcieIOBase + 0xC0) = 0x8000000C; *(uint32_t *)((char*)pcieIOBase + 0xC0) = 0x0300000C; *(uint32_t *)((char*)pcieIOBase + 0xC0) = 0x03010000; 发送: *(uint32_t *)((char*)pcieIOBase + 0xC0 + 0) = i + 0x03010000; 由于对CH382内部PCIe处理情况不是很了解,上述代码是否存在问题呢? |
|
相关推荐
1个回答
|
|
按照字节访问试了一下是可以的,昨天有个地方搞错了
*((char*)pcieIOBase + 0xC0 + LCR) = 0x80; *((char*)pcieIOBase + 0xC0 + DLL) = 0x0C; *((char*)pcieIOBase + 0xC0 + DLM) = 0x00; *((char*)pcieIOBase + 0xC0 + LCR) = 0x03; *((char*)pcieIOBase + 0xC0 + FCR) = 0x01; |
|
|
|
只有小组成员才能发言,加入小组>>
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2616 浏览 2 评论
2144 浏览 1 评论
ch554g的板子准备烧录程序,用串口总是显示等待设备连接是为啥
1019浏览 14评论
请问ch32v307用ch-link调试或者读写有什么特殊操作方法吗?
918浏览 13评论
Windows系统下如何确定COM口为CH340/CH341设备?
2251浏览 12评论
694浏览 12评论
CH32V307以太网接近满速后,几秒或几十秒后就死机怎么解决?
1985浏览 11评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-11 05:03 , Processed in 0.856033 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号