野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14796|回复: 4

systick怎么设置中断优先级

[复制链接]
发表于 2014-8-19 19:31:26 | 显示全部楼层 |阅读模式
例如把它设置为最低的优先级,其它中断先响应先操作
书里说在core_cm3.h中有设置优先级,好像是通过汇编语言
回复

使用道具 举报

发表于 2014-8-19 19:35:10 | 显示全部楼层
要配置内核相关的寄存器,看看这个文档《STM32F10xxx Cortex-M3编程手册》
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-23 23:16:20 | 显示全部楼层
子车梨祎 发表于 2014-8-19 19:35
要配置内核相关的寄存器,看看这个文档《STM32F10xxx Cortex-M3编程手册》

能告诉我一些直接能用的函数吗
回复 支持 反对

使用道具 举报

发表于 2014-8-25 11:10:49 | 显示全部楼层
woqu 发表于 2014-8-23 23:16
能告诉我一些直接能用的函数吗

static __INLINE uint32_t NVIC_GetPriority(IRQn_Type IRQn) 这个函数可以,默认systick的优先级是最低的。

这个函数在 core_cm3.h 里面

回复 支持 反对

使用道具 举报

发表于 2014-9-12 08:35:25 | 显示全部楼层
        /********************************************************************************
    * 重新配置SysTick的中断优先级为最高,要不然SysTick延时中断抢占不了IO EXTI中断
    * 因为SysTick初始化时默认配置的优先级是最低的
    * 或者当你用其他定时器做延时的时候,要配置定时器的优先级高于IO EXTI中断的优先级
    ********************************************************************************/
    NVIC_SetPriority (SysTick_IRQn, 0);

把上面这条语句加到你的程序里面去就好了。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-27 04:48 , Processed in 0.040870 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表