完善资料让更多小伙伴认识你,还能领取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关中断。
最佳答案
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-搭建自己的ubuntu系统之ubuntu网络设置
371 浏览 0 评论
龙芯中科胡伟武:3B6600 八核桌面 CPU 性能将达到英特尔中高端酷睿 12~13 代水平
501 浏览 0 评论
树莓派Pico 2发布,搭载RP2350双核RISC-V和Arm Cortex-M33微控制器!
477 浏览 0 评论
嵌入式学习-搭建自己的ubuntu系统之VMware Tools安装
408 浏览 0 评论
嵌入式学习-搭建自己的ubuntu系统之ubuntu系统安装
658 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10679 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-15 19:13 , Processed in 0.671866 second(s), Total 74, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191