打印
[应用相关]

STM32调用SysTick_Config之后无法延时的奇怪问题

[复制链接]
439|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
heimaojingzhang|  楼主 | 2021-6-4 19:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作环境
1,开发板:STM32F103C8T6最小系统核心板。
2,开发环境:Keil uv5

在我的工程里面用到SysTick_Config函数,如下:

        RCC_Configuration();                                 //系统时钟设置
        NVIC_Configuration();
        GPIO_Configuration();                //IO口初始化
        Usart1_Init();                       //串口1初始化
        /* 配置systic作为1ms中断 */
        if (SysTick_Config(72000))                     //时钟节拍中断时1ms一次  用于定时
        {
                /* Capture error */
       
                while (1);
        }

        FIFO_GPIO_Configuration();
        Delay(2);                                                    //延时10ms
        disableJTAG();
        led();
其中led()函数如下:

#include "led.h"
void GpioConfigurationLed(void)
{
GPIO_InitTypeDef  GPIO_InitStructure;
        /* Enable the GPIO_LED Clock */
         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB
                               |RCC_APB2Periph_GPIOC
                                                   |RCC_APB2Periph_GPIOD, ENABLE);
        /* Configure the GPIO_LED pin */
         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;         //推挽输出
         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;       
         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All ;
         GPIO_Init(GPIOC, &GPIO_InitStructure);

}

void DelayLED(unsigned int uiDly)
{
     while(uiDly--);
}

void led(){
                GpioConfigurationLed();
                for(;;) {
   GPIOC ->ODR =   GPIO_Pin_13;        //熄灭(LED共阳极)
           DelayLED(0x54321);
           GPIOC ->ODR &= ~GPIO_Pin_13 ;        //点亮(LED共阳极)
           DelayLED(0x54321);
        }
}
发现在调用SysTick_Config函数之前led可以交替闪烁,完全没有问题,但是在调用SysTick_Config之后,led就常亮了,甚是奇怪,一开始怀疑是SysTick_Config函数的问题,各种找资料,还是无法解决,直到看到这篇**:

点击打开链接

之后,才有了启发,是不是因为工程里面没有void SysTick_Handler(void)这个函数????,于是工程新建一个文件stm32f10x_it.c:

内容如下:

//#include "stm32f10x_it.h"
#include "stm32f10x_exti.h"
void SysTick_Handler(void)
{

}
重新编译,运行之后,果然正常了!!!!!


使用特权

评论回复
沙发
goodluck09876| | 2021-6-5 09:54 | 只看该作者
SysTick

空函数回调!

学习了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

3962

帖子

4

粉丝