【航顺HK32F103A开发板试用】+串口及蓝牙通讯

2026-09-22 08:59:54浏览0
0
Star

航顺HK32F103A开发板具有相应的串口资源,将它与蓝牙透传模块相结合即可与手机进行数据交换。

1.串口通讯

使用USART1的PA9和PA10,与USB/TTL模块相连接可进行串口通讯的测试:

具体的引脚连接关系为:

RXD---PA9

TXD---PA10

图1器件连接

配置USART1的函数为:

void USART1_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOA, &GPIO_InitStructure);   
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
USART_InitStructure.USART_BaudRate = 115200;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No ;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(USART1, &USART_InitStructure);
USART_Cmd(USART1, ENABLE);
}

串口收发应答的函数为:

void UART1Test(void)
{
       unsigned char i = 0;
       while(1)
       {    
		   while(UART1GetByte(&i))
           {
              USART_SendData(USART1,i);
           }      
       }     
}

功能测试的主程序为:

int main(void)
{	     
  SystemInit();   
  USART1_Config();
  while (1)
  {	 
    UART1Test();
  }
}

经程序的编译和下载,其测试结果见图2所示,说明程序正确。

图2 测试结果

2.蓝牙通讯

蓝牙透传模块是一种快速将串口通讯升级为蓝牙通讯的功能器件,用它替代先前的串口转换模块即可将开发板的串口通讯升级为蓝牙通讯,进而可与蓝牙手机进行数据交换。

蓝牙模块通讯功能测试,见图3至图7所示。

图3 扫描蓝牙设备

图4 串口发送数据

图5 蓝牙接收数据

图6 蓝牙发送数据

图7串口接收数据

在按图8完成蓝牙模块连接的情况下,进行收发测试的结果见图9所示。

图8连接蓝牙模块

图9蓝牙收发数据

这样,以后我们就可以通过手机来控制开发板啦!