RT-Thread微秒延时?

2023-11-12

今天继续做之前的东西,使用了RT-thread操作系统。程序中有AT24C02的相关操作AT24C02的操作的接口是IIC接口,所以又涉及到IIC。程序用的模拟的IIC,IIC的时序挺严格的,有微秒的延时操作。由于模拟IIC程序中的延时操作用的是裸机实现滴答定时器的延时方式,所以造成程序卡死。要解决这个问题第一时间想到的是RT-Thread有没有相关的微秒级别的延时API。由于是在MDk软件包添加的RTT,所以 没找到相关的API。求助百度发现真的有相关的函数实现微秒延时的。
在这里插入图片描述
RT-thread论坛上有人说drv_common.c上过有这个微秒函数的实现。但是很玄学啊,之前在RT-thread的4.0.1的源码中找到了这个文件。而现在下同一个版本的源码我却找不到了drv_common.c这个文件了,很玄学啊。好吧,那去官方手册上找吧。找到的函数代码如下:
在这里插入图片描述
这个函数延时微秒时间不能超过一个OS tick1/RT_TICK_PER_SECOND s
之前在drv_common.c文件里面找到的那个rt_hw_us_delay()函数是理论上可以延时2^32-1微秒(实际上好像也不能延时这么多)

再搜索终于找到之前找到的drv_common.c文件,rt_hw_us_delay()函数实现如下:
在这里插入图片描述
这个函数延时的时间可超过一个OS tick

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RT-Thread微秒延时? 的相关文章

  • rtthread ulog 日志组件

    ulog 简介 日志的定义 xff1a 日志是将软件运行的状态 过程等信息 xff0c 输出到不同的介质中 xff08 例如 xff1a 文件 控制台 显示屏等 xff09 xff0c 并进行显示和保存 为软件调试 维护过程中的问题追溯 性
  • RT-Thread记录(十八、I2C软件包 — 温湿度传感器 SHT21与EEPROM 24C02)

    本文学习测试一下几款典型设备的 RT Thread I2C软件包 目录 前言 一 RT Thread I2C 总线注册 1 1 I2C 设备使用步骤 1 2 检查问题 二 温湿度传感器软件包 2 1 添加及基本测试 2 2 程序中使用 三
  • RT-Thread记录(十四、I/O 设备模型之ADC设备)

    RT Thread ADC 设备学习使用 目录 前言 一 ADC 采样基础 1 1 ADC 通道 1 2 ADC 分辨率 1 3 ADC 采样计算 二 ADC 设备操作函数 2 1 查找 ADC 设备 2 2 使能 关闭 ADC 通道 2
  • rt-thead-studio 中实现 MPU6050基于DMP中断读取数据

    rt thead studio 中实现 MPU6050基于DMP中断读取数据 目录 文章目录 rt thead studio 中实现 MPU6050基于DMP中断读取数据 目录 toc 前言 mpl高级特性库问题 一 基于开发板创建闪灯工程
  • RTT-移植Nano

    RTT 移植Nano 一 准备工作 STM32F103模板工程 RTT nano源码 https www rt thread org document site rt thread version rt thread nano an0038
  • 使用RT-Thread Studio 建立 L476 Nucleo 项目工程并完成相关功能

    使用RT Thread Studio 建立 L476 Nucleo 项目工程并完成相关功能 1 新建RTT工程 2 添加cube对应的驱动 Nucleo 板上 X2 低速时钟有 X3调整时钟无 UART2串口配置 PA2 PA3 用户按键
  • RT-Thread记录(十三、I/O 设备模型之PIN设备)

    讲完UART设备之后 我们已经熟悉RT Thread I O 设备模型了 回头看看基本的 PIN 设备 目录 前言 一 PIN 设备模型解析 1 1 初识 GPIO 操作函数 1 2 PIN 设备框架 1 3 PIN 设备驱动框架层 实现的
  • RT-Thread中AT组件连接ESP8266 模块

    应用 AT 组件连接 ESP8266 模块 本文介绍 智龙开发板 应用AT组件 连接 esp8266 模块 从而连接无线网络 参考官网 应用 AT 组件连接 ESP8266 模块 1 首先去除 lwip 2 连接硬件模块 连接到智龙开发板的
  • ArtPi 认识RTT Studio建立LED工程

    1 认识RTT Studio建立LED工程 软件IDE RT Thread Studio 版本 2 1 1 硬件平台 ART Pi CPU STM32H750XB 开发板基本外设功能实现 串口 uart4 PA0 PI9 Red LED P
  • RT-Thread分析-日志系统-rt_kprintf分析

    目录 1 前言 2 rt kprintf 3 配置选项 4 console设备 4 1 设备声明 4 2 设备创建 4 3 获取 console device 5 分析rt kprintf 函数 6 rt kprintf重定向 1 前言 内
  • RT-Thread记录(八、理解 RT-Thread 内存管理)

    RT Thread内核的我们已经基本都学习过了 除了基本的线程操作和通信 内核部分还有内存管理和中断处理 本文主要就来说说内存管理相关问题 目录 前言 一 为什么要内存管理 二 RT Thread 内存堆管理 2 1 RT Thread 内
  • RT-Thread 应用篇 — 在STM32L051上使用 RT-Thread (二、无线温湿度传感器 之 CubeMX配置)

    应用篇 在STM32L051上使用RT Thread 第二篇 使用STM32CubeMX 进行对应外设配置 同时做一些简单测试 目录 前言 一 使用 STM32CubeMX 配置 1 1 基础步骤 1 2 修改配置 1 3 踩坑记录 二 初
  • RTThread:静态线程&动态线程

    一 静态线程创建 rt thread init rt err t rt thread init struct rt thread thread const char name void void parameter entry void p
  • rtt下的adbd使用

    RTT 下的ADBD使用 1 引言 调试柿饼时 需要文件传输 由于智龙平台的RTT环境下USB还没有调试好 这里就使用ADB进行文件传输 找到了何元杰的帖子 并参考 rdb 建立 RTT与PC 的文件传输通道 2 使用环境 2 1 硬件平台
  • 野火 RT1052 移植网卡功能(LAN8720A)

    野火 RT1052 移植网卡功能 LAN8720A 开发环境 RT Thread v4 0 2 master SOC i MX RT1050 Board 野火 RT1052 目的 在 RT Thread 系统上进行网络通讯 背景描述 1 首
  • RT-Thread记录(七、IPC机制之邮箱、消息队列)

    讲完了线程同步的机制 我们要开始线程通讯的学习 线程通讯中的邮箱消息队列也属于 RT Thread 的IPC机制 目录 前言 一 邮箱 1 1 邮箱控制块 1 2 邮箱操作 1 2 1 创建和删除 1 2 2 初始化和脱离 1 2 3 发送
  • rt-thread studio中新建5.02版本报错

    先吐槽一下 rt thread studio出现BUG真多 好多时间都是在找BUG 但里面用好多控件还是挺好用的 真是又爱又恨 所以一般使用功能不多的话还是用keil多一点 创建5 02版本工程之后直接进行编译 直接会报下面这个错误 资源
  • rt-thread studio中新建5.0不能用

    文章目录 一 版本对比 二 文件和文件夹打斜杠 在使用RT Thread studio创建新工程5 0版本的时候 结果发现新建完成之后程序不能正常运行 但是创建4 10版本的时候却能运行 那肯定是新版本出现了BUG 一 版本对比 首先对比了
  • RT-Thread 内核基础(四)

    自动初始化机制 自动初始化机制是指初始化函数不需要被显示调用 只需要在函数定义处通过宏定义的方式进行申明 就会在系统启动过程中被执行 例如在串口驱动中调用一个宏定义告知系统初始化需要调用的函数 代码如下 int rt hw usart in
  • RT-Thread 内核基础(五)

    使用static修饰全局变量作用 限制作用域 如果全局变量前面加上 static 关键字 那么该变量的作用域将被限制在声明它的源文件中 即它将成为一个文件作用域的静态变量 其它源文件无法访问这个变量 这对于控制变量的可见性和避免命名冲突是有

