单片机/MCUwilliam hill官网
登录
直播中
Black&White
11年用户
124经验值
擅长:嵌入式技术 控制/MCU
私信
关注
[问答]
蓝牙小车程序问题
开启该帖子的消息推送
#include
#define uchar unsigned char
#define uint unsigned uint
uchar a;
void init()
{
TMOD=0x20; //设置定时器1为方式2
PCON=0x00; //设置SMOD(PCON.7)为0,波特率不加倍
TH1=0xfd; //设置波特率初值为9600
TL0=0xfd; //
TR1=1; //启动定时器1
REN=1; //使能接收
SM0=0; //
SM1=1; //设置串口为工作方式1
EA=1; //打开总中断开关
ES=1; //打开串口中断开关
}
void main(void)
{
init();
while(1);
}
void ser() interrupt 4
{
ES=0;
RI=0; //将接收中断标志位清0
a= SBUF; //将接收到的数据赋给a
switch(a)
{
case 31: P2=0x17; break; //前进
case 34: P2=0x1b; break; //右转
case 33: P2=0x27; break; //左转
case 32: P2=0x2b; break; //后退
case 37: P2=0x00; break; //停止
case 35: P2=0x17; break; //加速
case 36: P2=0x2b; break; //减速
default: break;
}
ES=1;
}
大家帮我看看那里不对,怎么会没反应
回帖
(3)
泥菩萨
2013-11-3 17:09:33
看不懂啊看不懂
看不懂啊看不懂
举报
张腾
2013-12-22 17:15:57
你试试编译一下
#include
#define uchar unsigned char
#define uint unsigned int
uchar a;
void init()
{
TMOD=0X20; //设置定时器1为方式2
TH1=0xfd ;
TL1=0xfd ; //装初值
TR1=1; //启动定时器1
REN=1; // 使能接收
SM0=0;
SM1=1; //设置串口为工作方式1
EA=1; // 打开总中断开关
ES=1; // 打开串口中断开关
}
void main()
{
init();
while(1);
}
void ser() interrupt 4
{
ES=0;
RI=0; //将接受中断标志位清0;
a=SBUF; //将接受到的数据赋值给a
switch(a)
{
case 65: P2=0X17; break; // 发送的是A 前进指令
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;
}
你试试编译一下
#include
#define uchar unsigned char
#define uint unsigned int
uchar a;
void init()
{
TMOD=0X20; //设置定时器1为方式2
TH1=0xfd ;
TL1=0xfd ; //装初值
TR1=1; //启动定时器1
REN=1; // 使能接收
SM0=0;
SM1=1; //设置串口为工作方式1
EA=1; // 打开总中断开关
ES=1; // 打开串口中断开关
}
void main()
{
init();
while(1);
}
void ser() interrupt 4
{
ES=0;
RI=0; //将接受中断标志位清0;
a=SBUF; //将接受到的数据赋值给a
switch(a)
{
case 65: P2=0X17; break; // 发送的是A 前进指令
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;
}
举报
张腾
2013-12-22 17:22:27
要么把REN=1放到SM0=0;SM1=1;后边,,,也就是先设置串口模式,再允许串口接受,这样可以避开串口方式0接受数据
要么把REN=1放到SM0=0;SM1=1;后边,,,也就是先设置串口模式,再允许串口接受,这样可以避开串口方式0接受数据
举报
更多回帖
rotate(-90deg);
回复
相关问答
急求
小车
控制
2013-11-15
1333
msp430的超声波测距避障和循迹避障
小车程序
,跪求!
2015-04-17
4989
请问谁能分享一个基于STM32的智能轨迹
小车程序
?
2018-07-10
3559
谁有STC89C52单片机
小车程序
2013-11-15
3037
请问51
蓝牙
小车程序
怎么弄?
2019-06-03
1169
如何编写步进电机麦轮
小车程序
?
2021-12-21
771
蓝牙
智能
小车程序
2015-11-20
4730
蓝牙
小车
2017-07-27
2964
怎样去设计一种基于Arduino
小车
蓝牙
模块的APP
2021-08-18
2332
请问如何用
蓝牙
控制
小车
2018-11-26
3558
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分