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

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

[复制链接]
sos博 提问时间: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个回答
zts329547875 回答时间: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'){
.
.
}
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,你告诉我怎么读数据。不断查询吗?

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版