用gd单片机标准库函数写一个流水灯
时间: 2024-05-24 09:13:10 浏览: 146
以下是使用GD32F1x0标准库函数编写的流水灯程序示例:
#include "gd32f1x0.h"
void delay(uint32_t count);
int main(void)
{
rcu_periph_clock_enable(RCU_GPIOC);
gpio_init(GPIOC, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3);
while (1)
{
gpio_bit_set(GPIOC, GPIO_PIN_0);
delay(50000);
gpio_bit_set(GPIOC, GPIO_PIN_1);
delay(50000);
gpio_bit_set(GPIOC, GPIO_PIN_2);
delay(50000);
gpio_bit_set(GPIOC, GPIO_PIN_3);
delay(50000);
gpio_bit_reset(GPIOC, GPIO_PIN_0);
gpio_bit_reset(GPIOC, GPIO_PIN_1);
gpio_bit_reset(GPIOC, GPIO_PIN_2);
gpio_bit_reset(GPIOC, GPIO_PIN_3);
}
}
void delay(uint32_t count)
{
uint32_t i;
for (i = 0; i < count; i++);
}
该程序使用GPIOC的0、1、2、3四个引脚作为流水灯的控制引脚。程序中使用了rcu_periph_clock_enable()函数使能GPIOC的时钟,使用gpio_init()函数初始化GPIOC的引脚为推挽输出模式,并设置输出速度为50MHz。在while循环中,依次点亮GPIOC的0、1、2、3四个引脚,每次点亮后延时50ms,然后依次熄灭GPIOC的0、1、2、3四个引脚,再次循环。其中delay()函数为简单的延时函数,用于控制流水灯的闪烁速度。
阅读全文