STM32CuBeMX项目创建
-
选择对应型号单片机,本次实验采用stm32F103C8T6。![在这里插入图片描述](https://img-blog.csdnimg.cn/69ecdfb4388443598235435c3a8a0231.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aSp54u85rqv5YWJ6ICF,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) -
选择要使用到引脚,本次实验使用A4、B5、C14引脚。点击对应引脚,设置为GPIO_Output![在这里插入图片描述](https://img-blog.csdnimg.cn/6c97c5ed81e7480abc68b788ac62c3a3.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aSp54u85rqv5YWJ6ICF,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) -
.配置系统调试接口,选择Serial Wire![在这里插入图片描述](https://img-blog.csdnimg.cn/1ba576fb26c14c529079aa834610a982.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aSp54u85rqv5YWJ6ICF,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) -
配置GPIO,均设置为low![在这里插入图片描述](https://img-blog.csdnimg.cn/15a10969ede64a9896b12ffc80d497bf.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aSp54u85rqv5YWJ6ICF,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) -
配置项目![在这里插入图片描述](https://img-blog.csdnimg.cn/841c69990ff241c6b1f62296e138708f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aSp54u85rqv5YWJ6ICF,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) ![在这里插入图片描述](https://img-blog.csdnimg.cn/0b039f836d8846d5be6632631a95ba47.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aSp54u85rqv5YWJ6ICF,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
插入代码
打开main函数,在main函数里面找到while循环,加入流水灯代码 ![在这里插入图片描述](https://img-blog.csdnimg.cn/30c2f881bf774e6d9133d37971d5d8f5.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aSp54u85rqv5YWJ6ICF,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_14,GPIO_PIN_SET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_14,GPIO_PIN_RESET);
①延时函数(HAL_Delay) 函数原型: void HAL_Delay (__IO uint32_t Delay) 参数说明:Delay表示所要延时的时间大小,单位是毫秒 ②写管脚函数(HAL_GPIO_WritePin) 函数原型:void HAL_GPIO_WritePin (GPIO_TypeDef * GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
参数说明: GPIOx: 管脚组(x的取值为A~G) GPIO_Pin: 管脚编号(x的取值为0~15) PinState: 管脚的状态(取值为GPIO_BIT_RESET表示0, GPIO_BIT_SET表示1)
效果
使用Keil的软件仿真逻辑分析仪功能观察管脚的时序波形。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/cbd486f5c8f9416f8dd3b5af4bbbeaf2.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aSp54u85rqv5YWJ6ICF,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) 波形图如下: A4、B5、C14的顺序依次先高电平再低电平,时间间隔约为1s。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/5241d84fa257406cbd62bc0bef16c66e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aSp54u85rqv5YWJ6ICF,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
嵌入式系统 STM32基于HAL点亮LED流水灯效果
参考资料
|