小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 8974|回复: 4

求教......蓝牙小车波特率设置难题

[复制链接]
发表于 2014-4-14 20:30:53 | 显示全部楼层 |阅读模式
蓝牙小车调试基本完毕,但通过蓝牙就无法进行控制。经过对比发现串口波特率设置为19200,蓝牙波特率设置为9600(HC-05蓝牙模块默认波特率)。有没有从程序上更改串口波特率的方法啊?
回复

使用道具 举报

发表于 2014-4-14 20:34:13 | 显示全部楼层
当然可以,波特率可以随便改的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-14 22:39:06 | 显示全部楼层
liuviking 发表于 2014-4-14 20:34
当然可以,波特率可以随便改的。

恩,学习了。
void init()
{
TMOD=0x20;//设定定时器1为方式2
TH1=0xfd;
TL1=0xfd;//装初值
TR1=1;          //启动定时器1
REN=1;          //使能接收
SM0=0;          
SM1=1;         //打开串口方式为1
EA=1;         //打开总中断开关
ES=1;         //打开串口中断开关
}
这个波特率设置为9600应该没问题吧?
回复 支持 反对

使用道具 举报

发表于 2014-4-14 23:28:34 | 显示全部楼层
liuyunaizj 发表于 2014-4-14 22:39
恩,学习了。
void init()
{

这个要结合你的晶振的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-15 21:59:43 | 显示全部楼层
本帖最后由 liuyunaizj 于 2014-4-15 22:00 编辑
liuviking 发表于 2014-4-14 23:28
这个要结合你的晶振的。

89C51系统板,晶振11.0592HM,串口调试时,只有19200,小车有反应。程序如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit b=P0^7;
uchar a;
void init()
{
TMOD=0x20;//设定定时器1为方式2
PCON=0X00;
SCON=0X50;//串口方式1                               
TH1=0xFD;
TL1=0xFD;//装初值
TR1=1;          //启动定时器1
REN=1;          //使能接收
SM0=0;          
SM1=1;         //打开串口方式为1
EA=1;         //打开总中断开关
ES=1;         //打开串口中断开关
}

void main()
{
init();
while(1)
{
   b=1;
   a=SBUF;//将接收到的值赋值给a
   switch(a)
   {
    case 1: P2=0x8a; break;//发送命令1 小车前进
    case 2: P2=0x85; break;//发送命令2 小车后退
    case 3: P2=0x86; break;//发送命令3 小车左转
    case 4: P2=0x99; break;//发送命令4 小车右转
    default: break;
   }
  }
}
void ser() interrupt 4
{
ES=0;
RI=0;//将接收中断标志位清零
a=SBUF;//将接收到的值赋值给a
ES=1;
}

串口调试

串口调试
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-11-22 23:38 , Processed in 1.138636 second(s), 21 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

快速回复 返回顶部 返回列表