GD32F310 LED灯开发

工作模式

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();
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值