自己做的板子,配置为UART2启动模式,复位(或上电)时,板子应当会发送 BOOTME(42 4F 4F 54 4D 45),但是我在串口调试助手里看到的是乱码,在十六进制下查看,发现是数据有变位,而且,反复复位多次,返回的值都不一样,具体数据如下:
BOOTME(42 4F 4F 54 4D 45)正常BOOTME的十六进制码
我接收到的是:
82 4F CF 94 8D C5 60 00
00
42 CF 8F 54 4D 85 20 00
00
82 8F 4F 94 8D 45 20 00
00
82 8F 4F 94 8D 45 20 00
00
42 8F 8F 54 8D 85 20 00
00
我在CCS下调试串口2,收发是没有问题的,相同的串口波特率配置,感觉很奇怪。
Tony Tang:
你的板子上L138用的输入时钟是多少?
Elvin wang:
回复 Tony Tang:
板子上的输入时钟是 24M的,用示波器测过,波形很好
Tony Tang:
回复 Elvin wang:
那么波特率就应该没问题了。
你改改UART_RX管脚上的上下拉状态试试,好像跟上电顺序有关。
还有你用手动复位芯片(不复位电源)试试能不能收到正确的bootme,
Elvin wang:
回复 Tony Tang:
热启动试了,都不行,换到UART1口也是一样的现象?
如果是上电顺序导致的话,热启动的时候,应该不会有问题才对
Elvin wang:
回复 Tony Tang:
因为 Reference Manual 上写的是,在UART2启动模式下,高三位不用关心(XXX10100),所以高三位之前一直就处于高电平状态,把高三位全部配置成 0 后,能够正常收到BOOTME。
非常感谢!
Tony Tang:
回复 Elvin wang:
在bootloader 文档里sprab41e有描述: