[RISC-V MCU 应用开发] [RISC-V MCU CH32V103测评]+LED

[复制链接]
 楼主| 海洋无限 发表于 2020-11-8 20:23 | 显示全部楼层 |阅读模式
每个新板子几乎都是从LED流水灯开始的,就如同hello world一样,CH32V103也不例外,按照帖子https://bbs.21ic.com/icview-3037774-1-1.html?_dsign=949aa118的例子,开起来和STM32很像,建立LED源文件和头文件,复制帖子中的code,
  1. #ifndef __LED_H
  2. #define __LED_H

  3. #include "ch32v10x_conf.h"

  4. void LED_Init(void);  //初始化

  5. #endif
  1. #include "led.h"

  2. void LED_Init(void)
  3. {

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

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

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

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

  11. }
  1. int main(void)
  2. {
  3.         u8 i=0;
  4.         u8 j=0;
  5.         Delay_Init();   //延时函数初始化
  6.         LED_Init();     //LED初始化
  7.         while(1)
  8.         {
  9.             Delay_Ms(250); //延时250ms
  10.             GPIO_WriteBit(GPIOA, GPIO_Pin_0, (i==0) ? (i=Bit_SET):(i=Bit_RESET)); //设置PA0引脚状态为低电平
  11.             Delay_Ms(250); //延时250ms
  12.             GPIO_WriteBit(GPIOA, GPIO_Pin_1, (j==0) ? (j=Bit_SET):(j=Bit_RESET)); //设置PA1引脚状态为低电平
  13.         }
  14. }
编译后,直接下载,这里注意下,板子上的LED并连线到对应的pin上,只留出了接口,需要通过杜邦线将LED和CPU的pin连接起来,这样就可以,这里连接PA0和PA1,就看见LED交替闪烁了。
1604838064(1).png
code如下:
Hardware.zip (3.73 KB, 下载次数: 0)
zeshoufx 发表于 2020-11-9 09:07 | 显示全部楼层
谢谢分享【LED】
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

39

主题

539

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部