问个avr比较弱智的问题,UDR没有读取之前数据会被改变吗,官方文档哪儿提到了,没发现
2个回答
展开全部
应该不会;
文档里没有直接提到此事;但是在其他地方隐晦的说明了;
“
DOR: 数据溢出
数据溢出时DOR 置位。当接收缓冲器满( 包含了两个数据),接收移位寄存器又有数据,
若此时检测到一个新的起始位,数据溢出就产生了。这一位一直有效直到接收缓冲器
(UDR) 被读取。对UCSRA 进行写入时,这一位要写0。
”
溢出标志位用来提示后面有数据丢掉了,如果会改变UDR,那应该是数据错误标志;应该保证已经接收到的正确,而不是实时更新;
处理:
可以使用中断接收数据,就不用担心了;(速度不要设置太高)
文档里没有直接提到此事;但是在其他地方隐晦的说明了;
“
DOR: 数据溢出
数据溢出时DOR 置位。当接收缓冲器满( 包含了两个数据),接收移位寄存器又有数据,
若此时检测到一个新的起始位,数据溢出就产生了。这一位一直有效直到接收缓冲器
(UDR) 被读取。对UCSRA 进行写入时,这一位要写0。
”
溢出标志位用来提示后面有数据丢掉了,如果会改变UDR,那应该是数据错误标志;应该保证已经接收到的正确,而不是实时更新;
处理:
可以使用中断接收数据,就不用担心了;(速度不要设置太高)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询