1.引言:此文章是本人在学习stm32f103c8t6的开发过程,拿出来给大家一起看看。
用的是江科大的链接买的开发大礼包,但是想用cubemx搞开发少些点代码,所以就是自己上网找各种资料最后自己手撸出来的。
开发板用的是stm32f103c8t6
2.
1.stm32f103c8t6在cubemx配置:选型号、配引脚、RCC的High Speed Clock 选Crystal……;
引脚和之前的集成版不一样,PA1,PB5,PB0 是自己选的,在面包板上连好和cube配置的一样就好了
示例:
2.Keil5的更改 :
下载了stm32f103的开发包,在hangjiang2 的keil安装文件下的pack installer 选型号然后进入官网下载,最后在keil5上的魔法棒里面的devices 把型号搞好就行了
3.st_links、面包板的连线
4.代码部分:在main的主函数里面的while 写
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0):翻转电平
HAL_Delay (100):延迟100ms
HAL_GPIO_WritePin :写高低电平
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET):暗
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET):亮
5.流水灯代码:
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET); //暗
HAL_Delay (1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,GPIO_PIN_RESET); //亮
HAL_Delay (1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);
HAL_Delay (1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_RESET);
HAL_Delay (1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET);
HAL_Delay (1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);
HAL_Delay (1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);
HAL_Delay (1000);
效果展示: