我给单片机用串口发送“A”“B”“C”三个数据,但是我想单独提取其中一个该怎么办

如题所述

串口向单片机发送数据,不论发送多少个,单片机也是一个一个接收的,如果单片机的串口设置成中断方式,则每接收一个数据都会中断一次,这样,在中断程序中按顺序接收并保存在一个数组中,要先定义一个数组。假如,串口发送3个数据,那定义数组就3个元素。当接收完3个数据后,再从数组中逐个判断所要的字符就行了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-20
单片机接收本来就是一个字节一个字节的接收。意思就是A,B,C一个一个的接收,接收的顺序要看你发送的顺序。如果你想提取B之后面的信息,如B143那么,先获得一个字节。判断它是不是B,如if(getchar() == 'B'),然后如果是对的话,那么在里面接收后面三位字节就好了。当然我讲的只是一种比较简单的接收方法了。
第2个回答  2019-02-20
既然你都 知道是“A”“B”“C”了,还想怎么提取?
if(sbuf=='A')即可
第3个回答  2019-02-20
单片机器官相护我也没有什么情况如何处理事情都是一样的人都有时间去哪里上班吧我现在没有什么情况怎么样了解释怀宝宝不开心的事情的事顺利通过微信给我打电话给你都给你留着明天给你打电话给你追问

哈他家决心噜噜噜不不不肚饿X5呀偷窥他他妈啧啧啧住户不不顾G8他也想要