[开发板] 【CW32L031CxTx StartKit评估板测评】+GPIO测试篇

[复制链接]
 楼主| jinglixixi 发表于 2023-9-28 19:29 | 显示全部楼层 |阅读模式
GPIO, IO, cw, gp
本帖最后由 jinglixixi 于 2023-9-28 19:31 编辑

在探索新入手开发板的过程中,由GPIO口开始是最高效的。由于CW32L031开发板上已配备了LED和KEY,因此在编程测试时可直接利用它们来进行。对于开发板上的LED和KEY,其电路连接如图1所示。
1.jpg
图1 相关电路

在使用GPIO口时,主要涉及2个方面,即输入与输出。
利用LEY可完成输出模式的测试,有KEY则可完成对输入模式的测试。

下面的主程序就是实现以按键来控制LED的作用,其内容如下:
  1. int32_t main(void)
  2. {
  3.     GPIO_InitTypeDef GPIO_InitStruct = {0};
  4.     RCC_HSI_Enable(RCC_HSIOSC_DIV6);
  5.     __RCC_GPIOC_CLK_ENABLE();
  6.     GPIO_InitStruct.IT = GPIO_IT_NONE;
  7.     GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  8.     GPIO_InitStruct.Pins = LED_GPIO_PINS;
  9.     GPIO_Init(LED_GPIO_PORT, &GPIO_InitStruct);
  10.     GPIO_InitStruct.Pins = GPIO_PIN_1 | GPIO_PIN_2;
  11.     GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  12.     GPIO_Init(CW_GPIOA, &GPIO_InitStruct);
  13.     while (1)
  14.     {
  15.               if(GPIO_ReadPin(CW_GPIOA, GPIO_PIN_1)==0)
  16.              {
  17.                      GPIO_WritePin(CW_GPIOB, GPIO_PIN_8, GPIO_Pin_SET);
  18.              }
  19.              else
  20.              {
  21.                      GPIO_WritePin(CW_GPIOB, GPIO_PIN_8, GPIO_Pin_RESET);
  22.              }
  23.                         
  24.              if(GPIO_ReadPin(CW_GPIOA, GPIO_PIN_2)==0)
  25.              {
  26.                      GPIO_WritePin(CW_GPIOB, GPIO_PIN_9, GPIO_Pin_SET);
  27.              }
  28.              else
  29.              {
  30.                      GPIO_WritePin(CW_GPIOB, GPIO_PIN_9, GPIO_Pin_RESET);
  31.              }
  32.         }
  33. }

2.jpg
2 控制效果1

3.jpg
3 控制效果2

您需要登录后才可以回帖 登录 | 注册

本版积分规则

518

主题

2934

帖子

39

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