使用CH582芯片正常上电工作一段时间后,会莫名其妙不工作了,重新上电后程序不在运行。重新烧录程序可以再次运行,但仍然会出现运行一段时间后不工作的现象。
以上方面问题可能是哪些原因造成?如何排查?
这是我程序使用的flash和ram
热门产品 :
CH32L103: 32位PDUSB低功耗单片机
使用CH582芯片正常上电工作一段时间后,会莫名其妙不工作了,重新上电后程序不在运行。重新烧录程序可以再次运行,但仍然会出现运行一段时间后不工作的现象。
以上方面问题可能是哪些原因造成?如何排查?
这是我程序使用的flash和ram
程序中是否有FLASH_ROM_ERASE/FLASH_ROM_WRITE的使用?如果有的话你的程序部分代码可能存在擦除地址错误,把一部分code flash擦除了。非官方技术人员,建议仅供参考。
存在FLASH_ROM_ERASE/FLASH_ROM_WRITE的使用,但都是按照指定地址去操作的,没有去擦除代码段的地址
先判断不工作的现象是否准确,还是仅仅有一些功能代码不执行。
写一个定时器中断,里面1s翻转1次波形或者计数,查看出问题的时候,定时器是否还在执行。
其次测试vinta(非睡眠状态1.05v),晶振起振(0.38v)。
如果存在睡眠的情况,可以写一个tmos任务,定时执行,查看是否运行。