工具与软件:
您好!
我想在输出端生成一个短脉冲(1ms)以复位外部外设。
我在输出关闭和 输出开启之间使用了 usleep (1000)命令。
不管用。
有什么想法吗?
谢谢。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
您好!
我想在输出端生成一个短脉冲(1ms)以复位外部外设。
我在输出关闭和 输出开启之间使用了 usleep (1000)命令。
不管用。
有什么想法吗?
谢谢。
您好 Thierry、
[报价 userid="614504" url="~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1389192/cc2340r5-short-pause-with-usleep-function-1millisecond "]我在输出关闭和 输出开启之间使用了 usleep (1000)命令。
不管用。
[报价]您能否指定哪些选项完全不起作用? 您能否提供有关外部外设引脚的其他调试信息和逻辑分析仪/示波器屏幕截图?
我修改了空代码以使用 usleep (1000);并获得以下结果

当然、在用户睡眠功能中需要考虑延迟上限:
xDelay =(usec + tick_period_USECS - 1)/ tick_period_USECS;
这将变为 xDelay =(x + 1000 - 1)/ 1000、并且由于整数值的其余部分是悬空的、因此1000或更低的值将得到 xDelay 为1。 因此、睡眠时间少于1000 (1ms)的睡眠并不是最可靠的、但它仍然提供较短的2.8ms 延迟。
如果此粒度是不可接受的、则可以尝试 driverlib cpudelay 或 DPL ClockP_usleep (在添加适当的#include 后、下面的示例中显示) )。

此致、
Ryan
如需了解相关信息、我 在调用 vTaskStartScheduler 之前将此函数称为"sleep"。 可能该函数使用的时钟未运行[/报价]请在应用任务启动后在其内部应用您的代码。
此致、
Ryan