本帖最后由 jinglixixi 于 2023-9-28 19:31 编辑
在探索新入手开发板的过程中,由GPIO口开始是最高效的。由于CW32L031开发板上已配备了LED和KEY,因此在编程测试时可直接利用它们来进行。对于开发板上的LED和KEY,其电路连接如图1所示。 图1 相关电路
在使用GPIO口时,主要涉及2个方面,即输入与输出。 利用LEY可完成输出模式的测试,有KEY则可完成对输入模式的测试。
下面的主程序就是实现以按键来控制LED的作用,其内容如下: int32_t main(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
RCC_HSI_Enable(RCC_HSIOSC_DIV6);
__RCC_GPIOC_CLK_ENABLE();
GPIO_InitStruct.IT = GPIO_IT_NONE;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pins = LED_GPIO_PINS;
GPIO_Init(LED_GPIO_PORT, &GPIO_InitStruct);
GPIO_InitStruct.Pins = GPIO_PIN_1 | GPIO_PIN_2;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_Init(CW_GPIOA, &GPIO_InitStruct);
while (1)
{
if(GPIO_ReadPin(CW_GPIOA, GPIO_PIN_1)==0)
{
GPIO_WritePin(CW_GPIOB, GPIO_PIN_8, GPIO_Pin_SET);
}
else
{
GPIO_WritePin(CW_GPIOB, GPIO_PIN_8, GPIO_Pin_RESET);
}
if(GPIO_ReadPin(CW_GPIOA, GPIO_PIN_2)==0)
{
GPIO_WritePin(CW_GPIOB, GPIO_PIN_9, GPIO_Pin_SET);
}
else
{
GPIO_WritePin(CW_GPIOB, GPIO_PIN_9, GPIO_Pin_RESET);
}
}
}
图2 控制效果1
图3 控制效果2
|