找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6044|回复: 3
打印 上一主题 下一主题
收起左侧

蓝牙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, 下载次数: 95)
[官方]汇承HC-05蓝牙串口模块使用规格书(含指令集).pdf (1.56 MB, 下载次数: 33)





评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:378239 发表于 2018-7-23 23:45 | 只看该作者
貌似不错,准备下载来看看
回复

使用道具 举报

板凳
ID:186936 发表于 2018-7-24 17:02 | 只看该作者
下载不了怎么
回复

使用道具 举报

地板
ID:418770 发表于 2020-1-26 10:15 | 只看该作者
app 是源码的吗?是什么写的?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表