标题:
51单片机模拟串口通信蓝牙WiFi控制智能车
[打印本页]
作者:
oO机器骑士
时间:
2019-3-31 15:18
标题:
51单片机模拟串口通信蓝牙WiFi控制智能车
前段时间一直在搞模拟串口,终搞出来了,代码贴出来供大家参考,欢迎友好交流部分代码如下
波特率是个很大的坑
我的晶振用的是12M,因此最佳匹配是4800bps
void TimerInit(void)
{
TMOD=0x22;//0000 0010 方式2 8位 低四位T0
TR0=0; //关定时器
TF0=0;
TH0=(256-211);//赋初值 256-104=152 256-208=48
TL0=TH0;
ET0=1;//开定时器T0中断
TH1=0xF3;
TL1=0XF3;//计数器初始值设置4800
PCON=0x80;//波特率加倍
TR1=1; //打开计数器
SCON=0X50; //0101 0000 设置为工作方式1
ES=1;//打开接收串口中断
EA=1; //开中断
}
//开始位
unsigned char StartBitCome(void)
{
return (RXD1==0);
}
//void Uart_Init()//使用定时器1作为波特率发生器(STC89C52、STC89C51、AT89C51或者STC12C560S2等均可)
//{
// TMOD=0x22;//选择工作方式2 0010 0000
//
//
// EA=1;//打开总中断
//}
void Send_Uart(u8 value)
{
ES=0; //关闭串口中断
TI=0; //清发送完毕中断请求标志位
SBUF=value; //发送
while(TI==0); //等待发送完毕
TI=0; //清发送完毕中断请求标志位
ES=1; //允许串口中断
}
void ESP8266_Sent(u8 *puf) // 数组指针*puf指向字符串数组
{
while(*puf!='\0') //遇到空格跳出循环
{
Send_Uart(*puf); //向WIFI模块发送控制指令。
us_delay(5);
puf++;
}
us_delay(5);
Send_Uart('\r');//回车
us_delay(5);
Send_Uart('\n'); //换行
ms_delay(1000);
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1