标题: 蓝牙hc程序源码(实现APP与单片机的通信) [打印本页]

作者: 筱筱123    时间: 2018-5-17 16:37
标题: 蓝牙hc程序源码(实现APP与单片机的通信)
文件中Readme文件有连线方式,压缩包含程序源码,用keil打开口按照接线方式即可通行。
拿出来与大家分享,程序不复杂,只要有一点单片机的基础即可,,
能力有限,欢迎私聊讨论指出不足,不懂连线或其它地方也可私聊进行讨论学习。
MCU:STM32F103
1、通过手机APP发送数据
2、通过手机APP发送指令
指令1:led0      控制led0灯状态的反转
指令2:led1      控制led1灯状态的反转
指令3:beep      控制蜂鸣器的开关
指令4:lcdwrite   lcd      显示一条标语 手机
可接收来自单片机的数据,也可发送数据给单片机,
蓝牙采用hc05从机模式接线方式:本程序采用usart3与蓝牙进行通信,蓝牙的RX引脚接usart3的TX,
蓝牙的Tx接usart3的rx引脚,VCC接3.3V电源,KEY引脚接PA4,STATE引脚接PA15(若使用51单片机,请选用一份调试好串口的程序,将该程序进行部分移植即可)


蓝牙指令:
AT                           OK
AT+VERSION?                    +VERSION:hc01.comV2.1
AT+NAME?                    +NAME:MrWang\r\n
at+name=MrWang                OK
AT+ PSWD?                    +PSWD:123321   
AT+ UART?                    +UART:9600,1,0
AT+UART=9600,1,0            OK
AT+RESET                    OK
AT+ ROLE?                    +ROLE:0

单片机源程序如下:
  1. //寄存器开发版本:原子开发板stm32f103  
  2. #include "sys.h"
  3. #include "delay.h"
  4. #include "usart.h"
  5. #include "lcd.h"
  6. #include "key.h"
  7. #include "usart3.h"
  8. #include "HC05.h"
  9. #include "string.h"
  10. #include "lcd.h"
  11. #include "led.h"
  12. #include "beep.h"
  13. int main(void)
  14. {
  15.         u16 reclen=0;
  16.         Stm32_Clock_Init(9);
  17.         delay_init(72);
  18.         KEY_Init();
  19.         HC05_Init(9600,36);
  20.         uart_init(72,115200);
  21.         LCD_Init();
  22.         LED_Init();
  23.         BEEP_Init();
  24.         while(1)
  25.         {
  26.                 if(USART3_RX_STA&0X8000)  //说明接收到数据,不懂就看usart3的中断处理函数
  27.                 {
  28.                         reclen=USART3_RX_STA&0X7FFF;        //得到数据长度
  29.                           USART3_RX_BUF[reclen]=0;                 //加入结束符
  30.                         //指令的匹配函数,没有应用到工程,这里就直接用if逐个判断了
  31.                         if(!strcmp("led0",(const char*)USART3_RX_BUF))
  32.                         {
  33.                                 LED0=~LED0;
  34.                         }
  35.                         else if(!strcmp("led1",(const char*)USART3_RX_BUF))
  36.                         {
  37.                                 LED1=~LED1;
  38.                         }
  39.                         else if(!strcmp("beep",(const char*)USART3_RX_BUF))
  40.                         {
  41.                                 BEEP=~BEEP;
  42.                         }
  43.                         else if(!strcmp("lcdwrite",(const char*)USART3_RX_BUF))
  44.                         {
  45.                                 POINT_COLOR=RED;
  46.                                 BACK_COLOR=DARKBLUE;
  47.                                 LCD_ShowString(30,160,200,16,16,(u8*)"blue templete  .......");
  48.                         }
  49.                         u3_printf("【发送数据】:%s\r\n",USART3_RX_BUF); //回显函数
  50.                         USART3_RX_STA=0;
  51.                 }
  52.                 if(!KEY0)
  53.                 {
  54.                         SendData((u8*)"你好啊");  //做测试用
  55.                 }
  56.         }
  57. }
复制代码

所有资料51hei提供下载:
BULE(HC05).rar (1.23 MB, 下载次数: 96)
[官方]汇承HC-05蓝牙串口模块使用规格书(含指令集).pdf (1.56 MB, 下载次数: 34)






作者: BIE初学者    时间: 2018-7-23 23:45
貌似不错,准备下载来看看
作者: wxc19960311    时间: 2018-7-24 17:02
下载不了怎么

作者: dasme    时间: 2020-1-26 10:15
app 是源码的吗?是什么写的?





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1