一、建立工程
1.创建工程(点击之后等待下载和配置完成)
2.选择芯片(搜索时切换成英文,这里以STM32F103C8T6为例)
3.输入程序名后,点击Finish即可(等待配置完成)
4.创建完成后的界面和文件应该是这个样子的
二、基本的工程配置:时钟系统、调试方式
1.设置时钟源
2.在时钟系统架构图中将系统输入时钟改为HSE
HSE(High-Speed External): HSE是指外部高速时钟源。
HSI(High-Speed Internal): HSI是指内部高速时钟源。
PLLCLK: 锁相环倍频时钟源。
3.选择调试方式
三、任务配置(以LED灯定时闪烁为例)
1.Gpio配置
2.Timer配置
选择定时器→选择时钟源→配置定时器→使能定时器
3.生成基础代码
完成以上配置后,ctrl+s保存即可自动生成基础代码。
四、编写任务代码
1.这里使用中断定时LED灯的闪烁
HAL_TIM_Base_Start_IT(&htim2); //开启定时器2中断,当定时器计时满之后,调用回调函数
2.回调函数
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) //定时器溢出回调函数
{
static unsigned char ledState = 0;
if (htim == (&htim2)) //检查调用回调函数的定时器是否是 htim2
{
if (ledState == 0)
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
else
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
ledState = !ledState;
}
}
五、编译工程
1.编译(点击锤子按钮)
2.右击工程,设置是否编译时生成二进制和十六进制文件(生成的文件在工程目录的debug目录下)
①这是debug模式下的设置,release模式(点击锤子右边的下三角)下只需要切换后同样设置即可
②勾选即可
六、烧写程序(两种方式)
1.方法一:直接在IDE中操作(点击小瓢虫即可)
2.方法二:选择更专业的烧写工具STM32CubeProgrammer
1.连接:选择烧写方式,然后点击Connect即可,最好频率调一下,不调也没关系。
2.选择要烧写的文件(.bin/.elf/.hex任一文件均可),勾选Verify programming,然后点击Start等待即可,烧写完成后点击Disconnected断开连接。