可以看出,RT-Thread 通过结构体和函数指针使用 C 语言实现了一些面向对象编程的特性,如封装和继承等,这样面向对象、模块化的思维框架,有助于实现各模块之间高内聚低耦合,提高开发效率。 操作方法 在rt-threadcomponentsdriversincludedriverscan.h 中可以看到针对 CAN 设备有以下操作方法,这些操作方法是需要我们在设备驱...
参考STM32的CAN驱动,我们移植英飞凌的CAN驱动对接到RT-Thread的 CAN框架。最终完成了一个传统CAN模式的测试框架,并提交到github上面。https://github.com/Jason0204/rtthread-xmc7200测试效果如下: XMC7200EVK 传统模式下的CANFD在RT-Thread下的运行已经完成驱动移植和部分测试。
正是这样的框架,使得 RT-Thread 设备框架中各模块高内聚低耦合,对于已有的设备类型,只要将底层硬件的驱动对接到设备驱动层,就可以在应用程序中,调用统一的标准接口,使用的不同厂家不同类型的硬件设备。 1.数据结构 structrt_device{ structrt_object parent;//继承rt_object对象,不用管 enum rt_device_class_type...
初始化serial_rx和serial_tx为RT_NULL 调用串口设备configure方法,configure方法需要驱动层实现 3.2rt_serial_control IO设备管理层对串口设备调用rt_device_control时,实际调用的就是这个函数 /* components/drivers/serial/serial.c */staticrt_err_trt_serial_control(structrt_device*dev,intcmd,void*args){rt_er...
(2)学习本文之前,建议先在裸机上实现CAN通讯,这样测试一下通讯是否硬件是否正常。 前期准备 创建RT-Thread标准版工程 (1)打开项目资源管理器。 (2)在项目资源管理器中右键 —> 新建 —> 项目。 (3)选择RT-Thread项目 —> 下一步。 (4)选择所需要的芯片型号 ...
(2)首先将RT-Thread+ENV+MDK+STM32CubeMX适配好的模板文件复制一份下来。 移植驱动 使能CAN驱动 (1)加入CAN驱动,并且使能 <1>进入rt-thread\bsp\stm32\rtthread_can\board\Kconfig在如图位置加入如下代码。 menuconfig BSP_USING_CAN bool "Enable CAN" ...
昨晚很荣幸邀请到李工在RT-Thread微信群进行RT-Thread上的CAN驱动和应用讲座。小编整理了讲座内容,特发出讲义以供享用。 讲师:李起伟,任职于煤炭科学技术研究院有限公司,助理研究员,硕士,现主要从事嵌入式系统与煤矿安全监测监控系统的研究工作 分享主题:RT-Thread上的CAN驱动和应用 ...
使用RT-ThreadStudio来创建工程,配置CAN接口驱动,编写CAN接口测试程序,实现瑞萨RA6M3芯片和上 位机CAN通信(数据接收与发送)。 1.2.模块介绍 CAN接口图 1.3.开发软件 RT-Thread Studio , RA Smart Configurator 2.步骤说明 2.1.新建工程 2.2.编写测试程序 ...
?SPI总线驱动框架 ?USBHost驱动框架 ?RT-Thread,来自中国的开源实时操作系统 ?诞生于2006年;硬实时操作系统核心; ?低资源占用的软件系统平台; ?RT-Thread本身依赖于社区方式发展 ?开源、永远开源;(GPLv2许可证) ?社区多样性的发展方式: ?支持众多的处理器: ...
RT-Thread是一款国产化的嵌入式操作系统,目前在嵌入式领域得到广泛应用,其强大的扩展功能以及通用的外设驱动框架备受大家追捧。 关于基本的外设驱动,其官网上基本也都有部分描述,但是关于SDIO设备驱动目前为止还没有相关文档说明,因此本文笔者将根据自己的调试使用经验,与大家分享下rtthread的通用SDIO设备驱动的实现。