工作模式
led灯 1s周期闪烁,对应引脚PB6 PB7,低电平灯亮,高电平灯灭
头文件 led.h
#ifndef __PRIVATE_PACKS_GPIO_H__
#define __PRIVATE_PACKS_GPIO_H__
//点亮PB6灯
void turn_on_led_PB6()
//点亮PB7灯
void turn_on_led_PB7()
//熄灭PB6灯
void turn_off_led_PB6()
//熄灭PB7灯
void turn_off_led_PB7()
//翻转PB6灯电平
void toggle_led_PB6()
//翻转PB7灯电平
void toggle_led_PB7()
#endif
源文件 led.c
#include "gd32f3x0.h"
#include "gd32f310c_eval.h"
/*!
\brief 初始化gpio状态
\param[in] none
\param[out] none
\retval none
*/
void func_init_gpio()
{
// 开启GPIO时钟
rcu_periph_clock_enable(RCU_GPIOB);
/* 设置gpio引脚模式为输出 */
gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_6 | GPIO_PIN_7);
gpio_output_
/* 设置gpio引脚输出模式为上拉输出 */
options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_MAX, GPIO_PIN_6);
/* 设置gpio引脚输出电平为高电平 */
gpio_bit_set(GPIOB, GPIO_PIN_6 | GPIO_PIN_7);
}
/*!
\brief 点亮led_PB6
\param[in] none
\param[out] none
\retval none
*/
void turn_on_led_PB6()
{
gpio_bit_reset(GPIOB, GPIO_PIN_6);
}
/*!
\brief 熄灭led_PB6
\param[in] none
\param[out] none
\retval none
*/
void turn_off_led_PB6()
{
gpio_bit_set(GPIOB, GPIO_PIN_6);
}
/*!
\brief 翻转led_PB6电平
\param[in] none
\param[out] none
\retval none
*/
void toggle_led_PB6()
{
gpio_bit_toggle(GPIOB, GPIO_PIN_6);
}
/*!
\brief 点亮led_PB7
\param[in] none
\param[out] none
\retval none
*/
void turn_on_led_PB7()
{
gpio_bit_reset(GPIOB, GPIO_PIN_7);
}
/*!
\brief 熄灭led_PB7
\param[in] none
\param[out] none
\retval none
*/
void turn_off_led_PB7()
{
gpio_bit_set(GPIOB, GPIO_PIN_7);
}
/*!
\brief 翻转led_PB7电平
\param[in] none
\param[out] none
\retval none
*/
void toggle_led_PB7()
{
gpio_bit_toggle(GPIOB, GPIO_PIN_7);
}
main.c
#include "gd32f3x0.h"
#include "gd32f310c_eval.h"
#include "systick.h"
#include "led.h"
void main()
{
systick_config();
while(1)
{
delay_1ms(1000);
toggle_led_PB6();
toggle_led_PB7();
}
}