swtman 发表于 2025-8-3 19:08

【APM32F402R Micro-EVB开发板评测】UART+LED+KEY组合测试

开发板介绍



相关资料准备
资料下载链接:
HYPERLINK "https://geehy.com/design/hardware_detail/105#document"
下载pack包和相关资料:

或者从这里下载也可以:
HYPERLINK "https://geehy.com/design/software"
找到对应的型号即可:

学习任务:

[*]UART功能实现;
[*]Key1检测功能实现;
[*]LED2、LED3控制功能实现;
[*]Key1按下后,串口输出“LED2:Off,LED3:ON,KEY1Down”,LED2灭,LED3亮;
[*]Key1抬起后,LED2、LED3交替亮灭。

原理图查找对应IO
LED2、LED3控制的GPIO如下:

Key1控制的GPIO如下:

Uart1控制的GPIO如下:

程序实现
这里基于keil5开发平台,使用C语言编码实现,主函数代码如下:

int main(void)
{
    uint8_t i;
    USART_Config_T USART_ConfigStruct;
    BOARD_LED_Config(LED2);
    BOARD_LED_Config(LED3);
    USART_ConfigStruct.baudRate = 115200;
    USART_ConfigStruct.hardwareFlow = USART_HARDWARE_FLOW_NONE;
    USART_ConfigStruct.mode = USART_MODE_TX;
    USART_ConfigStruct.parity = USART_PARITY_NONE;
    USART_ConfigStruct.stopBits = USART_STOP_BIT_1;
    USART_ConfigStruct.wordLength = USART_WORD_LEN_8B;
    BOARD_COM_Config(COM1, &USART_ConfigStruct);
BOARD_BUTTON_Config(BUTTON_KEY1, BUTTON_MODE_GPIO);
BOARD_LED_On(LED2);
BOARD_LED_Off(LED3);
    while (1)
    {
      Delay();
if(BOARD_BUTTON_GetState(BUTTON_KEY1))
{
BOARD_LED_Toggle(LED2);
BOARD_LED_Toggle(LED3);
}else{
BOARD_LED_Off(LED2);
BOARD_LED_On(LED3);
for(i = 0; i < sizeof(txBuf); i++)
{
while(USART_ReadStatusFlag(USART1, USART_FLAG_TXBE) == RESET);
USART_TxData(USART1, txBuf);
}
}
    }
}

下载时,选择DAP下载:

进行如下选择:

配置如下:

编译及下载成功会有提示:

测试结果:



总结:
根据这个开发板功能还是非常强悍的,本次评测只是个入门。希望可以起到抛砖引玉的左右。大家一起来发掘更好的应用和评测。

DawnFervor 发表于 2025-8-6 19:36

看着也不难啊!
直接从其它的M4芯片切换过来,看起来也没有什么难度啊

swtman 发表于 2025-8-7 14:50

DawnFervor 发表于 2025-8-6 19:36
看着也不难啊!
直接从其它的M4芯片切换过来,看起来也没有什么难度啊

是的,就是库要比较熟悉就行。和其它ARM开发流程一样的。
页: [1]
查看完整版本: 【APM32F402R Micro-EVB开发板评测】UART+LED+KEY组合测试