随机推荐

  • 三次握手、四次挥手过程;TCP保证可靠传输

    三次握手 四次挥手过程 一 TCP 3次握手的过程 1 1 为什么要3次 2次 4次不行吗 二 四次挥手的过程 2 1 为什么要等待2MSL的时间才关闭 三 TCP怎么保证传输过程的可靠性 一 TCP 3次握手的过程 建立连接前server
  • Linux 中 awk 与 sed 操作

    4 awk之文本操作运算 awk是一种操作数据流的行和列的工具 也是一种编程语言 awk有很多内建的功能 比如数组 函数等 这和C语言有相同之处 sudo apt get install gawk awk BEGIN print start
  • 有关白盒测试

    一 对以下程序代码 设计测试用例 分别实现语句覆盖 判定覆盖 条件覆盖 判定 条件覆盖 条件组合覆盖 路径覆盖 void DoWork int x int y int z int k 0 j 0 if x gt 3 z lt 10 k x
  • 【华为OD机试 2023】 开放日活动、取出尽量少的球 (C++ Java JavaScript Python)

    华为od机试题库 华为OD机试2022 2023 C Java JS Py https blog csdn net banxia frontend category 12225173 html 华为OD机试2023最新题库 更新中 C Ja
  • svn无法查看日志显示离线问题

    1 如下图所示 查看svn日志时 报只能离线查看 如上图所示点击Show log后 报如下错误 2 解决办法 如下图所示 在svn本地仓库右击 选择TortoiseSVN 点击Revision graph后 等待弹框加载完毕后再关闭 再重新
  • keil5软件安装&开发环境搭建教程(mdk,c51通用)

    这是我在csdn上写的第一篇文章 心情激动兴奋 因为之前都是看别人写的博客 从来没想过自己去写一篇 在学长的鼓励下 尝试完成人生第一篇博客 仍有不足 希望大佬多多指正 写这篇的目的是因为keil5的安装是许多人入门嵌入式的第一步 而且以后遇
  • VSCode插件生成编号、目录、文件目录树

    安装VSCode 官方地址 https code visualstudio com 下载安装完毕后在扩展中安装中文插件Chinese Simplified Markdown自动生成编号和目录 安装插件Markdown All in One
  • 移动距离不超过k的几乎有序的数组进行排序(堆最优解 时间复杂度N*O(K))

    已知一个几乎有序的数组 把数组排好顺序的话 每个元素移动的距离一定不超过k 并且k相对于数组长度来说比较小 1 这道题如果我们不使用的k的条件 正常使用排序的算法 也是可以做的 只是复杂度过高 不是最优解 2 第一眼看到这个问题 感觉情况很
  • 2021-10-02PE文件学习

    欢迎大家一起来Hacking水友攻防实验室学习 渗透测试 代码审计 免杀逆向 实战分享 靶场靶机 求关注 PE文件学习 推荐工具 lord PE stud PE PE权威指南 了解格式 看雪 吾爱破解 EXE是如何组成的 如何逆向一个EXE
  • STM32 GPIO 封装过程

    基本数据类型的封装 define IO volatile lt Defines read write permissions exact width signed integer types typedef signed char int8
  • NSSCTF web 刷题记录2

    文章目录 前言 题目 广东强网杯 2021 团队组 love Pokemon NCTF 2018 Easy Audit 安洵杯 2019 easy web NCTF 2018 全球最大交友网站 prize p2 羊城杯 2020 easys
  • 华为OD机试真题-整理扑克牌【2023.Q1】

    题目内容 给定一组数字 表示扑克牌的牌面数字 忽略扑克牌的花色 请按如下规则对这一组扑克牌进行整理 步骤1 对扑克牌进行分组 形成组合牌 规则如下 当牌面数字相同张数大于等于4时 组合牌为 炸弹 3张相同牌面数字 2张相同牌面数字 且3张牌
  • dell服务器卡在启动界面_戴尔最新bios设置图解 当电脑出现开机画面按F2进入

    导读 提到戴尔 大家应该都不陌生 有朋友问戴尔电脑文档保存之后没了 当然了 还有朋友想问如何进入dell电脑bios设置 这到底是咋回事 其实戴尔 dell 服务器内存条呢 下面是小编精心为你们整理的戴尔最新bios设置图解 让大家少走弯路
  • 2018创业项目

    一 无人驾驶 1 苏州豪米波 毕欣 专注于毫米波雷达和多传感器融合 2 贾冰 31岁 博士 专注于无人驾驶中的自动化数据采集 自动化标注等 3 张文博 33岁 创业2年 垂直行业无人机 空中侦察兵 公安等 4 刘诗聪 27岁 创业1年 自然
  • python实战——JSON转CSV

    这里写自定义目录标题 目标 实现 目标 将json格式的文件转换为csv格式的文件 用python写一个转换器 依赖库 处理json文件需要json库 使用如下命令安装 pip install json 待转换的json文件名为input
  • 字库:cmap 表

    fontTools库来检测字体文件中是否包含某字符 如何判断一个汉字是否在TTF字体中有定义 字库 cmap 表 fontTools库来检测字体文件中是否包含某字符 https blog csdn net alxe made article
  • Servlet学习(七):Cookie

    一 Cookie的基本使用 1 概念 Cookie 客户端会话技术 将数据保存到客户端 以后每次请求都携带Cookie数据进行访问 2 Cookie的工作流程 服务端提供了两个Servlet 分别是ServletA和ServletB 浏览器
  • 涵盖入门到精通,自测 Vue 掌握程度

    文章目录 一 说说对spa单页面的理解 他的缺点是什么 二 v show和v if的区别 三 Class 与 Style 如何动态绑定 四 怎么理解Vue的单向数据流 五 computed 和 watch 的区别和应用的场景 6 直接给一个
  • 枚举的应用你知道多少?

    大家好 我是大成子 今天给大家讲一讲枚举的应用 前言 枚举类型enum是C 中基本的值类型数据类型 适当的用好它 有助于提高代码的简洁性和易读性 枚举语法定义格式为 enum 枚举名 枚举元素1 枚举元素2 应用 在正常的开发中 像人的性别
  • RT-Thread微秒延时?

    今天继续做之前的东西 使用了RT thread操作系统 程序中有AT24C02的相关操作AT24C02的操作的接口是IIC接口 所以又涉及到IIC 程序用的模拟的IIC IIC的时序挺严格的 有微秒的延时操作 由于模拟IIC程序中的延时操作