微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > STM32 SysTick 中断。新手求助~~

STM32 SysTick 中断。新手求助~~

时间:10-02 整理:3721RD 点击:
不知怎么的,中断程序一直进不去。
程序大致是这样的:
RCC_Configuration();
//其中加了这句,不知道AFIO有没有用
//RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE );
GPIO_Configuration();
SysTick_Configuration();
//里面写了这些,不太清楚NVIC这一块,是不是这样用
//        SysTick_CounterCmd( SysTick_Counter_Disable );                                //失能SysTick定时器
//        SysTick_CLKSourceConfig( SysTick_CLKSource_HCLK_Div8 );        //选择HCLK为SysTick的时钟源
//        SysTick_CounterCmd( SysTick_Counter_Clear );                                //清除SysTick计数器
//        SysTick_ITConfig( DISABLE );                                                                //失能SysTick中断
//        SysTick_SetReload( 9000*200 );
//        /* Set SysTick Priority to 3 */
//        NVIC_SystemHandlerPriorityConfig( SystemHandler_SysTick, 3, 0 );
SysTick_CounterCmd( SysTick_Counter_Enable );                                //启动SysTick计数
SysTick_ITConfig( ENABLE );                                                                   //shi能SysTick中断
while(1);
//中断程序只有这点儿
void SysTick_Handler( void )
{
        GPIO_WriteBit( LEDPORT, LED2PIN, Bit_RESET );
}

结果是LED一直不会亮
一定是我漏了什么,大家帮忙指正一下,不胜感激~~

终于自己找到原因了。开始时是按一本书上的例程建的keil工程,包含了一个 stm32f10x_it.c的文件。一直没打开看过,以为是it相关的设置什么的。
结果里面定义的全是   空的  中断函数,,所以执行的一直是这个空的中断函数,而非main.c中自己写的那个,所以,看起来就像是没有执行中断程序。
问题解决了~~

比我刚开始的时候好多,我那时没开中断~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top