1 void USART1_IRQHandler(void) 2 { 3 unsigned int i; 4 if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) 5 { 6 RxBuffer1[RxCounter1++] = USART_ReceiveData(USART1); 7 if(RxBuffer1[RxCounter1 - 2] == 0x0d && RxBuffer1[RxCounter1 - 1] == 0x0a) 8 { 9 for(i = 0; i < RxCounter1; i++) TxBuffer1[i] = RxBuffer1[i]; 10 rec_f = 1; 11 TxBuffer1[RxCounter1] = 0; 12 RxCounter1 = 0; 13 } 14 } 15 if(USART_GetITStatus(USART1, USART_IT_TXE) != RESET) 16 { 17 USART_ITConfig(USART1, USART_IT_TXE, DISABLE); 18 } 19 }
注:这样就和和第三节的第一段代码对应了吧~串口中断收到app发来的控制命令的信息存放在TxBuffer1中,通过解析TxBuffer1[0]的值来判断模拟哪个按键按下~
五、APP端的蓝牙代码从哪里找、怎么写
至此,硬件端的设计和编码算是完全搞定了!
1、现在你可以看看我之前写的一篇文章试试能不能在PC的串口助手对被黑的家电进行状态监控和远程控制:
[C#] 编程控制笔记本蓝牙与外部蓝牙设备通信:
2、然后你可以大致浏览下,主要是分析一个可以和HC-06通信的应用细节,小白勿进,前方高能!!
[安卓] 11、串口蓝牙·将软硬结合进行到底:
3、前方还是高能,这一篇主要教你做个简单的蓝牙室内定位~
[安卓] 13、安卓蓝牙定位(一)——如何周期性获得蓝牙节点信号强度?:
4、这个也很高能,不过我使用傻瓜式的讲法讲的,所以可以模仿着做一个:
[智能硬件] 1、三分钟看懂智能硬件原理——蓝牙防丢器制作教程(包括手机应用):
5、这个和上一个一样,是在上一个基础上的加深,任然是面向小白,实现了APP向蓝牙硬件写命令:
[智能硬件] 2、三分钟看懂智能硬件原理——智能玩具小风扇制作教程(包括手机应用开发):
6、下面这个是上面两个同一系列的,实现了蓝牙硬件的APP数据读取,甚高能~
[智能硬件] 3、三分钟看懂智能硬件原理——简易智能手环制作教程(包括炫酷手机客户端开发):
7、上面只是基于HC-06串口透传的APP+蓝牙+硬件的小东西,如果你也认为是小东西,可以深入理解下蓝牙协议栈:
[蓝牙协议栈] 1、蓝牙核心技术了解(蓝牙协议、架构、硬件和软件笔记):
当然,如果你是小白让你自己做个安卓APP来和硬件通信是非常够呛的,我的建议是你先看第一条,搞熟了可以看看4、5两条,然后基本上可以看看其他的自由发挥了~
针对于本文的硬件电路我建议先看第一条,先能用PC控制硬件~就这样!
福利:
上述硬件代码链接:
为了保护需求提出方的权益(昨天刚交付),这里的app就暂时不开源了,大家可以感受一下(虽不是特很大,也稍微有点麻烦):
其中包括的技术点:
①、NFC靠近自启APP
②、侧滑的设计
③、一个稍微复杂的ListView嵌套GridView页面
④、拍照与文件读取
⑤、蓝牙通信相关
⑥、自定义bar、自定义动画、自定义部分UI
如果赞过22我就把家里的电热壶改成上面的"智能水壶",并且分享软件和硬件全部代码哦~
赞点起来~~~
OK,你已经可以把家里的冰箱、电视、饮水机拆了搞起来了~
@beautifulzzzz
2015-11-16 持续更新中~