RT-Thread中常见的延时函数包括: rt_thread_mdelay(rt_uint32_t ms): 延时指定的毫秒数。 rt_thread_sleep(rt_tick_t tick): 根据系统节拍(tick)数进行延时。 rt_hw_us_delay(rt_uint32_t us): 实现微秒级延时。 rt_hw_ns_delay(rt_uint32_t ns): 实现纳秒级延时(但请注意,纳秒级延时在实际应用...
8 rt_hw_us_delay(2); //延时2us 9 rt_pin_mode(DS18B20_DQ, PIN_MODE_INPUT); //设置为输入,释放总线 10 rt_hw_us_delay(1);//延时1us 11 12 if(rt_pin_read(DS18B20_DQ)) 13 data=1;//读取总线数据 14 else 15 data=0; 16 rt_hw_us_delay(60); //延时60us(读一位至少60us) 17...
基于stm32f4 hal+rt-thread studio平台io模拟uart 最近工作中因为串口都被占用,所以需要使用普通io口模拟uart实现通信,使用到PF0(tx)、PF1(rx)、TIM12(微秒延时)、TIM13IT(信号线电平检测)、TIM14IT(数据结束判断),特此做了demo进行测试,实测运行正常,用cubemx生成代码移植到rt-thread studio使用。如有遗漏或者...
其中入口参数 us 指示出需要延时的微秒数目,这个函数只能支持低于 1 OS Tick 的延时,否则 SysTick会出现溢出而不能够获得指定的延时时间。 【第5章 时钟管理 视频汇总】 【千锋RT-Thread】21-时钟节拍 【千锋RT-Thread】22-获取时钟节拍 【千锋RT-Thread】23-定时器介绍 【千锋RT-Thread】24-系统定时器初始化...
首先,在 'drv_common.c' 文件里添加 `HAL_uDelay` 微秒延时实现,其实就是调用 `rt_hw_us_delay` 。 然后,在 'stm32xxx_hal_conf.h' 头文件末尾添加一个通用宏定义: 登录后复制#define HAL_WAITFOR_CONDITION(condition, ms) do { \ uint32_t cnt = 0; \ ...
6.1.1 毫秒级延时 6.1.2 微秒级延时 6.1.3 获取系统当前时间 6.1.4 获取更高精度的时间 6.2 任务61超声波测距(电平扫描方法) 6.2.1 超声波测距原理介绍 6.2.2 硬件设计 6.2.3 软件设计 6.2.4 程序测试 6.3 RTThread系统定时器 6.3.1 创建和删除定时器 ...
// 根据当前系统的时钟周期进行微秒级别的延时 us = us * (SysTick->LOAD / (1000000 / 1000));...
(中断法)85 5.5.1硬件设计85 5.5.2程序设计86 5.5.3程序测试91 练习591 第6章时钟管理与应用 6.1RTThread嘀嗒时钟相关函数介绍93 6.1.1毫秒级延时94 6.1.2微秒级延时94 6.1.3获取系统当前时间94 6.1.4获取更高精度的时间95 6.2任务61超声波测距(电平扫描方法)96 6.2.1超声波测距原理介绍96 6.2.2硬件设计...
1.9高精度延时 注意:这个函数只支持低于1个OS Tick的延时, 否则SysTick会出现溢出而不能够获得指定的延时时间 /** This function will delay for some us. @param us the delay time of us */ void rt_hw_us_delay(rt_uint32_t us) 1.10实战篇:RTOS定时器代码演示 ...