2183|6

6483

帖子

8

TA的资源

管理员

楼主
 

阅读打卡第二站:2-8章——《RT-Thread设备驱动开发指南》 [复制链接]

阅读小伙伴们@南若   @chrisrh @wakojosin @xiaolinen @damiaa   打卡第二站题目来啦:

预计阅读完《RT-Thread设备驱动开发指南》第2-8章可解答

 

  1. I2C总线设备从机地址被定义在哪个设备结构中?
  2. 系统中存在SPI Bus之后,要执行什么操作才能增加一个SPI从设备?
  3. 不考虑系统内存,HWTIMER硬件定时器的个数可以是无限个吗?
  4. pwm设备中,control方法中的arg代表什么?
  5. RTC驱动依赖libc库吗?

附上>>第一站打卡题目,官方给的答案供参考,你们答的如何?

  1. RT-Thread 设备基类是什么?
    1. rt_device
  2. RT-Thread为设备提供了哪些操作方法?
    1. init,open,close,read, write,control
  3. 设备名的最大长度是什么指定的?
    1. 由 rtconfig.h 中定义的宏 RT_NAME_MAX 指定
  4. 设备注册失败,可能的原因是什么?
    1. 设备句柄为空;设备名已经被注册
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

最新回复

1、12C总线设备从机地址被定义在struct rt_i2c_msg结构体中; 2、可以借助rt_hw_spi_device_attach() 把spi从设备挂载到指定的 SPI 总线; 3、因为受限于MCU定时器的数量,所以不是无限的,一般为3-15个; 4、PWM的配置参数,可以配置通道,周期以及占空比; 5、依赖   详情 回复 发表于 2023-8-24 09:44
点赞 关注
个人签名微信搜索公众号“EEWORLDBBS”快去添加关注吧!

回复
举报

6107

帖子

4

TA的资源

版主

沙发
 
本帖最后由 damiaa 于 2023-8-19 14:43 编辑

 1,I2C总线设备从机地址被定义在哪个设备结构中?

       struct rt-i2c_msg

      {

          rt_uint16_t addr;

          ...

      }

2,系统中存在SPI Bus之后,要执行什么操作才能增加一个SPI从设备?

rt_hw_spi_device_attach() 挂载spi外设(spi从设备)。

3,不考虑系统内存,HWTIMER硬件定时器的个数可以是无限个吗?

不行,HWTIMER硬件定时器是和MCU硬件定时器意义绑定的。也就是mcu有多少个硬件定时器,最多也就能产生多少HWTIMER硬件定时器。一般就3~15个。

4,pwm设备中,control方法中的arg代表什么?

arg是PWM设备的配置参数,对PWM设备操作时,需要传入的设置参数包括PWM的设备通道号,波形周期和脉冲宽度。占空比就是脉冲宽度与波形周期的比值。

struct rt_pw_configuration

{

   rt_uint32_t  channel;

  rt_uint32_t  period;

  rt_uint32_t  pluse; 

}

5,RTC驱动依赖libc库吗?

按书上说如果使用片上RTC应该是依赖使用libc库。如果不用片上RTC呢。

 
 

回复

82

帖子

3

TA的资源

一粒金砂(中级)

板凳
 

I2C总线设备从机地址被定义在哪个设备结构中?


struct rt_i2c_msg结构体中。


系统中存在SPI Bus之后,要执行什么操作才能增加一个SPI从设备?


可以通过xxx_spi_device_attach将设备挂载到spi总线设备上,函数内部通过调用rt_spi_bus_attach_device来完成注册。


不考虑系统内存,HWTIMER硬件定时器的个数可以是无限个吗?


不可以,因为HWTIMER是与MCU定时器一一绑定的。


pwm设备中,control方法中的arg代表什么?


代表struct rt_pwm_configuration配置参数。


RTC驱动依赖libc库吗?


依赖的。


 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(高级)

4
 

1)12C总线设备从机地址被定义在:struct rt_i2c_msg中;

struct rt_i2c_msg{

     rt_uint16_t addr;    /*从机地址*/

     rt_uint16_t flags;    /*读,写标志等*/

     rt_uint16_t len;      /*读写数据字节数*/

     rt_uint8_t *buf;       /*读写数据缓冲区指针*/

}

2)系统中存在SPI总线设备后,可以借助挂载SPI从设备的接口,通过rt_hw_spi_device_attach()函数挂载一个SPI外设(SPI从设备)。

3)在不考虑系统内存的情况下,HWTIMER硬件定时器的个数也不是无限的;因为HWTIMER硬件定时器是和硬件MCU定时器一一绑定的,其可用的定时器数量受限于硬件MCU本身定时器的数量,一般在3~15个。

4)pwm设备中,control方法中的arg:是PWM设备的配置参数,对PWM设备操作时,需要传入的设置参数包括PWM设备的通道号,波形周期和脉冲宽度。参数类型定义如下所示:

struct rt_pw_configuration

{

    rt_uint32_t  channel;  /*PWM通道:0~n*/

    rt_uint32_t  period;    /*PWM周期时间(单位为ns)*/

    rt_uint32_t  pluse;     /*PWM脉冲宽度时间(单位为ns)*/

}

5)RTC驱动依赖libc库吗?

:书中8.5章节驱动配置中提到需要使能RT_USING_LIBC,故目前认为是需要依赖。

 
 
 

回复

7056

帖子

11

TA的资源

版主

5
 

学习学习中!

 
 
 

回复

182

帖子

1

TA的资源

一粒金砂(高级)

6
 

1、I2C总线设备从机地址被定义在哪个设备结构中?

 

 

2、系统中存在SPI Bus之后,要执行什么操作才能增加一个SPI从设备?

挂载一个 SPI 设备到指定的 SPI 总线,并向内核注册 SPI 设备。

 新的挂在函数,单独列出了CS_PIN

 

3、不考虑系统内存,HWTIMER硬件定时器的个数可以是无限个吗?

硬件定时器一般有 2 种工作模式,定时器模式和计数器模式。不管是工作在哪一种模式,实质都是通过内部计数器模块对脉冲信号进行计数。所以HWTIMER硬件定时器取决于硬件定时器的个数,不可以无限个

 

4、pwm设备中,control方法中的arg代表什么?

 

 

 

 

5、RTC驱动依赖libc库吗?

RTC框架的时间设置利用了时间戳,所以会有依赖

 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

7
 

1、12C总线设备从机地址被定义在struct rt_i2c_msg结构体中;

2、可以借助rt_hw_spi_device_attach() 把spi从设备挂载到指定的 SPI 总线;
3、因为受限于MCU定时器的数量,所以不是无限的,一般为3-15个;

4、PWM的配置参数,可以配置通道,周期以及占空比;

5、依赖

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表