工具/软件:
您好 TI 专家、
请向我提供一些关于 sysctl_resetPeripheral() 的说明:
- 该外设的所有寄存器位是否会独立于其复位类型(例如 SYSRSn、XRSn、PORESETn)进行复位?
- 可以在禁用外设时钟的情况下进行此调用吗?
- 该调用是否会影响外设时钟的启用/禁用?
- 在该调用后访问寄存器之前、哪里可以找到必须应用的延迟持续时间?
非常感谢、
节拍
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.
工具/软件:
您好 TI 专家、
请向我提供一些关于 sysctl_resetPeripheral() 的说明:
非常感谢、
节拍
嗨、 Beat、
请查看以下答案、如果您在想了解任何特定外设、请告诉我:
该外设的所有寄存器位是否会独立于其复位类型(例如 SYSRSn、XRSn、PORESETn)进行复位?
调用此函数来设置各自的 SOFTPRES 寄存器字段时、无论外设寄存器字段的复位类型如何、这些字段都将复位。 否则、模块复位由正常的器件复位结构确定。
是否可以在禁用外设时钟的情况下进行此调用?
在调用复位函数时、应启用外设时钟、也应打开外设。
此调用是否会影响外设时钟的启用/禁用?
SOFTPRES 不应仅在外设特定寄存器中启用/禁用任何与外设时钟相关的配置。
在此调用后、在访问寄存器之前、我在哪里可以找到必须应用的延迟持续时间?
在 SysCtl_resetPeripheral() 函数中、该位设置为 1(复位外设寄存器位)和 0(返回正常复位结构)。 调用函数后不应延迟。
此致、
Aishwarya
您好 Aishwarya、
非常感谢您的答复。
关于问题 4、我想知道以下示例中是否需要“XX"和“和“YY"延迟“延迟、如果需要、如何确定适当的延迟时间。
此致、
节拍
SysCtl_enablePeripheral(SYSCTL_PERIPH_CLK_EPWM1); SysCtl_delay(XX) SysCtl_resetPeripheral(SYSCTL_PERIPH_RES_EPWM1); SysCtl_delay(YY) // first EPWM1 register access here
您好 Aishwarya、
好的。 因此、我可以假设该 TI 代码(来自“f29h85x-sdk_1_01_00_00")“)实际上不需要这样的 20 周期延迟?
谢谢、
节拍
uint32_t uartBootInit(uint32_t bootMode)
{
uint32_t status = BROM_STATUS_OK;
//
// Enable Sysclk and wait for 20U cycles
//
SysCtl_resetPeripheral(SYSCTL_PERIPH_RES_UART_A);
CPU_BROM_delay_cycles(20U);