rtthread posix接口支持
rtthread 支持POSIX 接口,驱动现在也需要支持posix接口,让linux 的应用同样可以运行到让rtthread上 .应用通用可以减少上层应用的改动。加快产品开发速度,同样测试也可以通用,减少维护成本,提高测试效率。
驱动部分需要实现:
应用声明文件:
#include <dfs_file.h>
#include <dfs_posix.h>
#include <dfs_poll.h>
实现的接口结构体:
static const struct dfs_file_ops rtc_fops = {
rtc_fops_open,
RT_NULL,
RT_NULL,
rtc_fops_read,
RT_NULL,
RT_NULL,
RT_NULL,
RT_NULL,
rtc_fops_poll,
};
以上接口函数的实现:
int rtc_fops_open(struct dfs_fd *fd)
{
return 0;
}
static int rtc_fops_read(struct dfs_fd *fd, void *buf, size_t count)
{
*(int *)buf = (core_int_count<<8) | 0x0;
return 0;
}
static int rtc_fops_poll(struct dfs_fd *fd, rt_pollreq_t *req)
{
int mask = 0;
rt_completion_wait(&rtc_uie_completion, RT_WAITING_FOREVER);
return mask;
}
进行注册:
#ifdef RT_USING_POSIX
rtc.fops = (void *)&rtc_fops;
#endif
这样驱动的准备就完成了。
应用进行调用的流程:
rtc_fd = open("/dev/rtc", O_RDONLY, 0);//open 设备
if (rtc_fd < 0)
{
rt_kprintf(“open rtc dev failed %d\n”,rtc_fd);
return;
};
while(1){
FD_ZERO(&readfds);
FD_SET(rtc_fd, &readfds);
rt_kprintf(“select fd:%d readfds:%d\n”,rtc_fd,readfds);
ret = select(rtc_fd+1, &readfds, RT_NULL, RT_NULL, &timeout);// 应用调用select 接口,驱动进入到poll
if (ret < 0)
{
rt_kprintf(“select failed %d\n”, ret);
test_rlt = -1;
}
read(rtc_fd, &buf, 3);// 驱动部分会进入read 函数
rtthread posix接口支持相关推荐
- Posix 接口笔记
声明:在如下博客中添加仅目录,若牵涉到利益问题,请联系我,谢谢! 原博客:https://www.cnblogs.com/alexliu2360/p/5674345.html POSIX API PO ...
- 深入理解GlusterFS之POSIX接口
(TaoCloud团队原创 作者:林世跃@TaoCloud) FUSE是用户空间的文件系统接口,FUSE内核模块为普通应用程序与内核虚拟文件系统VFS的交互提供了一个桥梁.基于FUSE用户空间模块,开 ...
- mfc工程中添加com接口支持
在普通的mfc工程中常常需要添加com接口支持.最典型的应用就是使用 com中的连接点机制时,需要在客户端实现事件接受器.简单说来,就是要实现在com服务器端声明的事件接口.这个接口由server端暴 ...
- 【springboot】【若依(ruoyi)】@RestController 接口支持 JSONP
前言 若依(ruoyi): v4.3 springboot 2.1.1.RELEASE spring 5.1.3.RELEASE 360极速浏览器 12.0.1476.0 (正式版本) (32 位) ...
- 航班动态查询接口 支持最新航班查询
在即将到来的双十二,在聚合数据平台上的航班动态查询接口将参与"暖冬不如低价活动",航班动态查询接口支持最新航班查询,包括始发.重点.航班号.航空公司.日期.准确率.始发天气.终点天 ...
- asp 支付宝 企业版 接口 支持网银接口 ,网银直接支付
asp 支付宝 企业版 接口 支持网银接口 ,网银直接支付 只是多了一个defalutbank的参数.具体看 open.alipay.com <% ' 类名:AlipaySubmit ' 功能: ...
- 股票自动交易软件接口支持的语言是什么?
股票自动交易软件接口支持的语言是什么?它支持Java.Python和C/C++/C#接口调用,有编程能力的用户可以实现个性化的订单需求.支持任何可以调用DLL的编程语言,而不仅仅是Net c#和c++ ...
- MATLAB航空发动机装配,航空发动机在MATLAB与C++接口支持下的建模方法
航空发动机在 MATLAB 与 C ++ 接口支持下的建模方法 刁启娜 王 曦(北京航空航天大学 ,北京 100083) 摘要 :研究了 MATLAB 与 C ++ 接口及数据处理问题 ;基于航空发动 ...
- 火车票代售点查询接口支持全国火车票代售点查询
火车票代售点查询接口支持全国火车票代售点查询,下面将分享的是火车票代售点查询接口调用代码JSON返回示例. 接口名称:火车票代售点查询接口 接口平台:开放api 接口地址:http://apis.ju ...
最新文章
- sql server 配置管理器里为什么是32位_死磕 Nginx 系列:Nginx 限流配置
- 白皮书下载 |《产品用户体验的数据化评估》
- 福建物联网产业发展势头良好
- 关于substring的理解
- 《深入理解分布式事务》第四章 分布式事务的基本概念和理论知识
- js识别用户设备是移动端手机时跳转到手机网站
- bootdo项目war包部署流程
- Python API接口压力测试简单实现(并发测试)
- python决策树例题经典案例-决策树python实现小样例
- linux下 Apache 配置虚拟主机三种方式
- C++-对于一个频繁使用的短小函数,应该使用什么来实现?有什么优缺点?
- 猜数字小游戏,超级简单就可以实现哦
- 数据库实验三 嵌套查询和视图操作
- 实现Comparable接口和Comparator接口,并重写compareTo方法和compare方法
- 相对定位中整周模糊度确定方法
- 人的一生会遇上的四个人
- 流弊了!用Python分分钟把微信头像变卡通,油画,素描!
- 根据出生日期计算年龄——基于Python的datetime库
- 信息安全与密码学博士:应该掌握的52个知识--(4)T46-- 菲亚特-沙米尔(Fiat-Shamir)变换
- python编程的就业方向_2021年python编程就业方向是怎样的?