对于小白先走第一步熟悉相关环境配置,代码编译和下载,点亮LED就为成功。
但网上stm32资料较为复杂,按教程去实践易出错,容易怀疑自己怀疑自己的PCB有问题,姑需要最简单最小干扰去实现LED点亮。
准备硬件:1、STM32f103c8t6,2、st-link v2。淘宝加一起不超过50元,原来价格更便宜,只有十几块一个。
以下为具体步骤
1.在STM32CubeMX新建项目,作用是建立code环境及依赖库。
开发板是外接8M晶振,通过PLL的倍率和分频,提高系统时钟至最高的72Mhz
使能了外部时钟,选中RCC,选时钟源选外部晶振
进入Clock Configuration来配置系统的时钟源为外部时钟和设置各个外设时钟频率。我的开发板是外接8M晶振,通过PLL的倍率和分频,提高系统时钟至最高的72Mhz。
在主界面选择File–>New Project ,点击ACCEE TO MCU SELECTO
SYS 配置:下载和调试程序的时候会用SWD模式,SYS的Debug选择Serial Wire
点击如上图中PC13引脚,选择GPIO_Output配置为输出模式。
以上设置完成后,选generate code在选择open project后再MDTv5编写code。
2.在MDT程序上,编译链接生成hex文件,将其烧录到STM32中即可
2.1 看原理图,板载greenLED是Pin13低电平点亮的
2.2 在int main(void)增加,注释都取消
while (1)
{
/* USER CODE END WHILE */
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET);
HAL_Delay(3000);
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET);
HAL_Delay(1000);
/* USER CODE BEGIN 3 */
}
红色为编译按钮,build output没有出现error和warning就可以用绿色按钮去下载固件。
3.STM32F103连接st-link v2,照着pcb板上的swd的引脚说明,连接到st-link对应的引脚。
c1电容可不接,vcc接3.3v和GND接地即可。
4.断电重启见代码效果,led灯光就会一闪一闪。