[RISC-V MCU 应用开发] 【RISC-V MCU CH32V103测评】+Hello,Blink

[复制链接]
 楼主| gaoyang9992006 发表于 2020-11-18 19:18 | 显示全部楼层 |阅读模式
本帖最后由 gaoyang9992006 于 2020-11-19 23:09 编辑

第一次接触,当然要做最基本的,完成工程的建立,点亮LED,学会使用GPIO是最基本的操作。好在官方提供的有例子,可以很容易了解如何使用一个GPIO管脚。
通过官方的资料发现,开发板上的两个LED是共阳极接到VCC的,阴极是插针,因此只需要将插针连接到你想要的GPIO管脚,并在这个管脚给一个低电平即可点亮。
在这里我使用PA0和PA2管脚,通过开发板赠送的杜邦线连接他们。
下载并安装开发软件MounRiver Studio
创建新的工程,然后在默认生成的模板上修改代码即可。
然后编写程序,首先应考虑使用GPIO的输出模式
  1. void GPIO_LED_Init(void)
  2. {
  3.   GPIO_InitTypeDef  GPIO_InitStructure;

  4.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
  5.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_2;
  6.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  7.   GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  8.   GPIO_Init(GPIOA, &GPIO_InitStructure);
  9. }
编译后,我们可以定位到这些头文件预定义好的宏或变量,可以看看同组的都有哪些选项可以设置,这一点很重要。
然后就是点亮一个LED,然后延时,然后熄灭,然后再延时,这样就可以一闪一闪了。
完整代码如下

  1. #include "debug.h"


  2. void GPIO_LED_Init(void)
  3. {
  4.   GPIO_InitTypeDef  GPIO_InitStructure;

  5.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
  6.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_2;
  7.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  8.   GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  9.   GPIO_Init(GPIOA, &GPIO_InitStructure);
  10. }
  11. /*******************************************************************************
  12. * Function Name  : main
  13. * Description    : Main program.
  14. * Input          : None
  15. * Return         : None
  16. *******************************************************************************/
  17. int main(void)
  18. {

  19.     Delay_Init();
  20.     GPIO_LED_Init();
  21.     while(1)
  22.     {
  23.         GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);
  24.         Delay_Ms(500);
  25.         GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);
  26.         Delay_Ms(500);
  27.         GPIO_WriteBit(GPIOA,GPIO_Pin_2,Bit_SET);
  28.         Delay_Ms(500);
  29.         GPIO_WriteBit(GPIOA,GPIO_Pin_2,Bit_RESET);
  30.         Delay_Ms(500);
  31.     }
  32. }
按照开发板送的卡片的连接图连接烧录器与开发板,编译后烧录到开发板,这个时候发现两个红色的LED灯开始闪烁。 2.png
1.png
最后奉上工程文件
001_GPIO_Blink.zip (154.2 KB, 下载次数: 1)


Taoyukai 发表于 2020-11-18 19:23 | 显示全部楼层
图呢??
戈卫东 发表于 2020-11-19 11:49 | 显示全部楼层
晒的太多,挥发掉了?
 楼主| gaoyang9992006 发表于 2020-11-19 12:32 | 显示全部楼层
戈卫东 发表于 2020-11-19 11:49
晒的太多,挥发掉了?

不是你们评论,我还真不知道。
可能是网络卡,发重了。
598330983 发表于 2020-11-19 23:23 | 显示全部楼层
漂亮,非常棒。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

2046

主题

16351

帖子

222

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

2046

主题

16351

帖子

222

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