NVIC库函数

NVIC库函数1.voidNVIC_Init(NVIC_InitTypeDef*NVIC_InitStruct)功能:根据NVIC_InitStruct结构体变量中的参数初始化NVIC外设注释:结构体中的NVIC_IRQChannel成员赋值要到stm32f10x.h中的IRQn_Type(STM32F10x中断数定义)去复制例如:NVIC_Init(&NVIC_InitStructur…

大家好,又见面了,我是你们的朋友全栈君。

1.void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct)

功能:根据NVIC_InitStruct结构体变量中的参数初始化NVIC外设

注释:结构体中的NVIC_IRQChannel成员赋值要到stm32f10x.h中的IRQn_Type(STM32F10x中断数定义)去复制

例如:NVIC_Init(&NVIC_InitStructure);

 

2.void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup)

功能:配置优先级分组(主优先级和次优先级)

注释:组0:主优先级0位,次优先级4位(0 , 0~15)            组1:主优先级1位,次优先级3位(0~1 , 0~7)

            组2:主优先级2位,次优先级2位(0~3 , 0~3)          组3:主优先级3位,次优先级1位(0~7 , 0~1)

            组4:主优先级4位,次优先级0位(0~15 , 0)

例如:NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);

 

3.void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset)

功能:设置向量表的位置和偏移量

注释:位置可以为RAM或者FLASH中;偏移量对RAM高于0x100且必须是0x200的倍数;偏移量对FLASH高于0x08000100

例如:NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x00010000);

 

4.void NVIC_SystemLPConfig(uint8_t LowPowerMode, FunctionalState NewState)

功能:配置系统进入低功耗模式的条件

注释:NVIC_LP_SEVONPEND(根据待处理请求唤醒,任意中断即可)        

            NVIC_LP_SLEEPDEEP(深度睡眠使能)

            NVIC_LP_SLEEPONEXIT(退出ISR(Interrupt Service Routine中断服务程序)后睡眠)

例如:NVIC_SystemLPConfig(NVIC_LP_SEVONPEND);

 

5.void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource)

功能:配置SysTick时钟源

注释:时钟源来自AHB总线时钟(HCLK)的分频

例如:SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);

 

6.core_cm3.h内的函数之后更新

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140176.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java线程池参数配置

    Java线程池参数配置在线程池的实际使用中,参数的配置总让人难以把握。在网上搜了一下,主要有以下的方案。跟大家分享。1.基本概念1.1ThreadPoolExecutor的重要参数corePoolSize:核心线程数核心线程会一直存活,及时没有任务需要执行 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理 设置allowCoreThreadTimeout=true(默认false)时,核心线程会超时关闭queueCapacity:任务队列容量(阻塞队列)当核心线程数达到最大时,

    2022年5月23日
    68
  • ReentrantLock的lock(), tryLock(), tryLock(long timeout, TimeUnit unit), lockInterruptibly() 及使用场景示例

    ReentrantLock的lock(), tryLock(), tryLock(long timeout, TimeUnit unit), lockInterruptibly() 及使用场景示例一直在用concurrent包里的东西,最近想研究一下个中细节,先从ReentrantLock提供的集中获取锁的方式开始吧。1.ReentrantLock简要介绍简单介绍一下ReentrantLock,可重入锁,互斥锁,提供了fair和unfair两种模式的锁。默认构造函数是unfair的锁,如果初始化时传入true的参数则会返回fair锁。所谓不公平就是在锁可获取时,不用考虑该锁队列是否…

    2022年10月16日
    2
  • QTreeWidget详解「建议收藏」

    QTreeWidget详解「建议收藏」树形结构在GUI中很常见,在Qt中,我们可以通过QTreeWidget类构造树形结构。本文对有关QTreeWidget的基本知识点进行了总结。

    2022年10月1日
    2
  • 网站开发html_网页基础代码大全

    网站开发html_网页基础代码大全网页的标准是W3C,目前模式是HTML、CSS和JavaScript。HTML标签<!DOCTYPEHTML>是文档声明,必须写在HTML文档的第一行,位于<html>

    2022年8月2日
    7
  • 计算机高配表要表格,为何高配电脑还会卡? 因为你没选择FreeSync套装

    计算机高配表要表格,为何高配电脑还会卡? 因为你没选择FreeSync套装可能有很多玩家在网络对战游戏中都遇到如此状况:电脑配置并不低,但游戏画面依然不够顺滑,不但经常卡顿,而且明明先瞄准敌人开枪,敌人没死而自己被秒掉。其实,这并不是因为玩家枪法太菜,问题在很大程度上出在玩家选择的显卡与显示器上。那到底玩家的显卡和显示器上到底有什么问题?让我们为大家分析一下吧。高配电脑可以提供高帧速,但并不一定无卡顿高配置的电脑当然能提供强劲的性能,在游戏中自然可以提供很高的帧速。但为…

    2022年6月1日
    34
  • 大数据DBA:大数据数据库管理做什么

    大数据DBA:大数据数据库管理做什么在大数据快速发展的大背景下,大数据相关的岗位需求也在增多,并且随着大数据业务的扩展,大数据技术团队的工作,也开始走向岗位细分,比如说在大数据储存阶段,也有专门的大数据DBA岗位。今天我们就来了解一下大数据数据库管理做什么?DBA,DBA是英文DatabaseAdministrator的简称,也就是数据库管理员,主要工作任务是负责维护和管理数据库服务器。数据库管理员,是需要关注数据,也需要关注库,即需要关注数据与服务,要关心如何操作数据库(程序),从而来保障好数据库。这就要求DBA不要只做好.

    2022年5月23日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号