问答

汇集网友智慧,解决技术难题

21ic问答首页 - N32G45X芯片的SysTick是固定900吗 ?

N32G45X芯片的SysTick是固定900吗 ?

chengzheng132022-12-12
回答 +关注 21
5690人浏览 13人回答问题 分享 举报
13 个回答
  • 这个是需要根据你的systick要实现什么功能了
  • 这个不是固定的
    1. void DelayMs(uint32_t count)
    2. {
    3.         uint32_t temp;

    4.         SysTick->LOAD = SystemCoreClock / 1000 - 1;                           /* set reload register */
    5.         SysTick->VAL = 0UL;                                                   /* Load the SysTick Counter Value */
    6.         SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_ENABLE_Msk; /* Enable SysTick Timer */

    7.         while (count--) {
    8.                 do {
    9.                         temp = SysTick->CTRL;
    10.                 } while (temp & 0x01 && !(temp & (1 << 16)));
    11.         }
    12.                
    13.         SysTick->CTRL = 0;
    14. }

    15. void DelayUs(uint32_t count)
    16. {
    17.     uint32_t temp;

    18.     SysTick->LOAD = SystemCoreClock / 1000000 * count + 1;                /* set reload register */
    19.     SysTick->VAL = 0UL;                                                   /* Load the SysTick Counter Value */
    20.     SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_ENABLE_Msk; /* Enable SysTick Timer */

    21.     do {
    22.         temp = SysTick->CTRL;
    23.     } while (temp & 0x01 && !(temp & (1 << 16)));

    24.     SysTick->CTRL = 0;
    25. }


  • 是固定的,系统嘀嗒时钟都是1ms
12

您需要登录后才可以回复 登录 | 注册