糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > STM32——蓝牙模块HC06

STM32——蓝牙模块HC06

时间:2023-06-01 10:06:45

相关推荐

STM32——蓝牙模块HC06

STM32——蓝牙模块HC06

选用的芯片是STM32F407的芯片,一个HC06的蓝牙模块。

我们采用串口连接,所以我们在芯片原理图找出串口模块。

参数

STM32串口异步通信定义的参数传送格式

起始位

数据位(8位或者9位)

奇偶校验位(第9位)

停止位(1,1.5,2位)

波特率设置

波特率:串行通信的传送速率:在串行通信中,数据是按位进行传送的,因此传送速率用每秒钟传送格式位的数目来表示,称之为波特率(band rate)。每秒传送一个格式位就是1波特。9600bps:每秒传输9600位数据 传输1200个字节 有效960字节

TXD:发送数据 Transmit(tx) Data 简写形式 (另外写法:T TX TD)

RXD:接受数据 Receive(rx) Data 简写形式 (另外写法:R RX RD)

然后找出引脚。

PA2——TX

PA3——RX

然后蓝牙的VCC——5V(开发板)

RX——TX

TX——RX

GND——GND

接上即刻

代码

配置引脚

//蓝牙模块的初始化void HC06_Init(void){GPIO_InitTypeDef GPIO_InitStruct;USART_InitTypeDef USART_InitStruct;NVIC_InitTypeDef NVIC_InitStruct;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_USART2); //引脚进行映射GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_USART2);GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3;GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;GPIO_InitStruct.GPIO_Speed = GPIO_Fast_Speed;GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;GPIO_Init(GPIOA, &GPIO_InitStruct); //初始化引脚A2,A3为复用功能USART_InitStruct.USART_Mode= USART_Mode_Rx|USART_Mode_Tx;USART_InitStruct.USART_BaudRate = 9600;//蓝牙模块的波特率一般为9600USART_InitStruct.USART_Parity = USART_Parity_No;USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;USART_InitStruct.USART_StopBits = USART_StopBits_1;USART_InitStruct.USART_WordLength= USART_WordLength_8b;USART_Init(USART2, &USART_InitStruct); //初始化串口2的接收端和发送端NVIC_InitStruct.NVIC_IRQChannel = USART2_IRQn;NVIC_InitStruct.NVIC_IRQChannelCmd= ENABLE;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0x00;NVIC_InitStruct.NVIC_IRQChannelSubPriority = 0x00;NVIC_Init(&NVIC_InitStruct); //初始化中断向量表USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);//开启接收端的中断USART_Cmd(USART2, ENABLE); //开启串口工作}

如果觉得《STM32——蓝牙模块HC06》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。