赞
踩
包括两部分:接收数据和处理数据(一般是条件判断)
首先是接收数据:
我是用一个全局变量来把串口接收到的数据传递给main.c文件处理的。
具体步骤:
1.在包含接收中断函数的.c文件(例如usart.c)中声明一个变量(u8 flag;)
2.在main.c文件中声明(extern u8 flag;),之后便可以在main函数中根据flag值条件判断,做出相应功能。
其次是数据处理:
需要注意的是,串口通信是二进制位的通信,也可以说是16进制通信。我们通过串口发送给单片机芯片的数据或者是单片机通过串口发送给我们的数据都是以16进制传送的,在进行条件判断时也必须以16进制(hex)来判断。
例如:
串口助手发送(hex发送):01
单片机接收:0x01
串口助手发送(字符发送):1
单片机接收:0x31
可知:当我们选择“字符发送”时,发送的不是数字,条件判断不能用1或者0x01去匹配,只能用它转换的16进制数0x31去匹配
或者如果觉得输入16进制太麻烦,可以在串口助手接收区选择“hex显示”,就可以看到输入某个字符时它的16进制编码是多少,条件判断时匹配他的这个16进制编码就可以。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。