pz-hc05蓝牙模块开发手册普中stm32f4开发板_第1页
pz-hc05蓝牙模块开发手册普中stm32f4开发板_第2页
pz-hc05蓝牙模块开发手册普中stm32f4开发板_第3页
pz-hc05蓝牙模块开发手册普中stm32f4开发板_第4页
pz-hc05蓝牙模块开发手册普中stm32f4开发板_第5页
已阅读5页,还剩22页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、开源共携手共普技:开源共携手共普技:PZ-HC05 蓝牙串口模块开发手向大家介绍 PZ-HCSTM32F4使用 PZ-HC051PZ-HC05PZ-HC05 蓝牙串口模块开发手向大家介绍 PZ-HCSTM32F4使用 PZ-HC051PZ-HC052341PZ-HC051.1 PZ-HC05、 PDA、 PSP特率范围:480013824005V3.3V1PZ-HC051.1 PZ-HC05、 PDA、 PSP特率范围:480013824005V3.3V(接近配对未通信的电流)1.2 1.2.1 PZ-HC05(20.37mm*38.84mm)12*42.54:16:另外,模块自带了一个状态指

2、示灯: STA。该灯有 31(SET(VCC6:另外,模块自带了一个状态指示灯: STA。该灯有 31(SET(VCC,此时 STA 慢闪( 1 秒亮 1 次),模块进入 AT384002SETGNDSTA(1状态,但是 STA3,模块配对成功,此时 STA 双闪(一次闪 2 下, 2 秒闪一次)有了 STAHC05 蓝牙指令集.pdfPZ-HC05(3.3V/5V)2PZ-:1.2.2 (1)AT及测PZ-HC05AT用户常用的几个 AT 指令,详细的指令集,请参考 HC05 蓝牙指令集.pdf1.进入ATPZ-:1.2.2 (1)AT及测PZ-HC05AT用户常用的几个 AT 指令,详细的

3、指令集,请参考 HC05 蓝牙指令集.pdf1.进入AT有 2 种方法使模块进入 ATSETVCCAT模块上电后,通过将 SETVCC,使模块进入 AT方法 1 位停止位)。方法 2 进入 AT2.指令结3模块的指令结构为: AT+,其中 CMD(指令)和 PARAM(串口发送: 模块回应: :2.0-3.常用指令说明及测RS232修改模块主从模块的指令结构为: AT+,其中 CMD(指令)和 PARAM(串口发送: 模块回应: :2.0-3.常用指令说明及测RS232修改模块主从AT+ROLE=0 或 1:AT+ROLE+ROLE:0,发送 AT+ROLE=1,即可设置模块为主机,设置成功模

4、块返回 OK设指AT+CMODE=1,4默认设置为该参数。AT+CMODE=0,最后一次配Param1、Param20 表示 1表示 2Param3默认设置为该参数。AT+CMODE=0,最后一次配Param1、Param20 表示 1表示 2Param30示没有校验位( None), 表示奇校验( Odd),2 表示偶校验( Even)发送: AT+UART=9600,0,0,则是设置通信波特率为 9600, 1password4AT+NAME=,该指令用于设置模块的名字, nameASCII32HC05如发送:AT+NAME=PZ-HC05,即可设置模块名字为“PZ-HC05”2 (1)D

5、1、D2(2)K_UP、K_DOWN(3)1(4)TFTLCD(5)PZ-HC05PZ-HC055STM32WIFI(PZ-WIFI-ESP8266PZ-HC05PZ-S1216F8-BDGPS),:RS232 模块 也是 使用串 口 3PZ-WIFI-ESP8266STM32WIFI(PZ-WIFI-ESP8266PZ-HC05PZ-S1216F8-BDGPS),:RS232 模块 也是 使用串 口 3PZ-WIFI-ESP8266PZ-HC05PZ-S1216F8-GPSRS232P4COM3M(丝印):TXDRXD,RXDTXD设本实验所实现的功能为:开机检测 PZ-HC0536接状态,

6、 D1K_DOWN自动发送数据(通过蓝牙模块发送);按 K_UPLCD(ASCII)合V0.16.apk), 可以实现D2APP和hc05.cusart3.hhc05.h里u8 接状态, D1K_DOWN自动发送数据(通过蓝牙模块发送);按 K_UPLCD(ASCII)合V0.16.apk), 可以实现D2APP和hc05.cusart3.hhc05.h里u8 / 接收 缓冲 , 最大USART3_MAX_RECV_LEN大USART3_MAX_SEND_LEN210ms210ms110ms/15:0,没有接收到数据;1,7/14:0:u16 void USART3_Init(u32 GPIO

7、_InitTypeDef USART_InitTypeDef NVIC_InitTypeDef 能GPIOARCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);/ 使能USART33/USART3/14:0:u16 void USART3_Init(u32 GPIO_InitTypeDef USART_InitTypeDef NVIC_InitTypeDef 能GPIOARCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);/ 使能USART33/USART3GPIO_InitStruct

8、ure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;/GPIO_InitStructure.GPIO_Speed = / 度GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;/Usart3 NVIC8NVIC_InitStructure.NVIC_IRQChannel = NVIC_InitStructure.NVIC_IRQChannelSubPrio

9、rity = NVIC_InitStructure.NVIC_IRQChannelCmd = NVIC_Init(&NVIC_InitStructure);VIC器/USART3USART_InitStructure.USART_BaudRate bound;/= 8its NVIC_InitStructure.NVIC_IRQChannel = NVIC_InitStructure.NVIC_IRQChannelSubPriority = NVIC_InitStructure.NVIC_IRQChannelCmd = NVIC_Init(&NVIC_InitStructure);VIC器/U

10、SART3USART_InitStructure.USART_BaudRate bound;/= 8its its_1;/USART_InitStructure.USART_ParityUSART_Parity_No;/位=USART_HardwareFlowControl_None;/USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Init(USART3, &USART_InitStructure);USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);/断USART_Cmd(USART3, 9_In

11、it(100-1,8400-/10msvoid USART3_IRQHandler( void u8 us(USART3,USART_IT_RXNE)RESET)/据res if(USART3_RX_STA&(115)=0)/接收完的一批数据,还没有被if(USART3_RX_STAUSART3_MAX_RECV_LEN) /还可以接收数据TIM_SetCounter(TIM7,0);/7_Init(100-1,8400-/10msvoid USART3_IRQHandler( void u8 us(USART3,USART_IT_RXNE)RESET)/据res if(USART3_RX_S

12、TA&(115)=0)/接收完的一批数据,还没有被if(USART3_RX_STAUSART3_MAX_RECV_LEN) /还可以接收数据TIM_SetCounter(TIM7,0);/7TIM_Cmd(TIM7,ENABLE);/接收到/强制标记接收完成fUSART3_MAX_SEND_LENvoid f(char* u16 va_list i=strlen(const us(USART3,USART_FLAG_TC)=RESET);这部分代码主要实现了串口3/强制标记接收完成fUSART3_MAX_SEND_LENvoid f(char* u16 va_list i=strlen(con

13、st us(USART3,USART_FLAG_TC)=RESET);这部分代码主要实现了串口33ff,33usart3.h来看下 HC05/返回值:0,成功;1,u8 u8 u8 GPIO_InitTypeDef usart3.h来看下 HC05/返回值:0,成功;1,u8 u8 u8 GPIO_InitTypeDef GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; /LEDGPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;/GPIO_InitStructure.GPIO_Speed = GPIO_InitStruct

14、ure.GPIO_PuPd = GPIO_PuPd_UP;/GPIO_Init(GPIOF, GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;/KEYGPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;/GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;/GPIO_InitStructure.GPIO_Speed = GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;/GPIO_Init(GPIOC, 2:9600,while(retry-/K

15、EYATGPIO_Init(GPIOF, GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;/KEYGPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;/GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;/GPIO_InitStructure.GPIO_Speed = GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;/GPIO_Init(GPIOC, 2:9600,while(retry-/KEYATAT/KEYAT50msHC05if(USA

16、RT3_RX_STA&0X8000)temp=0;/OKreturn HC05/返回值:0,从机;1,主机;0XFF,u8 u8 u8 while(retry-temp=0;/OKreturn HC05/返回值:0,从机;1,主机;0XFF,u8 u8 u8 while(retry-/KEYATf(AT+ROLE?rn); /查询角色200msHC05/KEYATif(USART3_RX_STA&0X8000)if(temp=13&USART3_RX_BUF0=+)/temp=USART3_RX_BUF6-0;/if(retry=0)temp=0XFF;/return /HC05HC05,OK

17、/KEYATif(USART3_RX_STA&0X8000)if(temp=13&USART3_RX_BUF0=+)/temp=USART3_RX_BUF6-0;/if(retry=0)temp=0XFF;/return /HC05HC05,OKAT/atstr:AT 指令串. 比如/返回值:0,u8 HC05_Set_Cmd(u8* u8 u8 while(retry-/KEYATf(%srn,atstr); /发送 AT/KEYAT100msHC05if(USART3_RX_STA&0X8000)if(temp=4&USART3_RX_BUF0=O)/if(retry=0)temp=0XF

18、F;/f(%srn,atstr); /发送 AT/KEYAT100msHC05if(USART3_RX_STA&0X8000)if(temp=4&USART3_RX_BUF0=O)/if(retry=0)temp=0XFF;/return 此部分代码总共 31,HC05_InitPZ-HC05IOAT 指令检测 PZ-HC052,HC05_Get_Role 函数,该函数用于获取 PZ-HC05这里利用 AT+ROLE?3,HC05_Set_CmdPZ-HC05通过调用该函数,可以方便的修改 PZ-HC05hc05.hmain.cHC05void else LCD_ShowString(10,1

19、40,200,16,16,ROLE:Slave HC05void hc05.hmain.cHC05void else LCD_ShowString(10,140,200,16,16,ROLE:Slave HC05void else 分组 分2/LCDBT05 BlueTooth 分组 分2/LCDBT05 BlueTooth HC05LCD_ShowString(10,90,200,16,16,HC05 LCD_ShowString(10,90,200,16,16,Please LCD_ShowString(10,90,210,16,16,K_UP:ROLE LCD_ShowString(10

20、,110,200,16,16,HC05 HC05LCD_ShowString(10,90,200,16,16,HC05 LCD_ShowString(10,90,200,16,16,Please LCD_ShowString(10,90,210,16,16,K_UP:ROLE LCD_ShowString(10,110,200,16,16,HC05 else HC05else else HC05 LCD_ShowString(10+40,160,200,16,16,sendbuf); /显示HC05 t);HC05else else HC05 LCD_ShowString(10+40,160,200,16,16,sendbuf); /显示HC05 t);LCD_Fill(10,20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论