需要微秒延迟

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
7个帖子/ 0个新
最后发表
Goluguri Sandee……
离线
最后看到:1年2周前
加入:2019-05-20 20:58
需要微秒延迟

你好,

我们有一个需要微秒延迟的传感器才能访问它。SDK中或外部是否有一个函数,我们可以产生1微秒的延迟?

我们有很多延时函数,但都是以毫秒为单位的。你能给freertos提供一个同样的解决方案吗

感谢和问候,
Sandeep。

关键词:
设备:
PM_Dialog
离线
最后看到:12小时5分钟前
工作人员
加入:2018-02-08 11:03
嗨Sandeep,

嗨Sandeep,

感谢您的在线提问和对我们的BLE解决方案感兴趣。不幸的是,设置毫秒延迟是不可能的,因为OS计时器的粒度是1.98msec ~= 2msec。请检查FreeRTOSConfig.h中的以下宏

#define configSYSTICK_CLOCK_HZ ((TickType_t) 512) #define TICK_PERIOD ((configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ))

谢谢,PM_Dialog

Goluguri Sandee……
离线
最后看到:1年2周前
加入:2019-05-20 20:58
我有一个传感器

我有一个传感器绝对需要微秒的延迟。没有这个,传感器接口将无法工作。我也在其他微控制器上测试过。你能给我一个解决这个问题的办法吗?

感谢和问候,

Sandeep。

PM_Dialog
离线
最后看到:12小时5分钟前
工作人员
加入:2018-02-08 11:03
嗨Sandeep,

嗨Sandeep,

让我在公司内部查一下,然后很快回复你。

谢谢,PM_Dialog

PM_Dialog
离线
最后看到:12小时5分钟前
工作人员
加入:2018-02-08 11:03
嗨Sandeep,

嗨Sandeep,

您可以使用hw_clk_delay_usec(),它位于hw_clk.h。这个函数获取当前时钟源,并添加N ussecond的延迟。由于您使用的是传感器,DA1469x应处于主动模式,因此系统将运行32MHz时钟。

谢谢,PM_Dialog

Goluguri Sandee……
离线
最后看到:1年2周前
加入:2019-05-20 20:58
你好,

你好,

文档说明

/ * *
* \brief添加N个usecs的延迟。

* \param[in] usec等待的usec个数。

* \返回空

* \warning系统时钟周期中最小延迟为HW_CLK_DELAY_OVERHEAD_CYCLES。
*以系统时钟时钟为单位,分辨率为HW_CLK_CYCLES_PER_DELAY_REP。
*应用AHB分频器后计算系统时钟滴答。
*/

#定义HW_CLK_DELAY_OVERHEAD_CYCLES (72)
#定义HW_CLK_CYCLES_PER_DELAY_REP (4)

你能解释一下最小延迟的计算方法吗?

它能产生1个我们吗?

感谢和问候,

Sandeep。

PM_Dialog
离线
最后看到:12小时5分钟前
工作人员
加入:2018-02-08 11:03
嗨Sandeep,

嗨Sandeep,

当使用XTAL32M时钟运行时,可以创建的最小延迟是3us。不可能创建1us运行32MHz时钟,因为代码执行的开销大于延迟。1uS延迟只有在PLL 96MHz运行时才能实现。要做到这一点,您应该在调用hw_clk_delay_usec(1)之前将时钟航向更改为PLL。

谢谢,PM_Dialog