一、点亮红绿蓝灯
我买了两个longan nano, 其中一个使用参照http://longan.sipeed.com/zh/get_started/rv-link.html烧录成
RV-LINK,参照http://longan.sipeed.com/zh/get_started/blink.html制作Blink 闪灯程序,选择示例时选择longan-nano-blink,示例中只有红灯,我参照资料添加了蓝灯和绿灯闪烁
修改两个文件
platformio.ini后边添加
upload_protocol = rv-link ; rv-link下载选项
debug_tool = rv-link ; rv-link调试选项
debug_port = COM2 ; 使用rv-link 必填此项 调试器串口
修改main.c文件
#include "gd32vf103.h"
#include "systick.h"
#include
void longan_led_init()
{
rcu_periph_clock_enable(RCU_GPIOC);
rcu_periph_clock_enable(RCU_GPIOA);
gpio_init(GPIOC, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_13);
gpio_init(GPIOA, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_2);
gpio_init(GPIOA, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_1);
GPIO_BC(GPIOC) = GPIO_PIN_13;
GPIO_BC(GPIOA) = GPIO_PIN_2;
GPIO_BC(GPIOA) = GPIO_PIN_1;
}
void longan_red_on()
{
GPIO_BC(GPIOC) =GPIO_PIN_13;
}
void longan_red_off()
{
GPIO_BOP(GPIOC) = GPIO_PIN_13;
}
void longan_blue_on()
{
GPIO_BC(GPIOA) =GPIO_PIN_2;
}
void longan_blue_off()
{
GPIO_BOP(GPIOA) = GPIO_PIN_2;
}
void longan_green_on()
{
GPIO_BC(GPIOA) =GPIO_PIN_1;
}
void longan_green_off()
{
GPIO_BOP(GPIOA) = GPIO_PIN_1;
}
int main(void)
{
longan_led_init();
while(1){
longan_red_on();
delay_1ms(1000);
longan_red_off();
delay_1ms(1000);
longan_blue_on();
delay_1ms(1000);
longan_blue_off();
delay_1ms(1000);
longan_green_on();
delay_1ms(1000);
longan_green_off();
delay_1ms(1000);
}
}