很高兴又机会获得极海的APM32F411试用机会,自己也是非常的幸运,由于前期工作比较忙,所以回消息晚了一些,所以周日的时候才收到开发板,我们首先来说一下APM32F411这款芯片吧。
首先是芯片自身的外设:
1:工作在120MH在,是同类产品中的中等片上的水平,
- 最多 4 个 USART, 2 个 UART, 支持ISO7816、 LIN 和 IrDA 等功能
- 最多 3 个 I2C,支持 SMBus/PMBus最多 5 个 SPI(5 个可复用 I2S)最多 1 个 QSPI
- 2 个 CAN
- 1 个 USB_OTG 控制器
- 1 个 SDIO 接口
- 2 个 12 位的 ADC
- 2 个比较器
- 2 个可以提供 7 通道 PWM 输出的 16位高级定时器 TMR1/8,支持死区生成和刹车输入等功能2 个 32 位通用定时器 TMR2/5,每个定时器有 4 个独立通道可以用来输入捕获、输出比较、 PWM 与脉冲计数等功能
- 8 个 16 位通用定时器 TMR3/4/9/10/w11/12/13/14, 每个定时器最多有 4 个独立通道可以用来输入捕获、输出比较、PWM 与脉冲计数等功能
- 2 个看门狗定时器:一个独立看门狗IWDT 和一个窗口看门狗 WWDT
- 1 个 24 位自减型系统定时器 SyswTickwTimer
整体的外设是相当丰富的,关键是开发板还自带了DAP,使用起来非常方便,
然后就是工程的搭建了,按照通用的M3的框架。APM31F411也提供了一套SDK给我们,这样的话我们就可以有很多的资料可以参考,开发起来也比较的方便。
我根基实际工程做了如下的更改,整体框架啊如下图
我根据实际的应用做了修改,点灯的代码也非常简单具体代码如下:
#include "apm32f4xx.h"
#include "bsp_delay.h"
#include "apm32f4xx_gpio.h"
#include "apm32f4xx_rcm.h"
void LED_Init(void)
{
GPIO_Config_T configStruct;
/* Enable the GPIO_LED Clock */
RCM_EnableAHB1PeriphClock(RCM_AHB1_PERIPH_GPIOE);
/* Configure the GPIO_LED pin */
GPIO_ConfigStructInit(&configStruct);
configStruct.pin = GPIO_PIN_5|GPIO_PIN_6;
configStruct.mode = GPIO_MODE_OUT;
configStruct.speed = GPIO_SPEED_50MHz;
GPIO_Config(GPIOE, &configStruct);
}
void LedTest(void)
{
}
int main(void)
{
APM_DelayInit();
LED_Init();
while (1)
{
Delay_ms(500);
GPIO_ToggleBit(GPIOE,GPIO_PIN_5|GPIO_PIN_6);
}
}
点灯效果如下
好了,今天的分享先到这里,后期在做更新。
|