完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
请问各位大佬,我做的两个单片机之间用蓝牙模块进行通信时,在proteus上仿真(蓝牙我直接用导线代替)时很成功,但是用实物时就一点反应都没有。下面是代码,功能是控制主机的矩阵键盘,在从机上显示矩阵键盘上按下的按键号。
/************************************************** 主机部分 ******************************************/ #include #define u8 unsigned char #define u16 unsigned int u8 res;//存储键盘扫描的结果,用来判断按下的是哪个按键 void Init_master() { TMOD=0X20; TH1=0Xf9; TL1=0Xf9; PCON=0X80; TR1=1; SCON=0X50; } unsigned char scan_key() { P2 = 0xf0; switch (P2) { case 0x70: res = 0; break; case 0xb0: res = 1; break; case 0xd0: res = 2; break; case 0xe0: res = 3; break; default:res=16; } P2 = 0x0f; switch(P2) { case 0x07: res = 0 + res; break; case 0x0b: res = 4 + res; break; case 0x0d: res = 8 + res; break; case 0x0e: res = 12 + res; break; default:res=16; } return res; } void main() { while(1) { u16 i=500,j=500; Init_master(); //调用串口初始化函数 scan_key();//调用键盘扫描函数 SBUF=res; //将扫描到的键值发送出去 while(!ti); //检测是否发送完成,完成则讲TI清零 TI=0; } } /*********************************************************** 从机部分 ************************************************************/ #include #define u8 unsigned char #define u16 unsigned int u8 res; u8 seg[17]= { 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x00 }; void Init_slave() { TMOD=0X20; //设置定时器1工作在模式2 TH1=0Xf9; // 设定波特率为9600 TL1=0XF9; PCON=0X80; //smod0=1; TR1=1; //打开定时器1 SCON=0X50; //设置串口控制寄存器,使之工作在方式1 EA=1; //打开总中断 ES=1; //打开串口中断 } void main() { Init_slave(); //调用串口初始化函数 while(1); } void slave()interrupt 4 //中断服务函数 { RI=0; //将接收中断清零,等待下一次接收 res=SBUF; //将缓存区的值通过p1口输出 P1=seg[res]; } |
|
相关推荐
1 条评论
4个回答
|
|
|
|
|
|
|
|
|
另外,我还有个疑问。就是我是用蓝牙的rx和tx对应的与单片机的rx和tx连接然后经单片机通过USB线与电脑相连,然后用电脑上的串口调试软件来给蓝牙发送at指令,发送指令之前需要调串口的波特率只有与蓝牙的一致才能发送指令,蓝牙默认是34800,当我在波特率为34800时设置蓝牙波特率为9600后,再次上电后,只有我把串口软件的波特率调成34800才能发送指令,我的疑问就是为啥之前已经修改过了,但是现在还是要选之前的波特率。51小白一只,请大佬带飞,非常感谢!
|
|
|
|
|
|
现在的蓝牙模块很简单的,买来直接连上就是串口使用,不需要任何设置
|
|
|
|
|
|
你好,请问你的问题是如何解决的,我遇到了跟你一样的问题,能否帮忙回答一下,谢谢!
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
528 浏览 0 评论
654 浏览 0 评论
858 浏览 0 评论
837 浏览 0 评论
RT-Thread与英飞凌(infineon)合作得板子PSOC 6 板子学习
770 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
17064 浏览 31 评论
浏览过的版块 |
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 23:58 , Processed in 0.949700 second(s), Total 91, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2563