Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
延迟如何在stm32l152RC上工作?_C_Stm32_Stm32ldiscovery - Fatal编程技术网

延迟如何在stm32l152RC上工作?

延迟如何在stm32l152RC上工作?,c,stm32,stm32ldiscovery,C,Stm32,Stm32ldiscovery,我刚买了一台stm32l152RC,想知道延迟是如何工作的。 系统时钟为16Mhz 代码: static volatile uint32_t TimingDelay; void Delay(__IO uint32_t nCount); int main(void) { Config_Systick(); char *RCCp = (char*) 0x40023800; int *PBp = (int *) 0x40020400; // RCC Config

我刚买了一台stm32l152RC,想知道延迟是如何工作的。 系统时钟为16Mhz

代码:

static volatile uint32_t TimingDelay;
void Delay(__IO uint32_t nCount);


int main(void) {
    Config_Systick();
    char *RCCp = (char*) 0x40023800;
    int *PBp = (int *) 0x40020400;
    // RCC Config
    *((int*) (RCCp + 28)) |= 0x3f;
    *((int*) (RCCp + 32)) |= 1;
    *PBp = 0x5000;

    while (1) {
        GPIO_TOGGLE(GPIOB, LD_GREEN); //toggle green led
        Delay(1000); // 1 second?
    }
} // end of main

    RCC_ClocksTypeDef RCC_Clocks;
    void Config_Systick() {
        RCC_GetClocksFreq(&RCC_Clocks);
        SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000); // setting changed to / 1000
    }

    void TimingDelay_Decrement(void) {
        if (TimingDelay != 0x00) {
            TimingDelay--;
        }
    }

    void Delay(uint32_t nTime) {
        TimingDelay = nTime;
        while (TimingDelay != 0) {
        };
    }

当我执行
延迟时(1000)在这种情况下,延迟是1秒,有人能解释一下为什么延迟是1秒吗?

在做了一些研究后,这就是我得出的答案。
执行
SysTick\u配置(RCC\u Clocks.HCLK\u Frequency/1000)表示您正在设置每秒1000个滴答声。当你做
延迟(100)
时,延迟将是100毫秒。

在做了一些研究之后,这就是我得出的答案。
执行
SysTick\u配置(RCC\u Clocks.HCLK\u Frequency/1000)表示您正在设置每秒1000个滴答声。当您执行
延迟(100)
时,延迟将为100毫秒。

@Olaf谢谢您的回答,我确实读过了。@Olaf谢谢您的回答,我确实读过了。