STM32F4单片机源程序如下:
- #include "system.h"
- #include "SysTick.h"
- #include "led.h"
- #include "usart.h"
- #include "tftlcd.h"
- #include "string.h"
- /* BT05蓝牙模块的接线方法:
- STATE:PC1
- RXD:PA9
- TXD:PA10
- GND:GND
- VCC:3.3V
- EN:PC6
- 程序下载进去后可以使用模块提供的安卓APK应用连接蓝牙模块BT05,连接好后
- 指示灯D3亮,LCD显示连接,否则灭,LCD显示未连接。通过提供的APK软件进行发送和接收测试
- 手机测试软件在String上会显示hello world
- 也可以使用串口调试助手观察测试。*/
- #define BUFC 600
- u8 RX_BUF[BUFC];
- vu16 jq =0;
- void USART1_IRQHandler();
- int main()
- {
- u8 t=0,k=0;
- u8 i ,j;
- u8 rx_buf[BUFC];
- SysTick_Init(168);
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断优先级分组 分2组
- USART1_Init(9600);
- LED_Init();
- TFTLCD_Init();
-
- FRONT_COLOR=GREEN;
- LCD_ShowString(10,10,tftlcd_data.width,tftlcd_data.height,16,"PRECHIN");
- LCD_ShowString(10,30,tftlcd_data.width,tftlcd_data.height,16,"123456");
- // LCD_ShowString(10,50,tftlcd_data.width,tftlcd_data.height,16,"DX-BT05 Test");
-
- FRONT_COLOR=RED;
- while(1)
- {
- if(strcmp((const char*)RX_BUF,"w")==0)
- { LCD_ShowString(10,110,tftlcd_data.width,tftlcd_data.height,16,"DX-BT05 Connect...");
- l1=1;
- l2=0;
- USART1_IRQHandler();
- }
- if(strcmp((const char*)RX_BUF,"s")==0)
- {
- l1=1;
- l2=1;
- USART1_IRQHandler();
- LCD_ShowString(10,50,tftlcd_data.width,tftlcd_data.height,16,"DX-BT05 Test");
- }
-
- }
-
- }
- void USART1_IRQHandler(void) //串口1中断服务程序
- { u8 r;
- if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中断
- {
- r =USART_ReceiveData(USART1);//(USART1->DR); //读取接收到的数据
- if(jq<BUFC)
- {
- RX_BUF[jq++]=r;
-
- }
- jq=0;
- // USART_SendData(USART1,r);
- //
- // while(USART_GetFlagStatus(USART1,USART_FLAG_TC) != SET);
- }
- USART_ClearFlag(USART1,USART_FLAG_TC);
-
- }
复制代码
所有资料51hei提供下载:
BT05蓝牙程序.7z
(374.37 KB, 下载次数: 64)
|