1.新建工程
(1)点击File->NewProjec创建新工程
(2)器件选型,输入芯片型号,选择正确封装,点击Start Project
2.具体配置过程
(1)点击System Core->RCC分别开启系统时钟,配置如下图所示
(2)点击System Core->SYS,配置工程的仿真调试方式。使用的是 SWD 接口的仿真器,点击“Debug”下拉列表,选择 “Serial Ware” 选项,配置如下图所示
(3)Clock Configration时钟树配置
(4)GPIO配置
LED 引脚接在 PC5 和PI6 上,需要将 PC5 和PI6引脚设置 为 GPIO 输出功能
(5)工程配置
当把工程的引脚和外设全部配置完成后,点击主界面中的 “Project Manager” 菜单项,进入工程相关的参数配置界面。
输入工程名称和路径,根据编译选择版本,示例中编译器用的是IAR 7.5
(6)在工程参数配置界面左侧的 “Code Generator” 菜单项中,将 “Generated files” 中的第一项打钩。
生成的工程将会为你配置的每一个外设生成对应的.c 文件和.h 文件。
(7)点击主界面右上角的 “GENERATE CODE”, 开始生成工程代码
3.添加代码
在main函数中添加代码,两个led间隔0.5s闪烁
while (1)
{
/* USER CODE END WHILE */
HAL_GPIO_TogglePin(GPIOI,GPIO_PIN_6);
HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_5);
HAL_Delay(500);
/* USER CODE BEGIN 3 */
}
4.编译
(1)IAR编译报错
(2)cubemx 软件生成代码,IAR7.x的代码直接编译会出现错
问题出在 __RESTRICT这个宏定义上。在这个宏上点右键查看定义的地方,会定位到另一个库文件cmsis_iccarm.h中。如果右键不跳转那就直接去打开这个文件,里面有__RESTRICT的定义
这里需要将__restrict前的两个下划线删除掉,就可以编译通过了。
(3)swd下载
选择J-Link/j-Trace
选择SWD接口
(4)点击下载,运行