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.

[参考译文] TDA2E:当 IPU2内核最初启动时、BspOsal_Sleep 的实际睡眠持续时间长于软件中定义的持续时间。

Guru**** 2465890 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1475061/tda2e-when-the-ipu2-core-initially-starts-the-actual-sleep-duration-of-bsposal_sleep-is-longer-than-the-duration-defined-in-the-software

器件型号:TDA2E

工具与软件:

案例 A:

//将 GPIO_1配置为输出模式

GPIODIRModeSet (GPIO_1、GPIO_DIR_OUTPUT);

//将 GPIO_1设置为高电平

GPIOPinWrite (GPIO_1、GPIO_PIN_HIGH)

//示波器会将此处的高电平持续时间设置为350ms。  

//它与软件中定义的100ms 不一致。

BspOsal_Sleep (100u);  

//将 GPIO_1设置为低电平

GPIOPinWrite (GPIO_1、GPIO_PIN_LOW)

//示波器会将此处的低电平持续时间设置为150ms。  

//它与软件中定义的500ms 不一致。

BspOsal_Sleep (50U);  

//将 GPIO_1设置为高电平

GPIOPinWrite (GPIO_1、GPIO_PIN_HIGH)

情况 B:

//睡眠1500ms

BspOsal_Sleep (1500U);   

//将 GPIO_1配置为输出模式

GPIODIRModeSet (GPIO_1、GPIO_DIR_OUTPUT);

//将 GPIO_1设置为高电平

GPIOPinWrite (GPIO_1、GPIO_PIN_HIGH)

//示波器会将此处的高电平持续时间设置为100ms。  

BspOsal_Sleep (100u);  

//将 GPIO_1设置为低电平

GPIOPinWrite (GPIO_1、GPIO_PIN_LOW)

//示波器会将此处的低电平持续时间设置为50ms。  

BspOsal_Sleep (50U);  

//将 GPIO_1设置为高电平

GPIOPinWrite (GPIO_1、GPIO_PIN_HIGH)

如何在不引入冗余等待时间的情况下使睡眠时间尽可能准确?