打印
[应用相关]

Systick中断优先级问题

[复制链接]
582|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
andygirl|  楼主 | 2022-4-2 15:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ST, TI, ck, ic


void delay_init()
{
    SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
    fac_us=SystemCoreClock/8000000;
    fac_ms=(u16)fac_us*1000;
}

void BSP_Delay_us(u32 nus)
{
    u32 temp;      
    SysTick->LOAD=nus*fac_us;
    SysTick->VAL=0x00;     
    SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;
    do
   {
       temp=SysTick->CTRL;
   }while((temp&0x01)&&!(temp&(1<<16)));
   SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;
   SysTick->VAL =0X00;      
}


主频为72M,延时us函数。
问题:这样写的中断优先级是多少,没有设置SysTick_Handler,并且没有在中断服务函数里中任何事?
假设定义里一个定时器4,优先级如下,是否会抢断systick中断。即谁的优先级高

void TIM4_NVIC_Configuration(void)
{
    NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);  
    NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn;  
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
}



使用特权

评论回复
沙发
呐咯密密| | 2022-4-3 19:53 | 只看该作者
Systick中断属于内核中得中断,不进行配置默认是最低优先级,不会打断你的NVIC中断,但是是可设置的,具体需要自己研究。

使用特权

评论回复
板凳
kiwis66| | 2022-4-6 10:42 | 只看该作者
好像这个优先级比较低,

使用特权

评论回复
地板
andygirl|  楼主 | 2022-4-7 10:35 | 只看该作者
呐咯密密 发表于 2022-4-3 19:53
Systick中断属于内核中得中断,不进行配置默认是最低优先级,不会打断你的NVIC中断,但是是可设置的,具体 ...

感谢!
优先级最低的话,不是能随便打断它了?
一被打断,嗯~~~不知道该怎么表达,就是觉得被打断了,不爽~

使用特权

评论回复
5
呐咯密密| | 2022-4-7 10:47 | 只看该作者
andygirl 发表于 2022-4-7 10:35
感谢!
优先级最低的话,不是能随便打断它了?
一被打断,嗯~~~不知道该怎么表达,就是觉得被打断了,不 ...

事实上确实是这样的,不过Systick一般用于给系统提供滴答时钟,用户最多是用它来延时,你的延时函数被打断还是挺正常的,如果不想被打断就去提高的他的优先级。不过不建议这么操作,毕竟一般的外部中断啥的都比这个Systick中断重要,如果你仅用于延时,被打断也没啥事。

使用特权

评论回复
6
andygirl|  楼主 | 2022-4-7 11:05 | 只看该作者
呐咯密密 发表于 2022-4-7 10:47
事实上确实是这样的,不过Systick一般用于给系统提供滴答时钟,用户最多是用它来延时,你的延时函数被打 ...

好的,
还是代码写的少了,有些问题确实需要在实际中去体验

使用特权

评论回复
7
tpgf| | 2022-5-1 16:51 | 只看该作者
我有一般都是默认的优先级了

使用特权

评论回复
8
sadicy| | 2022-5-1 17:18 | 只看该作者
一般就是用默认的优先级,还真是没考虑过被打断会怎样

不过,这个问题一提出来,好像确实把我难住了。

使用特权

评论回复
9
wakayi| | 2022-5-1 17:21 | 只看该作者
主要看它的作用重要不重要

使用特权

评论回复
10
wowu| | 2022-5-1 17:30 | 只看该作者
一般都是默认的了 不会提高它的优先级

使用特权

评论回复
11
xiaoqizi| | 2022-5-1 17:37 | 只看该作者
只要不影响使用就行

使用特权

评论回复
12
木木guainv| | 2022-5-1 17:59 | 只看该作者
感觉也没有必要调低

使用特权

评论回复
13
磨砂| | 2022-5-1 18:06 | 只看该作者
完全可以根据自己的需求进行调整

使用特权

评论回复
14
kiwis66| | 2022-5-5 09:30 | 只看该作者
应该默认就好吧,最好不要改了

使用特权

评论回复
15
andygirl|  楼主 | 2022-5-7 17:04 | 只看该作者
kiwis66 发表于 2022-5-5 09:30
应该默认就好吧,最好不要改了

嗯,默认的确实没发现有问题,就是脑补的过程中,对优先级的理解有偏差

使用特权

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

本版积分规则

94

主题

535

帖子

1

粉丝