中级会员
- 积分
- 215
- 金钱
- 215
- 注册时间
- 2016-9-26
- 在线时间
- 43 小时
|
1金钱
我在学习单片机,学习蓝牙模块,用串口可以检查到蓝牙可以使单片机接收到数字,字母等东西,但我要单片机处理这些字母和数字时就不会了,我觉得是因为单片机只会处理二进制的东西,而我给他123a bc这些东东 ,他不认识,,,,,那我该怎么让 单片机处理呢? 下面附上我找的编程:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char a;
void init()
{
TMOD=0X20; //设置定时器1为方式2
TH1=0xFA ;
TL1=0xFA ; //装初值
TR1=1; //启动定时器1
REN=1; // 使能接收
SM0=0;
SM1=1; //设置串口为工作方式1
EA=1; // 打开总中断开关
ES=1; // 打开串口中断开关
}
void main()
{
init();
while(!RI);
}
void ser() interrupt 4
{
ES=0;
RI=0; //将接受中断标志位清0;
a=SBUF; //将接受到的数据赋值给a
switch(a)
{
case 30: P2=0X17; break; // 发送的是A 前进指令,这我可以用串口检查到单片机收到了A,但P2口就是没反应。 我一脸懵比······
case 66: P2=0X1B; break; // 发送的是B 右转指令
case 67: P2=0X27; break; // 发送的是C 左转指令
case 68: P2=0X2B; break; // 发送的是D 后退指令
case 97: P2=0X00; break; //发送的是a 停止指令
case 98: P2=0X00; break; //发送的是b 停止指令
case 99: P2=0X00; break; //发送的是c 停止指令
case 100: P2=0X00; break; //发送的是d 停止指令
//P2口是我的电机驱动的控制端
default: break;
}
ES=1;
}
|
|