


看过上篇
的小伙伴们,今天我们就接着做单片机HC-06蓝牙手机通讯实验: 首先我们要明白:
单片机与串口设备(如GPRS模块、载波芯片等)通信时,一律将RXD与TXD反接,即单片机的RXD接设备的TXD,单片机的TXD接设备的RXD。(特殊标注其RXD与单片机RXD直连的除外,如华为的EM310)
Tips:笨一点的就是都试一遍看那个接法行得通就OK咯,反正只需要动两根线,也不麻烦。
然后先用TTL给单片机烧录一套可以一秒发送一个"hello world!"的小程序:

我们先宏定义一下
Tips:其实STM32F1系列的程序都是可以互通的只是头文件不同(IO口什么的对着原理图改改就好),但是不要用别人自己撰写的头文件当作STM32F1系列的头文件名使用哦。

主函数
我们一定要养成一个良好的编程习惯,它会为你解决很多不必要的麻烦。

三个初始化小函数
Tips:初始化STM32F103C8T6时为什么要将PA9和PA10配置成:
复用功能的推挽输出_AF_PP 和 GPIO_Mode_IPU上拉输入呢?
关于这一点我们就要了解一下:

是的我百度的
然后查阅一下HC-06的资料:

也是我百度的
还有一点:

还是我百度的
我们知道PA9和PA10是:
复用的内置外设输出 和 复用的内置外设输入
所以我们就这样的配置完成了。
然后小功能函数:

延时小函数和字符打印小函数
然后就是烧录了:
将板子上:
BOOT0—>1
BOOT1—>0
烧录模式下用TTL连接烧录。
Tips:有时候烧录不进去需要复位一下板子。
然后拔下TTL用稳定的5V供给HC-06,并接在板子上。
Tips:接线方法看我上一篇HC-06有写哦。
注意:程序在断电复位之后是不会自动运行的,这也是为什么总是大家抱怨怎么检查都找不到的原因,我们需要将BOOT0—>0,程序才会运行。

手机和单片机连接上
就能看到现象啦:

1S打印一个
希望对你有帮助!