sos博 发表于 2019-8-13 08:59:08

串口接收数据怎么处理收到的命令?

1,芯片:stm32f042
库:HAL

2,
想用普通接收,不用中断和dma

3,
目的:1,接收以"\0"结尾的不知道长度的命令
          2,收到上面的命令后,发送result ”ready“
          3,然后判断是否收到OK\0,如果是,就执行升级函数。

4,
我的问题:
         不知道怎么使用HAL弄判断以\0结尾的不定长数据




zts329547875 发表于 2019-8-13 09:17:30

管HAL什么事? 屁事没有。:lol
HAL只收实现收发功能而已。。。。。。:lol

freeelectron 发表于 2019-8-13 09:33:06

循环去读串口数据,读到\0的时候,认为一包数据结束,

any012 发表于 2019-8-13 09:38:07

一般不能确定什么时候发过来信息,所以一般都会用中断接收吧。
每次接收中断,存下接收到的字节,判断该字节是否是"\0",如果是的话,读取之前存取的字节作为一个命令来处理。

wenyangzeng 发表于 2019-8-13 09:54:49

if(rxbuf=='\0'){
.
.
}

sos博 发表于 2019-8-13 10:51:27

any012 发表于 2019-8-13 09:38
一般不能确定什么时候发过来信息,所以一般都会用中断接收吧。
每次接收中断,存下接收到的字节,判断该字 ...

在弄bootloader程序,不知道谁说的,在boot程序里面尽量别用中断。

any012 发表于 2019-8-13 11:03:55

sos博 发表于 2019-8-13 10:51
在弄bootloader程序,不知道谁说的,在boot程序里面尽量别用中断。

用也可以,就是跳转app前,把相应中断关了。

yzzhh18 发表于 2019-9-16 10:13:10

不用中断和dma,你告诉我怎么读数据:L。不断查询吗?
页: [1]
查看完整版本: 串口接收数据怎么处理收到的命令?