匡帅宇 2022-10-06 00:41 采纳率: 66.7%
浏览 92
已结题

stm32中断优先级配置问题

stm32中断优先级配置问题 ,明明配置好了优先级,但TIM6中断无法插入到EXTI中断里

#include "stm32f10x.h"
#include "include.h"
#define mem *(unsigned int *)
#define MOV(a,b) a=b
#define AND(a,b)  a&=b
#define ADD(a,b) a+=b
#define OR(a,b) a|=b
unsigned int ax=0;

void     TIM6_IRQHandler() {
        ax++;
        AND(mem 0x40001010,0x0);
     
        if(ax<=1000){
         MOV(mem 0x40010C0C,0xFFFF);   
        }
        if(ax>1000){
     MOV(mem 0x40010C0C,0xFFFD);   //light up
            if(ax==2000){
            ax=0;
            }
        }    
}
void EXTI9_5_IRQHandler(){
if((mem 0x40010414&1<<9)!=0){
    mem 0x40010414|=1<<9;
       ax=0;
    while(1);
    }    
}

void  Init(){
    OR(mem 0x40021018 ,1<<3);   //CRM_APB2EN GPIOB clock enable
    OR(mem 0x40021018 ,1<<0);   //CRM_APB2EN IOMUX clock enable
    MOV(mem 0xE000ED0C,(0x5FA)<<16);
    MOV(mem 0xE000ED0C ,0x600);//AIRCR PRIGROUP x.yyy
    MOV(mem 0xE000E454 ,0x0000); //NVIC_IPR set int 54 PRI
    MOV(mem 0xE000E423 ,0xFFFF); //NVIC_IPR set int 23 PRI
    mem 0x40010010|=(1<<5); //EXINT9 PC9
    mem 0x40010400|=(1<<9); //EXINT_INTEN EXINT9
    mem 0x4001040C|=(1<<9); //EXINT_POLCFG1 EXINT9 Falling
    OR(mem 0x4002101C ,1<<4);  //CRM_APB1EN  TMR6 clock enable
    OR(mem 0xE000E104 ,1<<22);   //NVIC_ISER1 int 54 enable
    OR(mem 0xE000E100 ,1<<23);   //NVIC_ISER1 int 23 enable
    OR(mem 0x40001000 ,0x1);  //GPIOx_CFGLR [0,3] output
    MOV(mem 0x40001028 ,0xF);   //TMR6_DIV 15
    MOV(mem 0x4000102C ,0x3E7);     //TMR6_PR 999
    MOV(mem 0x4001100C ,0xFFF0);      //GPIOC_ODT
  MOV(mem 0X40010C0C ,0xFFFF);     //GPIOB_ODT
  MOV(mem 0x40011004 ,0x11111144);   //GPIOC_CFGHR 
  MOV(mem 0X40010C00 ,0x11111111);    //GPIOC_CFGLR 
    OR(mem 0x4000100C,0x1);  //TMR6_IDEN (overflow interrupt enable
}
int main(){
      Init();
     return 0;
}

按下PC9后小灯就不闪了

  • 写回答

2条回答 默认 最新

  • Flyshine~ 2022-10-06 10:02
    关注

    你的外中断里有个死循环 退不出去

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月18日
  • 已采纳回答 10月10日
  • 创建了问题 10月6日

悬赏问题

  • ¥200 求idea10和MyEclipse7.1
  • ¥20 vb6.0截取当前窗体保存为jpg文件
  • ¥20 苹果手机不使用大疆sdk怎么获取遥控器控制信息或如何接入大疆sdk并且成功上架sdk
  • ¥20 woocommerce 注册按键重定向
  • ¥100 求书法图像文字切割代码
  • ¥15 同一个波形探测距离不同的目标,为什么fft之后得到的频谱图会发生移动,不应该时移不改变幅度谱吗(标签-matlab)(相关搜索:matlab仿真)
  • ¥15 Proteus仿真程序只能执行一次
  • ¥15 语音识别websocket报错
  • ¥15 激光器,引脚问题,无法处理
  • ¥20 求写一份!只提交Mapper映射文件 如:UsersMapper.xml