本帖最后由 yexiaoyong82 于 2010-12-13 19:58 编辑
大家好,我用的是红牛开发板,CPU型号是STM32F103ZE,在进行串口实验时,STM32会将收到的数据原封不动的发送回来。在实验中,如果发送的数据不是0x00,收发正确,即串口发送什么东西,STM32都会正确接收,并回复给串口助手,串口助手也能正确显示出来。但如果我以hex格式连续发送多个00 00时,串口助手会收到STM32回复FF,然后才是我所发送给STM32的数据。更奇怪的是,当这个开发板通电后,即使程序不运行,我用串口助手以16进制的格式连续发送多个00,比如00 00 00,此时串口助手也会收到STM32F自动回复的FF。请问是什么原因?注意,串口助手一定要以hex格式连续发送两个以上的00 00,然后显示也必须以hex显示,就会重现,请高手帮忙分析,不甚至感激。如图1
图1实验的是全部发00时的结果
图2实验的是发送有连续00也有其它非00数据的结果,图2看出,先收到两个FF,然后才才回复串口助手发给STM32的数据
更奇怪的是,即使是跟串口无关的程序,串口完全被关闭状态,只要STM32F103上电,然后通过串口助手给它发连续hex的00 00 00 00,也会收到回复FF,所以请高手看看,是不是STM32F103ZE串口收发器有BUG呢? |