RISC-V MCU中文社区

【求助】 学习使用lubuntu18.04+vscode+platformIO 点亮 longan nano 的红绿蓝灯

发表于 GD32VF103 MCU 2021-03-23 13:02:28
1
2168
3

一、点亮红绿蓝灯

我买了两个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);
    }
}

喜欢3
用户评论 (1)
雁

实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板