1、驱动框架结构体关系
2、驱动框架函数调用关系
3、设备驱动框架层(rt_drv_pwm.c)
- 驱动框架与具体的硬件平台不相关。向上为应用层提供接口。
应用代码可以使用标准设备接口(read、write、control)控制设备,也可以直接使用上上面的接口控制设备。
- 向下为设备驱动层提供注册接口。
设备驱动层实现设备驱动框架层的提供的rt_pwm_ops 结构体,并调用驱动框架层提供的rt_device_pwm_register函数完成注册。
3.1、 _pwm_conntrol
实现了两个命令字(PWMN_CMD_ENABLE、PWMN_CMD_DISABLE)其它命令字在驱动层实现。
3.2、_pwm_read
获取pwm波脉冲宽度
3.3、_pwm_write
设置pwm波脉冲宽度
其它函数通过函数名就能判断出函数功能,就不再说明。
4、设备驱动层(drv_pwm.c)
设备驱动层,主要是通过调用HAL库实现对硬件的操作。所有的对硬件操作集中到函数control方法。
control方法对应的动作命令有: