在线时间828 小时
UID3079326
注册时间2015-2-11
NXP金币28
TA的每日心情 | 奋斗 2025-5-7 09:07 |
---|
签到天数: 353 天 连续签到: 1 天 [LV.8]以坛为家I
金牌会员
 
- 积分
- 5785
- 最后登录
- 2025-5-7
|
本帖最后由 wambob 于 2016-4-5 14:00 编辑
一:透传蓝牙模块的傻瓜式体验
硬件准备: 1. HC-05 主从机一体无线蓝牙串口透传模块
2 USB转串口或带虚拟串口的ST-Link等。
3.KL27 mini 板
软件:
1.串口助手
2. 蓝牙串口助手
目的:在AT模式下修改串口波特率,使用蓝牙串口发送数据测试模块,然后控制KL27
模块原理图:
连线:硬件1:VCC、GND、RX、TX--->硬件2:VCC、GND、TX、RX
上电后,按住原理图上S1对应模块的按键,发送查询命令AT+UART?,我已经改为115200,1停止位,无校验了
蓝牙APP发送数据
串口助手显示
二:KL27 板与蓝牙模块的通讯
是用手机APP端控制KL27板上的小灯。中断接收使用例程UART-echo稍作修改
主代码
- #include <stdio.h>
- #include <string.h>
- #include "common.h"
- #include "lpuart.h"
- #include <stdio.h>
- #include "gpio.h"
- #include "dma.h"
- #define LED0_PORT HW_GPIOC
- #define LED0_PIN 3
- #define LED1_PORT HW_GPIOA
- #define LED1_PIN 1
- #define LED2_PORT HW_GPIOE
- #define LED2_PIN 0
- #define LED3_PORT HW_GPIOA
- #define LED3_PIN 2
- int main(void)
- {
- int i, ret;
- DelayInit();
- GPIO_QuickInit(LED0_PORT, LED0_PIN, kGPIO_Mode_OPP);
- GPIO_QuickInit(LED1_PORT, LED1_PIN, kGPIO_Mode_OPP);
- GPIO_QuickInit(LED2_PORT, LED2_PIN, kGPIO_Mode_OPP);
- GPIO_QuickInit(LED3_PORT, LED3_PIN, kGPIO_Mode_OPP);
- /* UART */
- LPUART_QuickInit(LPUART1_RX_A18_TX_A19, 115200);
- LPUART_ITDMAConfig(HW_LPUART1, kUART_IT_Rx, true);
- printf("UART echo start!\r\n");
- while(1)
- {
- }
- }
- void LPUART1_IRQHandler(void)
- {
- uint8_t ch;
- LPUART_ReadByte(HW_LPUART1, &ch);
- printf("%c", ch);
- switch(ch)
- { case 0x30: GPIO_ToggleBit(LED0_PORT, LED0_PIN);break;
- case 0x31: GPIO_ToggleBit(LED1_PORT, LED1_PIN);break;
- case 0x32: GPIO_ToggleBit(LED2_PORT, LED2_PIN);break;
复制代码- default: break;}
- DelayMs(100);
- }
复制代码
需要注意的是,能够识别的是一个ASCII码,0的ASCII是0x30.如果需要深一步学习,需要写串口协议了
|
评分
-
查看全部评分
|