rtthread设备
文章平均质量分 59
hello_world^_^
这个作者很懒,什么都没留下…
展开
-
【rtthread设备】补充篇:结合源码认识rtthread设备的三层框架
一、rtthread设备三层框架绝大部分的嵌入式系统都包括一些 I/O(Input/Output,输入 / 输出)设备,例如仪器上的数据显示屏、工业设备上的串口通信、数据采集设备上用于保存数据的 Flash 或 SD 卡,以及网络设备的以太网接口等,都是嵌入式系统中容易找到的 I/O 设备例子。RT-Thread 提供了一套简单的 I/O 设备模型框架,如下图所示,它位于硬件和应用程序之间,共分成三层,从上到下分别是 I/O 设备管理层、设备驱动框架层、设备驱动层。其中,设备管理层和设备驱动框架层rtt原创 2021-05-15 19:07:05 · 1700 阅读 · 0 评论 -
【rtthread设备】第八篇:看门狗设备
一、watchdog设备概念看门狗启动后,可以在空闲线程或者关键任务喂狗,在产品化的嵌入式系统保证在系统异常时能够自动复位。二、watchdog设备api//查找设备/*name:设备名称,一般为wdt*/rt_device_t rt_device_find(const char* name);//初始化看门狗/*看门狗句柄*/rt_err_t rt_device_init(rt_device_t dev)//控制看门狗/*dev:看门狗句柄cmd:控制命令,可取原创 2021-05-15 11:41:25 · 1737 阅读 · 0 评论 -
【rtthread设备】第七篇:spi设备
一、spi设备概念rtthread将spi设备抽象成rt_spi_device。1.1 spi配置结构体struct rt_spi_configuration{ rt_uint8_t mode; /* 模 式 */ rt_uint8_t data_width; /* 数 据 宽 度, 可 取8位、 16位、 32位 */ rt_uint16_t reserved; /* 保 留 */ rt_uint32_t max_hz; /* 最 大 频 率 */};mode原创 2021-05-15 11:40:32 · 3037 阅读 · 1 评论 -
【rtthread设备】第六篇:i2c设备
一、i2c设备驱动框架在i2c通信中,mcu一般作为主机与外围的i2c芯片通信,rttread将i2c主机虚拟成i2c总线设备,通过i2c设备接口与从机通信。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ypoQJS0h-1621013981993)(en-resource://database/1939:1)]二、i2c驱动api2.1 常用api//获得设备句柄/*name:i2c总线设备名称*/rt_device_t rt_device_find(co原创 2021-05-15 01:40:19 · 1417 阅读 · 0 评论 -
【rtthread设备】第五篇:hwtimer设备
一、hwtimer概念二、hwtimer api查找设备获得定时器句柄,根据句柄打开定时器,设置定时器超时回调函数、设置定时器模式、设置定时器超时值后定时器启动,可以读取定时器经过的时间。//查找设备/*name:设备名称*/rt_device_t rt_device_find(const char* name)//打开定时器设备/*dev:定时器设备句柄oflags:打开模式,一般取RT_DEVICE_OFLAG_RDWR*/rt_err_t rt_device_open(rt原创 2021-05-15 01:39:09 · 1471 阅读 · 0 评论 -
【rtthread设备】第四篇:pwm设备
一、pwm设备概念rtthread将pwm设备抽象成rt_device_pwm二、pwm api设置pwm的周期和脉冲宽度时间后可以使/失能pwm设备。//查找pwm设备/*name:pwm设备名称*/rt_device_t rt_device_find(const char* name);//设置pwm设备的周期和占空比/*device:pwm设备句柄channel:pwm通道period:周期pulse:脉冲宽度时间*/rt_err_t rt_pwm_set(struc原创 2021-05-15 01:38:01 · 1009 阅读 · 0 评论 -
【rtthread设备】第三篇:adc设备
一、adc设备概念跟串口一样,查找设备使用rt_device_find。二、adc设备api使用rt_device_find查找设备,强制转换为adc设备rt_adc_device_t,之后根据adc句柄可以使/失能adc某一个通道读取adc值//查找设备/*name:设备名称*/rt_device_t rt_device_find(const char* name);//使能adc通道/*dev:adc设备句柄channel:adc通道*/rt_err_t rt_ad原创 2021-05-15 01:37:17 · 1597 阅读 · 2 评论 -
【rtthread设备】第二篇:rtc设备
一、rtc设备概念二、rtc设备api//设置rtc日期/*year:设置的年month:设置的月day:设置的日*/rt_err_t set_date(rt_uint32_t year, rt_uint32_t month, rt_uint32_t day)//设置rtc时间/*hour:设置的时minute:设置的分second:设置的秒*/rt_err_t set_time(rt_uint32_t hour, rt_uint32_t minute, rt_uint32_原创 2021-05-15 01:36:06 · 1355 阅读 · 1 评论 -
【rtthread设备】第一篇:pin设备
一、pin设备概念rtthread根据引脚编号访问硬件的引脚和设置外部中断。二、pin设备apirtthread根据编号访问硬件的引脚,在stm32中通过宏GET_PIN(port,pin)获取引脚编号,之后可以设置引脚模式读写引脚设置引脚中断回调使/失能引脚中断//获取pin编号GET_PIN(port, pin)//设置引脚模式/*pin:引脚编号mode:模式,可取 #define PIN_MODE_OUTPUT 0x00 /* 输 出 */ #defi原创 2021-05-15 01:31:53 · 3016 阅读 · 0 评论 -
【rtthread设备】第零篇:IO设备
一、IO设备概念rtthread提供的IO设备模型分为三层IO设备管理层:提供一组通用的IO操作:open、read、control等,连接着应用程序和底层硬件。设备驱动框架层:rtthread对同一类外设的抽象,对不同厂家的soc提供接口。设备驱动层:soc外设驱动,操作底层硬件。rtthread将设备抽象成rt_device。/** * Device structure */struct rt_device{ struct rt_object paren原创 2021-05-14 23:04:29 · 2037 阅读 · 1 评论