前言
- RT-Thread 的device框架,还是比较的实用的,可以用来对一些外设、模块进行【抽象】,这样底层驱动与上层应用可以降低耦合性。
- 默认RT-Thread的BSP工程,大部分都是一个流水灯控制,一般流水灯是通过GPIO引脚直接控制的。
- 这里使用rt_device的方法,把led注册成一个led device,通过device的API接口进行控制
学习rt_device
- rt_device 提供了较为通用的接口,可以实现对设备的初始化、读写、控制,当然,如果外设过于复杂,可以增加额外的ops,也就是可以自己定义一个device,继承rt_device。
- rt_device 主要的ops如下:
/* common device interface */
rt_err_t (*init) (rt_device_t dev);