完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想给 m 换成m1怎么改程序呢? 哪位大神指点一下,关于串口的
void serial_port_init() { TMOD=0x20; TH1=0xfd; //9600 TH2=0xfd; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1; } void duan() interrupt 4 { RI=0; s_flag=SBUF; switch(s_flag) { case 'm' : wela=1;P0=0xfe;wela=0;dula=1;P0=0xff;dula=0;break; //怎样设置成m1 case 'l' : P1=0xfe;break; case 'b' : beer=~beer;delay_1ms(500);beer=1;break; } } |
|
相关推荐
7个回答
|
|
云汉达人
由于内容比较多,所以只好单独发帖给你做解答了,详细实现方法请看这里(有验证): 单片机与PC通信之单片机接收字符串详解! http://www.icxbk.com/community/forum.php?mod=viewthread&tid=72601 (出处: ICKEY BBS) |
|
|
|
云汉达人
case 'm'时保存一个全局变量,当s_flag下一次是'1'的时候,再做case 'm'里的那些操作。如果s_flag下一个字符不是‘1’则清空全局变量。 |
|
|
|
设置,同时接收到M和1的时候才触发事件就好
|
|
|
|
以下是參考設計
char flag_m = 0; void duan() interrupt 4 { RI=0; s_flag=SBUF; switch(s_flag) { case '1' : if(flag_m==1) { wela=1; P0=0xfe; wela=0; dula=1; P0=0xff; dula=0; } flag_m=0; break; // 怎样设置成m1 case 'm' : flag_m=1; break; case 'l' : flag_m=0; P1=0xfe; break; case 'b' : flag_m=0; beer=~beer; delay_1ms(500); beer=1; break; } } 供參考 |
|
|
|
|
|
|
|
|
|
|
|
m1是字符窜了,要改的话很麻烦啊
|
|
|
|
只有小组成员才能发言,加入小组>>
738 浏览 0 评论
1134 浏览 1 评论
2513 浏览 5 评论
2847 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2693 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1002浏览 3评论
179浏览 2评论
441浏览 2评论
350浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
440浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-6 13:17 , Processed in 1.128752 second(s), Total 90, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号