STM32
直播中

李丽

7年用户 1379经验值
私信 关注
[问答]

STM32串口通信memset清空缓存字符串记录

STM32串口通信memset清空缓存字符串记录

回帖(1)

陈斌

2021-12-7 09:27:05
       串口通信判断时,对比上位机传给下位机的数据是否包含或者吻合某个值时,对比完就清空缓存字符串,此处采用memset时数组和字符串不同,记录一下脑子短路造成的坑:

char USART_RX_BUF[200];
char task[6] = "task1";

..........
memset(USART_RX_BUF, 0, sizeof(USART_RX_BUF));
..........
//错误,清空字符串应该填充'',而不是0


..........
memset(USART_RX_BUF, '', sizeof(USART_RX_BUF));
..........
//正确
另外需要说明的是:




        虽然MDK官方给的文档里面,memset应该按照memset(void *,length, value)的顺序,但是亲测无效,只能按照menset(void *,value,length)的顺序,这也是C语言中的顺序。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分