完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
单片机A发送数组,单片机B接收数组,然后单片机B控制1062显示数组,通讯这一块一直做不出来
发送 void cuan() interrupt 4 { unsigned char z=0; //uchar date; //date=SBUF; //取出接受到的数据 //RI=0; //清除接受中断标志位 for (z=0;z<8;z++) { SBUF = TempData[z]; while(!ti); TI=0; } 接收 void ser() interrupt 4 { unsigned char a; RI = 0; a = SBUF; z++; if(z==8) { z = 0; } } |
|
相关推荐
6个回答
|
|
|
|
[AppleScript] 纯文本查看 复制代码
//发送unsigned char z=0;ES=0;//查询法不要开中断for (z=0;z<8;z++){ SBUF = TempData[z]; while(!TI); TI=0;}ES=1;接收char TempData_RX[8];void ser() interrupt 4{ static int z=0; unsigned char a; RI = 0; TempData_RX[z++] = SBUF; if(z==8) { z = 0; }} 没测试过,基本思路是这样 |
|
|
|
接收函数中 a只是局部变量,没有赋值给全局变量或者有输出接口,怎么发送,每次中断都会更新a的值 ,a的值最后只是数组的最后一个值并且没有输出。
|
|
|
|
你接受的数据,没有赋值数组,无法正确显示
|
|
|
|
网上有串口数据收发例程,你先学习下
|
|
|
|
确认线路连接是否正确,发送数据不要放在中断里,只开启接收中断,发送不产生中断。可以用串口助手调试发送和接收数据是否正确,正确后再两个机子联调
|
|
|
|
只有小组成员才能发言,加入小组>>
3280 浏览 9 评论
2958 浏览 16 评论
3460 浏览 1 评论
9004 浏览 16 评论
4052 浏览 18 评论
1117浏览 3评论
573浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
571浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2304浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1860浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 06:38 , Processed in 0.921178 second(s), Total 88, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号