完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
部分程序如下:
RI=0; while(1) //等待接收第1个字节,触摸后,每组第1字节一定是0A0H { while(RI==0); RI=0; if(SBUF==0xA0) break; }; while(RI==0); RI=0; x=SBUF; //接收第2个字节,低4位是X坐标的D9-D6位,高4位为0. while(RI==0); RI=0; x=(x<<6)|SBUF; //收第3个字节,低6位时X坐标的D5-D0位,高2位为0. while(RI==0); RI=0; y=SBUF; //接收第4个字节,低4位时Y坐标的D9-D6位,高4位为0. while(RI==0); RI=0; y=(y<<6)|SBUF; //接收第5个字节,低6位时Y坐标的D5-D0位,高2位为0. |
|
相关推荐
7个回答
|
|
while(1) //等待接收第1个字节,触摸后,每组第1字节一定是0A0H
{ while(RI==0); RI=0; if(SBUF==0xA0) break; while(RI==0); RI=0; x=SBUF; //接收第2个字节,低4位是X坐标的D9-D6位,高4位为0. while(RI==0); RI=0; x=(x<<6)|SBUF; //收第3个字节,低6位时X坐标的D5-D0位,高2位为0. while(RI==0); RI=0; y=SBUF; //接收第4个字节,低4位时Y坐标的D9-D6位,高4位为0. while(RI==0); RI=0; y=(y<<6)|SBUF; //接收第5个字节,低6位时Y坐标的D5-D0位,高2位为0. }; 试试,都不知道你要干嘛的。
最佳答案
|
|
|
|
while(1) //等待接收第1个字节,触摸后,每组第1字节一定是0A0H
{ while(RI==0); RI=0; if(SBUF==0xA0) break; }; 这个之后能跳出来吗???? |
|
|
|
我不太清楚,因为这部分是网上找的,而且编的程序其他部分都对着呢除了这部分,但是不清楚这部分到底哪出错了,第一次写关于串行接收的程序,没经验,能给个串行接收多字节的程序最好。 |
|
|
|
我已经解决了,加了串行中断,但现在我还有个问题想问你。就是我要接受三次串行数据间隔为20ms,是不是每次接受完数据,都要清RI,然后再重新初始化串口,还是该怎么弄。 |
|
|
|
是,RI需要手动清零。不需要重新初始化串口程序。定时器是自动重装载TMOD=0x20;
|
|
|
|
支持支持,谢谢谢
|
|
|
|
支持支持,谢谢谢谢!!!!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
726 浏览 0 评论
777 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
680 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1149 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1120 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11806 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 15:10 , Processed in 0.872787 second(s), Total 84, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号