完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请教一下大家,PC给单片机通过串口发汉字,单片机端如何判断汉字,并执行相应的程序。
比如说 PC发送“亮” ,单片机执行LED亮,发送“灭”,单片机执行LED灭 我在测试过程中先通过发送数字判断数字进行操作,不能准确判断发送的数字,是因为进制的问题吗?
|
|
相关推荐
7个回答
|
|
最好贴上相关部分的程序
|
|
|
|
|
|
|
|
要注意你的数据格式,由pc发送的数据是ascii还是hex格式,5在ascii格式里应该是16进制为0x35,在hex格式里应该是16进制为0x05。
另外如何判断是进入了else,如果是看整个p2口的输出,那容易判断,但是如果看p2.0的话,0x01和0x33的位0均为1。 |
|
|
|
人中狼 发表于 2017-11-3 15:07 那如果我判断是否是一个汉字 比如是否为“亮” 怎么判断呢 |
|
|
|
用串口发送汉字没有实际意义,需要自定义通讯协议发送汉字编码,还得费脑筋写解析程序。只有操作汉字显示器件用汉字字符才有实际意义。
|
|
|
|
中文是两个字节的,比如:亮->0xc100,灭->0xF000,按原理来说pc机发送给单片机一个亮字,单片机接收到的其实是0xc1和0x00这两个数字,但是这样很容易出问题,比如只接收到0xc1。建议用数字1代表开,0代表灭,这样子你不用查汉字编码表,直接查asc表就行了。0对应就是0x30,1对应就是0x31.如果说判断不准确那就是波特率不一致的问题了。
|
|
|
|
我提醒一下楼主KEIL C51编译汉字编码时对一些汉字有BUG。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-网络编程示例之网络socket程序编程
492 浏览 0 评论
飞凌嵌入式-ELFBOARD-RGB LCD屏接口的PCB设计要点
755 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-spi编程示例之spi编写程序
848 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第三十七章 image图像对比实验
814 浏览 0 评论
1056 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11697 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-14 14:20 , Processed in 0.743392 second(s), Total 53, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号