平衡车的蓝牙在哪里开启,平衡车蓝牙在哪里打开

首页 > 实用技巧 > 作者:YD1662023-11-16 07:18:39

void uart3_init(u32 bound) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE); //USART3_TX GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //PB.10 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOB, &GPIO_InitStructure); //USART3_RX GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;//PB11 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOB, &GPIO_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1 ; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); //USART USART_InitStructure.USART_BaudRate = bound; 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(USART3, &USART_InitStructure); USART_ITConfig(USART3, USART_IT_RXNE, ENABLE); USART_Cmd(USART3, ENABLE); } u16 USART3_RX_STA=0; u8 USART3_RX_BUF[USART3_REC_LEN]; void USART3_IRQHandler(void) { if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET) { recieve_bluetooth_DATA=USART_ReceiveData(USART3); if((USART3_RX_STA&0x8000)==0) { if(USART3_RX_STA&0x4000) { if(recieve_bluetooth_DATA!=0x0a) USART3_RX_STA=0; else { USART3_RX_STA|=0x8000; } } else { if(recieve_bluetooth_DATA==0x0d)USART3_RX_STA|=0x4000; else { USART3_RX_BUF[USART3_RX_STA&0X3FFF]=recieve_bluetooth_DATA ; USART3_RX_STA ; if(USART3_RX_STA>(USART3_REC_LEN-1)) USART3_RX_STA=0; } } } } }

主函数代码:

平衡车的蓝牙在哪里开启,平衡车蓝牙在哪里打开(5)

蓝牙软件的使用

平衡车的蓝牙在哪里开启,平衡车蓝牙在哪里打开(6)

蓝牙软件的配置

平衡车的蓝牙在哪里开启,平衡车蓝牙在哪里打开(7)

一定要先把软件配置做好,小心出现乱码!!!!

OLED显示

逻辑很简单,就是将串口3的信息显示在OELD上面,只需要读取,然后存入一个变量数组里面就可以。

代码分析:

平衡车的蓝牙在哪里开启,平衡车蓝牙在哪里打开(8)

上一页123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.