TI中文支持网
TI专业的中文技术问题搜集分享网站

430F5438A-RXBUF清零

你好:   

        遇到一个疑问,器件是430F5438A,当UART接收不固定长度数据时候,怎么样可以用寄存器清掉RXBUF多余的数据,例如,我只需要接收6个数据,但实际来了10个数据,而且后4个数据是我不需要的,因为数据不定长,不想用数组接收,是否直接有寄存器某位直接把RXBUF清零?

Gary Gao:

430F5438A的接收RXBUF为8 BIT 有效寄存器不会收到10个bit数据,而且收到的8bit数据取决于发送端。如果你只需要6个数据其他位填0发送,不知道这样可以满足你的需要吗?

灰小子:

建议用软件方法解决。比如在字符串开始增加一个说明数据长度的字符,或者使用某个特定的字符代表数据结束

HG:

RXBUF和TXBUF一样,只是一个寄存器,8bit。不是其他ARM单片机可以是连续多个数据,设置FIFO的那种。

如果使能中断,每一个到了RXBUF的数据都会有提示,读出来之后到数组。没有办法变长处理。

可以做的就是自定义协议,比如第一个字节表示会有多少个数据,按着接受放在数组就可以了。

赞(0)
未经允许不得转载:TI中文支持网 » 430F5438A-RXBUF清零
分享到: 更多 (0)