这个是不是STM32芯片自身的BUG(纯属个人观点)
程序没有问题,说程序有问题的基本上都是在那里装,有什么问题你可以说出来,这个问题我已经解决了。
没看懂
但每次都开始的时候在RxBuffer开始的时候总是显示两次ox09,我感觉是不是芯片自身不带清零功能,要加个什么函数能每次开始的时候都出示化一下把ox09清零只显示一个ox09
1、前面说现象是显示两次,最后又说,只显示一个?给出的图片看是显示两次。到底你需要问什么?
2、0x09是否你接收的?RxBuffer是你的接受缓充,谁发的数?实际发的数据是怎么一个格式?
STM32复位后引脚为低电平
所以上电后串口容易收到乱数据,这一点是很多用过这个片子的人知道的了,感觉上还是复位后引脚为低电平的好,可能是51用习惯了,接受大家的批评
奇怪? 为何没遇到楼主的情况?
天天用串口。都遇不到楼主的情况。奇怪?
估计是你的程序问题!
你的程序不稳定。问题大了!
碰到过这个问题的朋友
碰到过这个问题的朋友,你最后是怎么解决这个问题的
re
没仔细看..我认为这种99.9%是程序本身的原因..
类似的碰到过太多次了,外设属性没吃透~
也许是RP问题呢
呵呵,开玩笑的...
同意9L,再仔细看看吧...
TXD、RXD引脚全部加上拉就能解决这个问题
不过还是不明白为什么ST要把STM32做成复位后引脚处于低电平呢?对于串口来讲,低电平会被当成起始位;大多芯片的片选都是低电平。。。个人感觉还是复位后让单片机引脚处于高电平的好,不要批评我51用习惯了:(
不知所云
看了半天没看懂lz在说什么,你自己的数组里有什么数据和芯片有什么关系?
难道lz水平达到了可以轻易怀疑芯片bug的程度了吗?至少要分析了你的程序的机器码再怀疑吧!
这也太好笑了吧?
这个 TXD,RXD有 例子 设置的,如果你用STM32库,
这个有样板例子,不会搞错的,因为用STM32库就照它抄。
而且楼上说的“不明白为什么ST要把STM32做成复位后引脚处于低电平呢?”
这点可是不对。
所有STM32的I/O脚在复位后是处于高阻输入状态
既不是高电平也不是低电平,管脚连接的信号线在复位后的电位由外部的电路决定,STM32不产生输出。
re
IO的状态值得关注..
以前做过AT91的芯片,复位后,IO默认为“带上拉的输入”..
如果把IO和外部电路相连.等于驱动为高..
问下香主.."管脚连接的信号线在复位后的电位由外部的电路决定"..
要是外部电路也是等待别人给信号呢? 比如LDO的CE引脚(高有效).
像AT91就会直接打开LDO~
要是外部电路也是等待别人给信号,就需要在相应信号线上
这样才能保证在软件初始化I/O端口之前,信号线上有需要的电平。
现在大部分单片机复位后应该是输入状态吧
所以状态是有外部电路决定的,对出口RX来说是由你的串口接收电路决定的
复位后引脚状态不确定这个特性
我觉得不太好,如果确定为高或者低的话可以节省使用者的一部分设计