OpenHarmony----驱动子系统开发
一、GPIO与中断
接口介绍
wifiiot_gpio.h接口
其作用是用于初始化GPIO。
1.GpioInit 初始化GPIO
2.GpioDeinit 取消初始化GPIO
3.GpioSetDir 设置GPIO引脚方向
4.GpioGetDir 获取GPIO引脚方向
5.GpioSetOutputVal 设置GPIO引脚输出电平值
6.GpioGetOutputVal 获取GPIO引脚输出电平值
wifiiot_gpio_ex.h接口
其作用是用于设置GPIO拉力和驱动器强度。
1.IoSetPull 设置GPIO引脚上拉
2.IoGetPull 获取GPIO引脚上拉
3.IoSetFunc 设置GPIO引脚功能
4.IoGetFunc 获取GPIO引脚功能
5.IOSetDriverStrength 设置GPIO驱动能力
6.IOGetDriverStrength 获取GPIO驱动能力
查看LED对应的GPIO引脚
LED对应的GPIO引脚是GPIO2通过 控制GPIO2输出的的电平信号来实 现LED灯的闪烁。
GPIO中断
二、PWM子系统开发
API介绍
如何改变LED灯亮度
配置文件
一共需要修改两个hcs文件,分别是:device_info.hcs和pwm_config.hcs
1.首先 编辑st\bearpi_hm_micro\liteos_a\hdf_config\device_info\device_info.hcs增加pwm节点,该节点应该是在 platform :: host节点下创建。其中policy=1表示只对内核发布驱动服务,moduleName必须为HDF_PLATFORM_PWM,serviceName必须以HDF_PLATFORM_PWM_开头,后面的数字用来区别不同的pwm外设。
2.第二个配置文件就是自己创建的,在\bearpi_hm_micro\liteos_a\hdf_config\录下创建pwm目录,在目录中创建 pwm_config.hcs,其中PWM的计数频率是1MHZ,在代码中写死,可以修改;physics_register表示TIM的寄存器基地址,根据STM32MP1参考手册可知TIM2的寄存器地址是x40000000寄存器地址范围是0x70。
三、ADC采样开发
接口介绍
硬件设计
软件设计
该函数通过使用IoTAdcRead()函数来读取 ADC_CHANNEL_5 的数值存储在data中, IOT_ADC_EQU_MODEL_8 表示8次平均算法模式,IOT_ADC_CUR_BAIS_DEFAULT 表示默认的自动识别模式,最后通过 data * 1.8 * 4 / 4096.0 计算出实际的电压值。
四、I2C总线
接口介绍
查看引脚
读写NFC芯片
完整代码参考:https://gitee.com/william_william/GD32.git