HC06蓝牙模块来点亮stm32GPIO口外设(以点亮三个LED灯为例)

首先我使用的是HC06蓝牙模块:

这是关于HC06接口的情况,HC06内部的VCC可以是3.6V-6V,但是实际情况下我用面包板的正极线也能点亮蓝牙

外设接线分别是:蓝牙模块的VCC和GND分别接在面包板上,而他的RXD和TXD就是关键的数据包传输线路,最重要的就是利用蓝牙模块的这两个接口完成输出与输入。其他的接口并不需要说,就是ST-link来对stm32供电且下载数据:VCC和GND分别连接STM32最小系统板的VCC和GND,ST -link的SWDIO和SWCLK分别连接好最小系统板,并给面包板一侧的上下两路连接stm32上的正极负极通电,这里主要用于外部通讯的GPIO口分别是:PA9和PA10!!!

关键:PA9连接RXD,PA10连接TXD(由程序来定)

LED灯或者外部外设连接在PA1和PA2以及PA3,我用的是红黄蓝三种颜色的LED来表示,串口通信我们都学过是由主要的RXD和TXD来进行传输的为了表示实现现象的反馈我又外接了4针的OLED显示屏来显示:

外设连接好后下面进行代码的分析:

LED灯的初始化代码和点亮函数:

 

 下面进行USART1的配置和数据包的程序编写:

 

 

主函数的编写:

 

 

 

此处的具体细节就是设置数据包的传输格式

下面进行蓝牙的连接 :

蓝牙模块要先进行AT配置(具体可以参照其他博主的教程)提示灯闪烁 说明蓝牙待连接:

 

 

 

 

 即可完成实验的现象,需要注意的是在蓝牙调试器中输入数据包时注意设置的格式以及需要换行符,依次可以实现

@RON(红灯亮)

@ROFF(红灯灭)

@BON(蓝灯亮)

@BOFF(蓝灯灭)

@YON(黄灯亮)

@YOFF(黄灯灭)

@ALLON(所有灯亮)

@ALLOFF(所有灯灭)

以及错误信息的提醒;通过该实验实现了GPIO口外设的启动,从而可以延申用蓝牙模块来控制其他GPIO口的外设

 


版权声明:本文为weixin_60795277原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。