大家好,
我们有一个需要延迟微秒能够访问它的传感器。是否有SDK或外面,在这里我们可以产生1微秒的延迟功能?
我们得到了许多延迟的功能,但一切都在毫秒。能否请您提供相同的FreeRTOS的一个解决方案
谢谢并恭祝安康,桑迪普。
嗨Sandeep,
感谢您的问题,在网上和你在我们的BLE解决方案的兴趣。不幸的是,设置微秒的延迟是不可能的,作为OS定时器具有1.98msec〜= 2毫秒粒度。请检查下面的宏在FreeRTOSConfig.h中
的#define configSYSTICK_CLOCK_HZ 32768的#define configTICK_RATE_HZ((TickType_t)512)的#define TICK_PERIOD((configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ))
谢谢,PM_DIALOG.
我有绝对需要一微秒延迟的传感器。不这样做,传感器接口将无法正常工作。我已经测试了其它微控制器了。你能提供我一个解决这个问题?
谢谢并恭祝安康,
桑迪普。
让我看看它在内部,我会尽快给您回复。
您可以使用hw_clk_delay_usec(),它位于hw_clk.h。该函数获得当前的时钟源,并添加ÑuSecond的延迟。由于您使用的是传感器,该DA1469x应在主动模式,这样系统将用32MHz的时钟运行。
你好,
该文档指出
/ *** \ n微秒(usecs)的短暂增加延迟。** \参数[中]微秒微秒(usecs)等待数。** \返回空隙** \警告的最小延迟为HW_CLK_DELAY_OVERHEAD_CYCLES系统时钟滴答。*分辨率为HW_CLK_CYCLES_PER_DELAY_REP系统时钟滴答。*系统时钟滴答施加所述AHB分频器之后计算。* /
的#define HW_CLK_DELAY_OVERHEAD_CYCLES(72)的#define HW_CLK_CYCLES_PER_DELAY_REP(4)
你能解释的最小延迟时间的计算?
它可以产生1我们?
当与XTAL32M时钟运行,可以创建的最小延迟为3微秒。这是不可能创造1us的与32MHz的时钟运行,因为代码执行的开销比延迟大。1微秒的延迟是可以实现与PLL的96MHz运行,只有当。要做到这一点,你应该调用hw_clk_delay_usec(1)前更改时钟过程中PLL。
嗨Sandeep,
感谢您的问题,在网上和你在我们的BLE解决方案的兴趣。不幸的是,设置微秒的延迟是不可能的,作为OS定时器具有1.98msec〜= 2毫秒粒度。请检查下面的宏在FreeRTOSConfig.h中
谢谢,PM_DIALOG.
我有绝对需要一微秒延迟的传感器。不这样做,传感器接口将无法正常工作。我已经测试了其它微控制器了。你能提供我一个解决这个问题?
谢谢并恭祝安康,
桑迪普。
嗨Sandeep,
让我看看它在内部,我会尽快给您回复。
谢谢,PM_DIALOG.
嗨Sandeep,
您可以使用hw_clk_delay_usec(),它位于hw_clk.h。该函数获得当前的时钟源,并添加ÑuSecond的延迟。由于您使用的是传感器,该DA1469x应在主动模式,这样系统将用32MHz的时钟运行。
谢谢,PM_DIALOG.
你好,
该文档指出
/ **
* \ n微秒(usecs)的短暂增加延迟。
*
* \参数[中]微秒微秒(usecs)等待数。
*
* \返回空隙
*
* \警告的最小延迟为HW_CLK_DELAY_OVERHEAD_CYCLES系统时钟滴答。
*分辨率为HW_CLK_CYCLES_PER_DELAY_REP系统时钟滴答。
*系统时钟滴答施加所述AHB分频器之后计算。
* /
的#define HW_CLK_DELAY_OVERHEAD_CYCLES(72)
的#define HW_CLK_CYCLES_PER_DELAY_REP(4)
你能解释的最小延迟时间的计算?
它可以产生1我们?
谢谢并恭祝安康,
桑迪普。
嗨Sandeep,
当与XTAL32M时钟运行,可以创建的最小延迟为3微秒。这是不可能创造1us的与32MHz的时钟运行,因为代码执行的开销比延迟大。1微秒的延迟是可以实现与PLL的96MHz运行,只有当。要做到这一点,你应该调用hw_clk_delay_usec(1)前更改时钟过程中PLL。
谢谢,PM_DIALOG.