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接口支持相关推荐

  1. Posix 接口笔记

    声明:在如下博客中添加仅目录,若牵涉到利益问题,请联系我,谢谢! 原博客:https://www.cnblogs.com/alexliu2360/p/5674345.html POSIX API PO ...

  2. 深入理解GlusterFS之POSIX接口

    (TaoCloud团队原创 作者:林世跃@TaoCloud) FUSE是用户空间的文件系统接口,FUSE内核模块为普通应用程序与内核虚拟文件系统VFS的交互提供了一个桥梁.基于FUSE用户空间模块,开 ...

  3. mfc工程中添加com接口支持

    在普通的mfc工程中常常需要添加com接口支持.最典型的应用就是使用 com中的连接点机制时,需要在客户端实现事件接受器.简单说来,就是要实现在com服务器端声明的事件接口.这个接口由server端暴 ...

  4. 【springboot】【若依(ruoyi)】@RestController 接口支持 JSONP

    前言 若依(ruoyi): v4.3 springboot 2.1.1.RELEASE spring 5.1.3.RELEASE 360极速浏览器 12.0.1476.0 (正式版本) (32 位) ...

  5. 航班动态查询接口 支持最新航班查询

    在即将到来的双十二,在聚合数据平台上的航班动态查询接口将参与"暖冬不如低价活动",航班动态查询接口支持最新航班查询,包括始发.重点.航班号.航空公司.日期.准确率.始发天气.终点天 ...

  6. asp 支付宝 企业版 接口 支持网银接口 ,网银直接支付

    asp 支付宝 企业版 接口 支持网银接口 ,网银直接支付 只是多了一个defalutbank的参数.具体看 open.alipay.com <% ' 类名:AlipaySubmit ' 功能: ...

  7. 股票自动交易软件接口支持的语言是什么?

    股票自动交易软件接口支持的语言是什么?它支持Java.Python和C/C++/C#接口调用,有编程能力的用户可以实现个性化的订单需求.支持任何可以调用DLL的编程语言,而不仅仅是Net c#和c++ ...

  8. MATLAB航空发动机装配,航空发动机在MATLAB与C++接口支持下的建模方法

    航空发动机在 MATLAB 与 C ++ 接口支持下的建模方法 刁启娜 王 曦(北京航空航天大学 ,北京 100083) 摘要 :研究了 MATLAB 与 C ++ 接口及数据处理问题 ;基于航空发动 ...

  9. 火车票代售点查询接口支持全国火车票代售点查询

    火车票代售点查询接口支持全国火车票代售点查询,下面将分享的是火车票代售点查询接口调用代码JSON返回示例. 接口名称:火车票代售点查询接口 接口平台:开放api 接口地址:http://apis.ju ...

最新文章

  1. sql server 配置管理器里为什么是32位_死磕 Nginx 系列:Nginx 限流配置
  2. 白皮书下载 |《产品用户体验的数据化评估》
  3. 福建物联网产业发展势头良好
  4. 关于substring的理解
  5. 《深入理解分布式事务》第四章 分布式事务的基本概念和理论知识
  6. js识别用户设备是移动端手机时跳转到手机网站
  7. bootdo项目war包部署流程
  8. Python API接口压力测试简单实现(并发测试)
  9. python决策树例题经典案例-决策树python实现小样例
  10. linux下 Apache 配置虚拟主机三种方式
  11. C++-对于一个频繁使用的短小函数,应该使用什么来实现?有什么优缺点?
  12. 猜数字小游戏,超级简单就可以实现哦
  13. 数据库实验三 嵌套查询和视图操作
  14. 实现Comparable接口和Comparator接口,并重写compareTo方法和compare方法
  15. 相对定位中整周模糊度确定方法
  16. 人的一生会遇上的四个人
  17. 流弊了!用Python分分钟把微信头像变卡通,油画,素描!
  18. 根据出生日期计算年龄——基于Python的datetime库
  19. 信息安全与密码学博士:应该掌握的52个知识--(4)T46-- 菲亚特-沙米尔(Fiat-Shamir)变换
  20. python编程的就业方向_2021年python编程就业方向是怎样的?

热门文章

  1. 语音业务VOIP开发之SIP协议篇(三) —— SIP报文解析
  2. 转载一篇讲NAT类型比较好的科普文
  3. 获取数据表里的下一个自增序号
  4. 振幅和差单脉冲雷达在自动测角系统中的应用
  5. 关于markdown中换行的问题
  6. VS2019编译GDAL2.2.4
  7. 同步助手java_QQ同步助手Java版发布
  8. EMUI Android跑流量,EMUI 10这个功能太好用,超大文件秒传还不费流量
  9. 简单的文本编辑器 - wxWindows编程事例
  10. Python提取多个docx文本内容