[单片机芯片] 【CH32X035评估板测评】点亮LED

[复制链接]
 楼主| meiyaolei 发表于 2023-10-17 23:15 | 显示全部楼层 |阅读模式
思路:
CH32X035是一款基于Cortex-M0核心的微控制器,具有35个通用IO引脚,可以用于点亮LED,和其它外设。
以下是在CH32X035上点亮LED的一般步骤:
  • 确定LED连接到微控制器的哪个引脚上。假设我们使用GPIO引脚来控制LED。
  • 配置GPIO引脚的模式为输出模式。可以使用HAL库函数进行设置。例如,可以使用HAL_GPIO_Init()函数来初始化GPIO引脚,并将其模式设置为GPIO_MODE_OUTPUT_PP。
  • 在主程序中,通过修改GPIO引脚的电平来控制LED的亮灭状态。可以使用HAL库函数进行操作。例如,可以使用HAL_GPIO_WritePin()函数将GPIO引脚电平设置为高电平(GPIO_PIN_SET)以点亮LED,或设置为低电平(GPIO_PIN_RESET)以熄灭LED。
  • 编译并烧录程序到CH32X035芯片中。在烧录之后,如果一切正常,LED应该会根据程序中设置的GPIO引脚电平状态而亮灭。
烧录器与板子连接示意图:
1697555054430.jpg 原理图:
1697555125143.jpg
实物连接图:
b2b03a20f074f49e3ee1d7e3179b806.jpg
引脚连接图
1697555321747.jpg
相关代码:
  1.     u8 i = 0;

  2.     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  3.     SystemCoreClockUpdate();
  4.     Delay_Init();
  5.     USART_Printf_Init(115200);
  6.     printf("SystemClk:%d\r\n", SystemCoreClock);
  7.     printf( "ChipID:%08x\r\n", DBGMCU_GetCHIPID() );
  8.     printf("GPIO Toggle TEST\r\n");
  9.     GPIO_Toggle_INIT();

  10.     while(1)
  11.     {
  12.         Delay_Ms(100);
  13.         GPIO_WriteBit(GPIOA, GPIO_Pin_0, (i == 0) ? (i = Bit_SET) : (i = Bit_RESET));
  14.     }


  15.    GPIO_InitTypeDef GPIO_InitStructure = {0};

  16.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  17.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
  18.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  19.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  20.     GPIO_Init(GPIOA, &GPIO_InitStructure);
LED闪烁视频:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:工程师
简介:超越自我,为设计激发灵感和想象。

254

主题

825

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部
认证:工程师
简介:超越自我,为设计激发灵感和想象。

254

主题

825

帖子

6

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