在GPIO的使用中,即有控制LED灯的输出功能,也有识别按键KEY的输入功能。
由于板上没有专供用户测试的按键,故可通过外挂的方式来进行测试。
在外挂按键连接引脚P31的情况下,配置与读取按键引脚的语句为:
hal_gpio_pin_init(P31, IE);
while(hal_gpio_read(P31));
以按键控制LED的主程序为:
int app_main(void)
{
/* Initialize the operating system */
osal_init_system();
osal_pwrmgr_device( PWRMGR_BATTERY );
hal_gpio_pin_init(P0, OEN);
hal_gpio_write(P0, 1);
hal_gpio_pin_init(P34, OEN);
hal_gpio_write(P34, 1);
hal_gpio_pin_init(P14, OEN);
hal_gpio_write(P14, 1);
hal_gpio_pin_init(P31, IE);
while(1)
{
delay(1000);
hal_gpio_write(P34, 1);
hal_gpio_write(P0, 1);
delay(1000);
hal_gpio_write(P34, 0);
hal_gpio_write(P0, 0);
if(hal_gpio_read(P31))
hal_gpio_write(P14, 1); // G ON
else
hal_gpio_write(P14, 0); // G OFF
}
/* Start OSAL */
osal_start_system(); // No Return from here
return 0;
}
经程序下载测试,其控制效果正常。
有了GPIO口的使用基础,后面可利用GPIO口来模拟I2C通讯以驱动OLED屏。
引用: Jacktang 发表于 2021-11-25 07:33 GPIO的端口控制和按键使用是基础,从51单片机学习开始一样一样的 谢谢分享
是呀,每接触一个新类型的板子掌握GPIO是基本功,没它走不起来。