首页 > 其他分享 >嵌入式硬件操作接口实现分享

嵌入式硬件操作接口实现分享

时间:2024-08-10 14:53:33浏览次数:6  
标签:rt thread 代码 接口 嵌入式 硬件 device

一、前言

以STM32为例,打开网络上下载的例程或者是购买开发板自带的例程,都会发现应用层中会有stm32f10x.h或者stm32f10x_gpio.h,这些文件严格来时属于硬件层的,如果软件层出现这些文件会显得很乱。

使用过Linux的童鞋们肯定知道linux系统无法直接操作硬件层,打开linux或者rt_thread代码会发现代码中都会有device的源文件,没错,这就是驱动层。

图片

二、实现原理

原理就是将硬件操作的接口全都放到驱动链表上,在驱动层实现device的open、read、write等操作。当然这样做也有弊端,就是驱动find的时候需要遍历一遍驱动链表,这样会增加代码运行时间。

三、代码实现

国际惯例,写代码先写头文件。rt_thread中使用的是双向链表,为了简单在这我只用单向链表。有兴趣的可以自行研究rt_thread

头文件接口:

本次只实现如下接口,device_open 和device_close等剩下的接口可以自行研究。这样就可以在应用层中只调用如下接口可实现:

/*
    驱动注册
*/
int cola_device_register(cola_device_t *dev

标签:rt,thread,代码,接口,嵌入式,硬件,device
From: https://blog.csdn.net/weixin_41114301/article/details/141090861

相关文章

  • 嵌入式初学-C语言-十九
    指针的引入为函数修改实参提供支持为动态内存管理提供支持为动态数据及结构提供支持为内存访问提供另一种途径指针的概述内存地址:系统为了内存管理的方便将内存划分为一个个内存单元(一个内存单元占一个字节),并为每一个内存单元进行了编号,内存单元的编号称为该内存单元的地址......
  • Collection(接口)及对单个元素进行操作day12
    packagecom.shujia.day12;importjava.util.ArrayList;importjava.util.Collection;/*Collection:合层次结构中的根界面。集合表示一组被称为其元素的对象。一些集合允许重复元素,而其他集合不允许。】、有些被命令和其他无序。JDK不提供此接口的任何直接实现:它......
  • 接口自动化-YAPI+GITLAB+JENKINS+飞书畅想与实践
    起因工作中遇到期望做接口自动化,之前公司跟着团队做过python+request搭建的自动化框架,逐步完善框架本身,与接口测试用例本身,都是需要代码编写能力较强,能保证框架本身没问题,也要保证接口用例本身没问题。领导期望接口自动化能做到闭环,从代码产生开始到接口测试结果结束,都可以......
  • 易捷OA协同办公系统 ShowPic接口任意文件读取漏洞复现 [附POC]
    文章目录易捷OA协同办公系统ShowPic接口任意文件读取漏洞复现[附POC]0x01前言0x02漏洞描述0x03影响版本0x04漏洞环境0x05漏洞复现1.访问漏洞环境2.构造POC3.复现易捷OA协同办公系统ShowPic接口任意文件读取漏洞复现[附POC]0x01前言免责......
  • 万户OA ezOFFICE graph_include.jsp接口SQL注入漏洞复现 [附POC]
    文章目录万户OAezOFFICEgraph_include.jsp接口SQL注入漏洞复现[附POC]0x01前言0x02漏洞描述0x03影响版本0x04漏洞环境0x05漏洞复现1.访问漏洞环境2.构造POC3.复现0x06修复建议万户OAezOFFICEgraph_include.jsp接口SQL注入漏洞复现[附P......
  • 泛微E-office 10 schema_mysql接口敏感信息泄露漏洞复现 [附POC]
    文章目录泛微E-office10schema_mysql接口敏感信息泄露漏洞复现[附POC]0x01前言0x02漏洞描述0x03影响版本0x04漏洞环境0x05漏洞复现1.访问漏洞环境2.构造POC3.复现泛微E-office10schema_mysql接口敏感信息泄露漏洞复现[附POC]0x01前言......
  • 宝塔配置域名反向代理到ip+端口的接口地址
    宝塔配置域名反向代理到ip+端口的接口地址添加站点配置域名配置反向代理目标URL写服务器的本地ip地址127.0.0.1代理到9000端口上发关域名也写127.0.0.1或者$host申请https证书访问接口https://abc.baidu.com/xxx/xxx......
  • 盘点市场热门AI视频智能分析边缘计算硬件及其特点与应用
    随着人工智能、大数据和云计算技术的飞速发展,安防监控市场正经历着前所未有的变革。其中,AI视频智能分析边缘计算硬件作为核心组成部分,正逐步成为市场的新宠。一、AI视频智能分析边缘计算硬件概述AI视频智能分析边缘计算硬件是指一类专门设计用于实现视频分析和边缘计算的硬件设......
  • Nuxt3 axios封装 使用axios接口请求
    一、先安装axiosnpminstalladdaxios封装请求request.ts文件importaxiosfrom'axios'import{ElMessage,Message}from"element-plus"import{getToken}from'./token.js'constservice=axios.create({baseURL:'/api',//......
  • NVMe主机控制器,AMBA-AXI4-Stream接口,Xilinx FPGA,介绍手册
    NVMeA4SHostControllerIP1     介绍NVMeA4SHostControllerIP可以连接高速存储PCIeSSD,无需CPU和外部存储器,自动加速处理所有的NVMe协议命令,具备独立的数据写入AXI4-Stream/FIFO接口和数据读取AXI4-Stream/FIFO接口,适合于高性能、顺序访问的应用,比如视频记录、信号......