标题: 用51做单片机串口实验控制LED小灯时case为什么不能是0,1,2,3 [打印本页]

作者: Mr.king    时间: 2017-4-4 14:18
标题: 用51做单片机串口实验控制LED小灯时case为什么不能是0,1,2,3
用51单片机做串口实验控制LED小灯时case为什么不能是0,1,2,3....      也不能是0x10,0x11,0x12.......           而必须是0x30,0x31,0x32.......       只有这样才能控制

QQ截图20170404141434.png (52.18 KB, 下载次数: 70)

QQ截图20170404141434.png

作者: 胡图图大人    时间: 2017-4-4 14:44
一般不在中断服务里编写过长代码,影响串口接受。你的编写不太规范吧
作者: imxuheng    时间: 2017-4-4 16:08
可以啊,为什么不行
作者: 张勇    时间: 2017-4-4 16:19
case根据接收的数据判断,主要取决于串口发送过来的数据。和进制没关系,编译器会自动把数据转换成二进制代码给MCU处理
作者: Mr.king    时间: 2017-4-5 19:01
胡图图大人 发表于 2017-4-4 14:44
一般不在中断服务里编写过长代码,影响串口接受。你的编写不太规范吧

哦哦,请问应该怎么编写,初学者,求教
作者: zl2168    时间: 2017-4-5 21:40
可以啊,为什么不行?case根据接收的数据判断,主要取决于串口发送过来的数据,和进制没关系。
作者: yzwzfyz    时间: 2017-4-6 11:29
比如你姓张。
在人喊一声“小张”,你会答应一声。
而听到一声“250”,当然你就不会答应。

话虽粗了一点,但能加强记忆,道理一样。

CASE 30:表示它姓“30”
喊它250,它就不执行。
作者: 51Lovers    时间: 2017-4-18 19:58
串行通信发送的是Ascll码,0~31是不可显示字符(当然发送端可以发送此类Ascll码),一般都发送数字和字母,0x30=48(数字0)

ascll.JPG (85.76 KB, 下载次数: 72)

ascll.JPG

作者: 929578750    时间: 2017-4-18 20:06
看数据手册




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1