打印
[RISC-V MCU 应用开发]

[RISC-V MCU CH32V103测评]+LED

[复制链接]
347|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
每个新板子几乎都是从LED流水灯开始的,就如同hello world一样,CH32V103也不例外,按照帖子https://bbs.21ic.com/icview-3037774-1-1.html?_dsign=949aa118的例子,开起来和STM32很像,建立LED源文件和头文件,复制帖子中的code,
#ifndef __LED_H
#define __LED_H

#include "ch32v10x_conf.h"

void LED_Init(void);  //初始化

#endif
#include "led.h"

void LED_Init(void)
{

GPIO_InitTypeDef  GPIO_InitStructure;                                   //定义一个GPIO_InitTypeDef类型的结构体

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//使能与LED相关的GPIO端口时钟

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;       //配置GPIO引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;          //设置GPIO模式为推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;         //设置GPIO口输出速度
GPIO_Init(GPIOA, &GPIO_InitStructure);                               //调用库函数,初始化GPIOA

GPIO_SetBits(GPIOA,GPIO_Pin_0|GPIO_Pin_1);                     //设置引脚输出高电平

}
int main(void)
{
        u8 i=0;
        u8 j=0;
        Delay_Init();   //延时函数初始化
        LED_Init();     //LED初始化
        while(1)
        {
            Delay_Ms(250); //延时250ms
            GPIO_WriteBit(GPIOA, GPIO_Pin_0, (i==0) ? (i=Bit_SET):(i=Bit_RESET)); //设置PA0引脚状态为低电平
            Delay_Ms(250); //延时250ms
            GPIO_WriteBit(GPIOA, GPIO_Pin_1, (j==0) ? (j=Bit_SET):(j=Bit_RESET)); //设置PA1引脚状态为低电平
        }
}
编译后,直接下载,这里注意下,板子上的LED并连线到对应的pin上,只留出了接口,需要通过杜邦线将LED和CPU的pin连接起来,这样就可以,这里连接PA0和PA1,就看见LED交替闪烁了。

code如下:
Hardware.zip (3.73 KB)

使用特权

评论回复

相关帖子

沙发
zeshoufx| | 2020-11-9 09:07 | 只看该作者
谢谢分享【LED】

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:永远忠于年轻时的梦想!

20

主题

375

帖子

1

粉丝