/* 头文件包含示例 */
#ifdef STM32F40_41xxx
#include "stm32f4xx.h"
#endif
#ifdef APM32F40X
#include "apm32f4xx.h"
#include "apm32f4xx_misc.h"
#include "apm32f4xx_spi.h"
#include "apm32f4xx_rcm.h"
#include "apm32f4xx_smc.h"
#include "apm32f4xx_gpio.h"
#include "apm32f4xx_usart.h"
#endif
/* GPIO配置示例 */
#ifdef STM32F40_41xxx
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOF, &GPIO_InitStructure);
#endif
#ifdef APM32F40X
GPIO_Config_T GPIO_InitStructure;
RCM_EnableAHB1PeriphClock(RCM_AHB1_PERIPH_GPIOF);
GPIO_InitStructure.pin = GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_8 | GPIO_PIN_9;
GPIO_InitStructure.mode = GPIO_MODE_IN;
GPIO_InitStructure.speed = GPIO_SPEED_100MHz;
GPIO_InitStructure.otype = GPIO_OTYPE_PP;
GPIO_InitStructure.pupd = GPIO_PUPD_UP;
GPIO_Config(GPIOF, &GPIO_InitStructure);
#endif
2.3主要替换注意事项
时钟模块:将RCC_替换为RCM_前缀
初始化结构体:STM32使用GPIO_InitTypeDef,APM32使用GPIO_Config_T
枚举常量:APM32使用大写形式(如GPIO_PIN_6)
函数命名:大部分保持一致,注意大小写差异
步骤三:程序下载与验证
3.1下载设置
在Keil中选择APM32F407工程
使用J-Link连接开发板
下载时选择Cortex-M4内核类型
