STM32103C8跑马灯代码
时间: 2023-11-12 18:12:48 浏览: 88
下面是STM32F103C8T6跑马灯代码,使用了STM32CubeMX和HAL库:
```c
#include "main.h"
/* 定义GPIO引脚 */
#define LED_Pin GPIO_PIN_13
#define LED_GPIO_Port GPIOC
/* 定义延时函数 */
void delay_ms(uint32_t ms) {
HAL_Delay(ms);
}
int main(void) {
/* 初始化HAL库 */
HAL_Init();
/* 初始化GPIO */
MX_GPIO_Init();
while (1) {
/* 使LED引脚高电平,点亮LED */
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
/* 延时500ms */
delay_ms(500);
/* 使LED引脚低电平,熄灭LED */
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
/* 延时500ms */
delay_ms(500);
}
}
/* GPIO初始化函数 */
void MX_GPIO_Init(void) {
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* GPIO端口时钟使能 */
__HAL_RCC_GPIOC_CLK_ENABLE();
/* 配置GPIO引脚为输出模式 */
GPIO_InitStruct.Pin = LED_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(LED_GPIO_Port, &GPIO_InitStruct);
}
```
代码中使用了一个 `delay_ms` 函数用于延时,这个函数的实现可以自行编写或使用HAL库提供的延时函数。
阅读全文