本帖最后由 [鑫森淼焱垚] 于 2024-5-15 11:57 编辑
致谢
感谢极海半导体官方给我的测评机会,感谢21IC组织的活动。
开箱
晒一波 APM32F411V Tiny Board 开发板靓照。
APM32F411V Tiny Board 开发板,搭载高性能 APM32F411VE MCU,板载仿真器,预留了开放 I/O、按键、串口、USB接口等基本功能外设。主控 APM32F411VET6 是一颗工业级高适配性 MCU,它具有 Arm Cortex-M4F 内核、工作频率 120MHz、Flash高达 512KB、SRAM 128KB 、内置SMC,非常Nice。
下载资料
原理图手册
网页来源 https://geehy.com/design/hardware_detail/33#info
下载如下两个文档
APM32F411V TinyBoard使用说明书V1.0.pdf
APM32F411V_TINYBOARD_V1.0.SchDoc.pdf
软件开发工具
网页来源:https://geehy.com/design/software
下载如下几个和 APM32F411 相关的资源:
APM32F4xx_SDK_V1.4.zip
Geehy.APM32F4xx_DFP.1.0.4.pack
文档中心
网页来源:https://geehy.com/design/document
下载 APM32F411 相关的文档:
APM32F411xCxE 用户手册 V1.4.pdf
APM32F411xCxE 数据手册 V1.3.pdf
AN1108_APM32F411系列QSPI应用笔记.pdf
AN1107_APM32F411系列COMP应用笔记.pdf
AN1106_APM32F411xCxE_硬件开发指南_V1.0.pdf
下载 APM32F4xx 相关的文档:
AN1104_APM32F4xx系列软件模拟USART_V1.0.pdf
AN1101_APM32F4xx_CRC应用笔记.pdf
AN1094_APM32F4xx Flash模拟EEPROM 应用笔记.pdf
AN1092_APM32F4xx_SMC_SRAM应用笔记.pdf
AN1091_APM32F4xx_TSensor demo例程 V1.0.pdf
AN1088_APM32F4xx系列ETH移植LWIP应用笔记.pdf
AN1087_APM32F4xx_OTG应用笔记.pdf
AN1086_APM32F4xx_ISP应用笔记.pdf
AN1085_APM32F4xx_下载烧录应用笔记V1.1.pdf
AN1084_APM32F4xx_IAP应用笔记.pdf
AN1083_APM32F4xx_ADC应用笔记.pdf
AN1082_APM32F4xx_SDRAM应用笔记.pdf
AN1081_APM32F4xx_快速入门指南.pdf
环境搭建
硬件
APM32F411V Tiny Board 板载调试器,仅需在调试器这头USB Type-C接入到电脑USB即可,即可供电,又可以下载调试,还能当串口使用。
软件
- 解压 APM32F4xx_SDK_V1.4,在 Package 目录下有 Geeph.APM32F4xx_DFP.1.0.4.pack 双击,一路使用默认选项安装;
- 使用 Keil MDK,打开工程,配置工程,Debug 选项选择 CMSIS-DAP;
示例工程
运行第一个示例工程,这里选择 SDK_V1.4/Examples/USART/USART_Polling 工程,Keil MDK 打开并编译。
由于此SDK同时支持 APM32F407 和 APM32F411 MCU,需要手动选择工程编译目标为 APM32F411,如下图所示。
使用 -O0 优化等级编译,Flash 占用 2.87KB.
函数流程
- LED2, LED3 初始化,然后拉高对应管脚,两个 LED 关闭;
- USART1和USART2初始化;
- USART1 轮询方式发送数据到 USART2,然后比较 USART2 接收缓冲区和 USART1 发送缓冲区,数据相同则点亮 LED2;
- USART2 轮询方式发送数据到 USART1,然后比较 USART1 接收缓冲区和 USART2 发送缓冲区,数据相同则点亮 LED3;
原理图
此示例工程用到的硬件资源有 USART1, USART2 以及2个LED。原理图如下。
USART1 和 USART2 互联,PA2 <--> PA10, PA3 <--> PA9.
LED2 和 LED3 需要把控制管脚设置为低电平点亮。
运行现象
初始化结束,LED2和LED3熄灭,但是LED1常量;
第一阶段,USART1 发送数据给 USART2,校验通过,LED2 点亮;
第二阶段,USART2 发送数据给 USART1,校验通过,LED3 点亮;
GPIO寄存器勘误
点亮 LED 的代码如所示:
/*!
* [url=home.php?mod=space&uid=247401]@brief[/url] Turns selected LED On.
*
* @param Led: Specifies the Led to be configured.
* This parameter can be one of following parameters:
* [url=home.php?mod=space&uid=2817080]@ARG[/url] LED2
* [url=home.php?mod=space&uid=2817080]@ARG[/url] LED3
*
* @retval None
*/
void APM_TINY_LEDOn(Led_TypeDef Led)
{
GPIO_PORT[Led]->BSCH |= GPIO_PIN[Led];
}
参考 《APM32F411xCxE 用户手册 V1.4.pdf》,12.6.7 GPIO 端口置位/复位寄存器 GPIOx_BSC ,文档如下:
低16位 Bsy 表示管脚输出高电平,高16位 Bcy 表示管脚输出低电平。但是代码中引用的是 BSCH 寄存器,这是文档和代码不匹配的疏漏。
|