当前位置: 首页 > news >正文

网站开发大致需要哪些步骤广东专业网站定制

网站开发大致需要哪些步骤,广东专业网站定制,长春网站建设开发维护,高性能网站建设进阶指南NVIC中断管理相关函数主要在HAL库关键文件stm32f1xx_hal_cortex.c中定义。 中断优先级分组函数 void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup);这个函数的作用是对中断的优先级进行分组,这个函数在系统中只需要被调用一次。 void HAL_NVIC_SetPrio…

NVIC中断管理相关函数主要在HAL库关键文件stm32f1xx_hal_cortex.c中定义。

中断优先级分组函数

void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup);

这个函数的作用是对中断的优先级进行分组,这个函数在系统中只需要被调用一次。

void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
{/* Check the parameters */assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup));/* Set the PRIGROUP[10:8] bits according to the PriorityGroup parameter value */NVIC_SetPriorityGrouping(PriorityGroup);
}__STATIC_INLINE void NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
{uint32_t reg_value;uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); reg_value= SCB->AIRCR; /* read old register configuration */reg_value&=~((uint32_t)(SCB_AIRCR_VECTKEY_Msk |SCB_AIRCR_PRIGROUP_Msk)); reg_value = (reg_value|((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
(PriorityGroupTmp<< SCB_AIRCR_PRIGROUP_Pos) ); SCB->AIRCR = reg_value;
}

主要通过SCB->AIRCR寄存器的值来设置中断优先级分组。

assert_param(IS_NVIC_PRIORITY_GROUP(PrioorityGroup));
断言函数,对入口参数的有效性进行判断。

#define IS_NVIC_PRIORITY_GROUP(GROUP)
(((GROUP) == NVIC_PriorityGroup_0) ||\
((GROUP) == NVIC_PriorityGroup_1) || \
((GROUP) == NVIC_PriorityGroup_2) || \
((GROUP) == NVIC_PriorityGroup_3) || \
((GROUP) == NVIC_PriorityGroup_4))
HAL_StatusTypeDef HAL_Init(void)
{/* Configure Flash prefetch */
#if (PREFETCH_ENABLE != 0)
#if defined(STM32F101x6) || defined(STM32F101xB) || defined(STM32F101xE) || defined(STM32F101xG) || \defined(STM32F102x6) || defined(STM32F102xB) || \defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG) || \defined(STM32F105xC) || defined(STM32F107xC)/* Prefetch buffer is not available on value line devices */__HAL_FLASH_PREFETCH_BUFFER_ENABLE();
#endif
#endif /* PREFETCH_ENABLE *//* Set Interrupt Group Priority */HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_2); //设置优先级分组2/* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */HAL_InitTick(TICK_INT_PRIORITY);/* Init the low level hardware */HAL_MspInit();/* Return function status */return HAL_OK;
}

HAL_Init,这个函数非常重要,主要是对中断优先级分组,FLASH以及硬件层进行初始化。

void HAL_NVIC_SetPriority(IRQn_Type IRQn, 
uint32_t PreemptPriority, uint32_t SubPriority);
void HAL_NVIC_EnableIRQ(IRQn_Type IRQn);
void HAL_NVIC_DisableIRQ(IRQn_Type IRQn);

第一个函数 HAL_NVIC_SetPriority 是用来设置单个优先级的抢占优先级和响应优先级的值。
第二个函数 HAL_NVIC_EnableIRQ 是用来使能某个中断通道。
第三个函数 HAL_NVIC_DisableIRQ 是用来清除某个中断使能的,也就是中断失能。

http://www.yayakq.cn/news/104714/

相关文章:

  • 网站建设dream企业网站建设经验
  • 唐山快速建站的公司微信端怎么建设网站
  • 购物网站建设需求模板下载google网站地图格式
  • 一键做单页网站建设内部网站目的
  • 哪些网站做的比较炫长春找工作哪个网站好
  • 建设部一建注册网站做网站能用的字体
  • 天津餐饮网站建设品牌营销专业
  • 服装类电子商务网站建设报告医院网站设计方案
  • 怎么用WordPress快速建站万维网申请网站域名
  • 1 分析seo做的不好的网站网站建设 软件开发的公司
  • 中国城乡建设部网站房贴文件欧铂丽全屋定制价格每平米多少钱
  • wordpress 全文字主题许昌网站seo
  • 源码网站建设步骤微信插件 wordpress
  • 网站搭建协议上海市闵行区
  • wordpress 文章缩略图seo优化教程培训
  • 奇米网怎么做网站最常见企业网站公司有哪些
  • 免费建站有哪些网站备案中打不开
  • 网站建设冫首先金手指十五张北网站建设
  • 网站注册了域名然后怎么做win7 iis配置asp.net网站
  • 怎样防止网站被黑《民用建筑通用规范》
  • 网站内容规划流程网页设计代码解释
  • 网站建设浅析wordpress 优化插件
  • 做网站记什么科目企业请别人做网站
  • 集团公司网站怎么做wordpress seven主题
  • 做文案策划有些网站wordpress 导航分类
  • 网易网站开发语言全球十大设计公司
  • 南做网站小程序商城一般哪家好
  • 网站建设课后感网页搜索图片
  • 精仿虎嗅网织梦网站模板桂林旅游自由行攻略
  • thinkphp购物网站开发视频太原建设设计公司网站