串口接收数据怎么处理收到的命令?
1,芯片:stm32f042库:HAL
2,
想用普通接收,不用中断和dma
3,
目的:1,接收以"\0"结尾的不知道长度的命令
2,收到上面的命令后,发送result ”ready“
3,然后判断是否收到OK\0,如果是,就执行升级函数。
4,
我的问题:
不知道怎么使用HAL弄判断以\0结尾的不定长数据
管HAL什么事? 屁事没有。:lol
HAL只收实现收发功能而已。。。。。。:lol 循环去读串口数据,读到\0的时候,认为一包数据结束, 一般不能确定什么时候发过来信息,所以一般都会用中断接收吧。
每次接收中断,存下接收到的字节,判断该字节是否是"\0",如果是的话,读取之前存取的字节作为一个命令来处理。 if(rxbuf=='\0'){
.
.
}
any012 发表于 2019-8-13 09:38
一般不能确定什么时候发过来信息,所以一般都会用中断接收吧。
每次接收中断,存下接收到的字节,判断该字 ...
在弄bootloader程序,不知道谁说的,在boot程序里面尽量别用中断。 sos博 发表于 2019-8-13 10:51
在弄bootloader程序,不知道谁说的,在boot程序里面尽量别用中断。
用也可以,就是跳转app前,把相应中断关了。 不用中断和dma,你告诉我怎么读数据:L。不断查询吗?
页:
[1]