【沁恒CH585开发板免费试用体验】+无线通讯功能测试 - RISC-V MCU技术社区 - 电子技术论坛 - 广受欢迎的专业电子论坛
分享 收藏 返回

[文章]

【沁恒CH585开发板免费试用体验】+无线通讯功能测试

在例程中厂家为用户提供了多个蓝牙通讯方面的示例,有助于使用者进行学习和验证。

为便于学习和测试,选取了其中的示例BLE_UART,其主程序的内容如下:

#include "CONFIG.h"
#include "HAL.h"
#include "gattprofile.h"
#include "peripheral.h"

__attribute__((aligned(4))) uint32_t MEM_BUF[BLE_MEMHEAP_SIZE / 4];

#if(defined(BLE_MAC)) && (BLE_MAC == TRUE)
const uint8_t  MacAddr[6] = {0x84, 0xC2, 0xE4, 0x03, 0x02, 0x02};
#endif

extern void app_uart_process(void);
extern void app_uart_init(void);

__HIGH_CODE
__attribute__((noinline))
void Main_Circulation()
{
    while(1)
    {
        TMOS_SystemProcess();
        app_uart_process();
    }
}

int main(void)
{
#if(defined(DCDC_ENABLE)) && (DCDC_ENABLE == TRUE)
    PWR_DCDCCfg(ENABLE);
#endif
    HSECFG_Capacitance(HSECap_18p);
    SetSysClock(CLK_SOURCE_HSE_PLL_62_4MHz);
#if(defined(HAL_SLEEP)) && (HAL_SLEEP == TRUE)
    GPIOA_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PU);
    GPIOB_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PU);
#endif
#ifdef DEBUG
    GPIOA_SetBits(GPIO_Pin_14);
    GPIOPinRemap(ENABLE, RB_PIN_UART0);
    GPIOA_ModeCfg(GPIO_Pin_15, GPIO_ModeIN_PU);
    GPIOA_ModeCfg(GPIO_Pin_14, GPIO_ModeOut_PP_5mA);
    UART0_DefInit();
#endif
    PRINT("%s\n", VER_LIB);
    CH58x_BLEInit();
    HAL_Init();
    GAPRole_PeripheralInit();
    Peripheral_Init();
    app_uart_init();
    Main_Circulation();
}

由程序可以基本看出,它使用了UART0作为数据传递的工具以起到桥梁的作用,所用的引脚为PA14和PA15。

要进行蓝牙的测试就离不开通讯的双方,如何将开发板算作一方的话,那就还需要找到另一方,它既可以是另一块开发板,也可以用手机来充当,这里就选取人人都有的手机来充当。

此外,为了通讯测试还有选取一个相关的APP,这里选取的是LightBlue,其界面如图1所示。

在搜索到的设备中,ch592_ble_uart,就是开发板CH585。
image.png

图1 LightBlue界面

在开发板经串口模块连接到电脑的情况下,选取“ch592_ble_uart”进行连接,则会见到图2所示的接收信息。

image.png

图2 接收蓝牙发送内容

此时,在手机端可外发送数据或信息,见图3所示。

image.png

图3 发送数据

在完成发送后,在电脑端会见到图4所示的反馈信息。

值得说明的是,在反馈信息中只说明了接收到的数据长度,却没有原样输出接收内容。

image.png

图5 反馈信息

当在电脑端发送字节数据时,由于手机端没有启动接收显示处理,因此无法观察到测试效果。

image.png

图6 发送数据

至此,就基本了解了该程序的作用,后续可在此基础上来实现LED等的控制等。

更多回帖

×
发帖