完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
C语言不太会~ 错误总是改不掉,求高手帮着改改~ 用51单片机的串口通信来接收发送来的ASCII码,想用switch来判断接收到的这些字符~
#include #define uchar unsigned char #define uint unsigned int unsigned a; void init() { TMOD=0X20;//设置定时器1为方式2 TH1=0xfd; TL1=0xfd;//装初值 TR1=1;//启动定时器1 SM0=0; SM1=1;//设置串口为工作方式1 REN=1;//使能接收 EA=1;//打开总中断开关 ES=1;//打开串口中断开关 } void main() { init(); while(1); } void ser()interrupt 4 { 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 停止指令 default: break; } ES=1; } |
|
相关推荐
1个回答
|
|
switch(a)语句后不应该有分号,进入串行中断后ES=0关中断。
最佳答案
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十五章 摄像头实验
219 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
574 浏览 0 评论
684 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
1074 浏览 0 评论
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12048 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 22:05 , Processed in 0.482814 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号