你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
tryfly 提问时间:2019-8-13 08:59 /
1,芯片:stm32f042
库:HAL

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

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

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



收藏 评论7 发布时间:2019-8-13 08:59

举报

7个回答
西点钟灵毓秀 回答时间:2019-8-13 09:17:30
管HAL什么事? 屁事没有。
HAL只收实现收发功能而已。。。。。。
freeelectron 回答时间:2019-8-13 09:33:06
循环去读串口数据,读到\0的时候,认为一包数据结束,

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

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

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

wenyangzeng 回答时间:2019-8-13 09:54:49
if(rxbuf[x]=='\0'){
.
.
}
tryfly 回答时间: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,你告诉我怎么读数据。不断查询吗?

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版