,更多内容请访问:https://harmonyos.51cto.com,与华为官方共同建立的鸿蒙技术社区,Hi3861也提供了相关的GPIO口操作。最简单的LED闪烁操作源码结构如下:BUILD.gn文件内容:static_library("led_demo"){sources=["led_demo.c"]include_dirs=["//utils/native/lite/include","//kernel/liteos_m/components/cmsis/2.0","//base/iot_hardware/interfaces/kits/wifiiot_lite"]}led_demo.c内容:#include#include"stdio.h"#include"ohos_init.h"#include"cmsis_os2.h"#include"wifiiot_gpio.h"#include"wifiiot_gpio_ex.h"#include#include#include#includevoid*LedTask(constchar*arg){(void)arg;while(1){GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9,0);usleep(300000);GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9,1);usleep(300000);}returnNULL;}voidled_(void){osThreadAttr_tattr;GpioInit();//复用引脚为GPIOIoSetFunc(WIFI_IOT_IO_NAME_GPIO_9,WIFI_IOT_IO_FUNC_GPIO_9_GPIO);//设置为输出GpioSetDir(WIFI_IOT_IO_NAME_GPIO_9,WIFI_IOT_GPIO_DIR_OUT);attr.name="LedTask";attr.attr_bits=0U;attr.cb_mem=NULL;attr.cb_size=0U;attr.stack_mem=NULL_attr.=512;attr.priority=26;if(osThreadNew((osThreadFunc_t)LedTask,NULL,&attr)==NULL){printf("[LedExample]FaliedtocreateLedTask!\n");}}//SYS_RUN(led_demo);voidoled_test(无效){}SYS_RUN(oled_test);另外,GPIO口也可以作为输入,然后使用中断。示例代码如下:本示例代码中使用的开发板上的用户按钮。查阅原理图,我们可以看到Hi3861在类型-C口附近有一个用户按键,如图所示,注意不要和reset按键混淆。用户按钮对应于GPIO5引脚。/*gpiocallbackfunc*/hi_voidmy_gpio_isr_func(hi_void*arg){hi_unref_param(arg);printf("-----gpioisrsuccess-----\r\n");}/*设置按钮中断响应*/hi_voidmy_gpio_isr_demo(hi_void){hi_u32ret;printf("-----gpioisrdemo-----\r\n");(hi_void)hi_gpio_init();hi_io_set_func(HI_IO_NAME_GPIO_5,HI_IO_FUNC_GPIO_5_GPIO);/*uart1rx*/ret=hi_gpio_set_dir(HI_GPIO_IDX_5,HI_GPIO_DIR_IN);if(ret!=HI_ERR_SUCCESS){printf("=====ERROR======gpio->hi_gpio_set_dir1ret:%d\r\n",ret);return;}ret=hi_gpio_register_isr_function(HI_GPIO_IDX_5,HI_INT_TYPE_EDGE,HI_GPIO_EDGE_RISE_LEVEL_HIGH,my_gpio_isr_func,HI_NULL);if(ret!=HI_ERR_SUCCESS){printf("=====ERROR======gpio->hi_gpio_register_isr_functionret:%d\r\n",ret);}}更多内容请访问:https://harmonyos.51cto.com,与华为官方共建的鸿蒙技术社区【编辑推荐】Python虽好,但请不要盲目每个项目都用!红帽红帽开放混合云助力企业成为数字原生代企业分析鸿蒙系统helloworld程序如何调用,SYS_RUN是干什么的,5G为何突然“不流行”?新方向、新特性:Python3.9完整版发布