完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
今天我终于搞明白UART0失效的原因了,我的板子上带USB接口,用USB取电的然后通过USB的5V电源给锂电池充电IC充电,整个系统靠单节4.2V锂电池供电,4.2V通过LDO被降压到3.3V给CH573供电(内置DCDC未启动,VSW短接到VDCID,同时我把RST脚复用成PWM输出了)
因为当前是测试阶段所以犯懒根本没接锂电池,直接靠着USB到锂电池充电IC的电连接到LDO,然后LDO输出3.3V给CH573(这种状态肯定是不太稳定,但是讨论当前遇到的硬件问题应该可以当做特殊情况分析) 我发现只要把板子的USB接在某个特定的手机充电器上,CH573可以启动,蜂鸣器,一路PWM,USB协议层全都正常,偏偏就是UART0的TX和RX失效了 如果不用那个充电器换示波器上的USB口给这个板子供电,那么CH573的UART0发送和接收就正常了。(我的手机充电器供电时到示波器接地接好了,因为只要用这个手机充电器供电,板子上的PWM输出波形可以用示波器测试到,但是UART0的TX脚拉高没输出) 感觉应该是上电不稳定导致573内部乱了,我强制加了延迟,然后在UART0的模块程序初始化时再次开启UART0电源PWR_PeriphClkCfg (ENABLE, BIT_SLP_CLK_UART0)但是依旧不能解决问题 虽然我这样使用芯片肯定是不太靠谱的,次项目后续产品插上电池后应该也不会存在这种情况。但是希望厂家重视这个问题,这应该是上电不稳定导致芯片内部彻底全都乱了,部分模块根本没有运行起来,但是其他部分却是正常运行,这种状态很可怕。希望厂家后续更新内核的上电引导程序/或者增加BOR监视程序,解决这个问题。 这个问题不仅出现在特殊充电器,连某一台笔记本的USB口同样会导致仅仅UART0失效,但是USB的HID,PWM,ADC采样其他功能全正常。 |
|
|
|
只有小组成员才能发言,加入小组>>
516 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2901 浏览 2 评论
2396 浏览 1 评论
861浏览 2评论
CH32F103C8T6使用当前官网上的CDC例程会出现设备描述符请求失败
403浏览 1评论
679浏览 1评论
riscv-none-embed-objcopy: \'PWM_Output.elf\': No such file这个咋解决,
413浏览 1评论
513浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 22:06 , Processed in 0.910366 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号