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

垂直汽车网站做电商的优势hqz行情站

垂直汽车网站做电商的优势,hqz行情站,郑州做网站的公司排名,百度官网电话增强版实验简介 EXTI5和EXTI9共享一个中断源 下面的类似 EXTI0到4各自拥有一个中断源 改变引脚 PA0和PA1改变为PA5 和PA6 EXTI的重映射 之前是把PA0映射到EXTI0 PA1映射到EXTI1上 现在是要把PA5和PA6分别映射到EXTI5和6上 EXTI进行初始化 NVIC初始化 编写中断函数 因为EXTI…

增强版实验简介
在这里插入图片描述
EXTI5和EXTI9共享一个中断源 下面的类似 EXTI0到4各自拥有一个中断源
改变引脚 PA0和PA1改变为PA5 和PA6在这里插入图片描述
EXTI的重映射
在这里插入图片描述
之前是把PA0映射到EXTI0 PA1映射到EXTI1上 现在是要把PA5和PA6分别映射到EXTI5和6上
EXTI进行初始化在这里插入图片描述
NVIC初始化
在这里插入图片描述
编写中断函数
在这里插入图片描述
因为EXTI5和6都可以触发同一个中断源 所以要判断到底是哪一个触发的 就要去查中断挂起寄存器的值 如果是第一个为1就是EXTI5触发的 如果是第二个为1那就是EXTI6触发的

#include "stm32f10x.h"
#include "stm32f10x_pal.h"int main(void)
{NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);PAL_Init();// 1. 初始化IO引脚// 将PA0和PA1分别设置为输入上拉模式// 开启GPIOA的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);// PA0, PA1GPIO_InitTypeDef GPIOInitStruct;GPIOInitStruct.GPIO_Pin  = GPIO_Pin_5 | GPIO_Pin_6;GPIOInitStruct.GPIO_Mode = GPIO_Mode_IPU;GPIO_Init(GPIOA, &GPIOInitStruct);// 2. 配置EXTI的引脚映射// 开启AFIO的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);// PA0 -> EXTI0GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource5);// PA1 -> EXTI1GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource6);// 3. 初始化EXTI// 3.1. 初始化EXTI5EXTI_InitTypeDef EXTIInitStruct;EXTIInitStruct.EXTI_Line = EXTI_Line5;EXTIInitStruct.EXTI_Mode = EXTI_Mode_Interrupt;EXTIInitStruct.EXTI_Trigger = EXTI_Trigger_Rising;EXTIInitStruct.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTIInitStruct);// 3.2. 初始化EXTI6EXTIInitStruct.EXTI_Line = EXTI_Line6;EXTIInitStruct.EXTI_Mode = EXTI_Mode_Interrupt;EXTIInitStruct.EXTI_Trigger = EXTI_Trigger_Rising;EXTIInitStruct.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTIInitStruct);// 4. 初始化NVICNVIC_InitTypeDef NVICInitStruct;// 4.1. EXTI0 EXTI5,EXTI6共用一个中断源 写一个就可以了NVICInitStruct.NVIC_IRQChannel = EXTI9_5_IRQn;NVICInitStruct.NVIC_IRQChannelPreemptionPriority = 0;NVICInitStruct.NVIC_IRQChannelSubPriority = 0;NVICInitStruct.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVICInitStruct);// 5. 初始化PC13RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);GPIOInitStruct.GPIO_Pin = GPIO_Pin_13;GPIOInitStruct.GPIO_Mode = GPIO_Mode_Out_OD; // Open-drainGPIOInitStruct.GPIO_Speed = GPIO_Speed_2MHz;GPIO_Init(GPIOC, &GPIOInitStruct);while(1){}
}void EXTI9_5_IRQHandler(void)
{if(EXTI_GetITStatus(EXTI_Line5)==SET) // EXTI5触发的中断{//清除中断源EXTI_ClearITPendingBit(EXTI_Line5);//点灯GPIO_WriteBit(GPIOC,GPIO_Pin_13,Bit_RESET);}if(EXTI_GetITStatus(EXTI_Line6)==SET)  //EXTI6触发的中断{//清除中断源EXTI_ClearITPendingBit(EXTI_Line6);//灭灯GPIO_WriteBit(GPIOC,GPIO_Pin_13,Bit_SET);}	
}

EXTI的PAL库编程

标准库编程的不足
在这里插入图片描述
初始化IO引脚就要使能GPIOA和C的时钟调用GPIO_Init函数初始化GPIOA GPIOC的引脚 输入还是输出模式 输出的速度(输入就不用设置) 然后IO引脚的重映射 使能AFIO的时钟调用函数GPIO_EXTILineConfig把PA5和PA6分别映射到EXTI5 EXTI6上去 然后再初始化EXTI 调用EXTI INIT函数 EXTI的通道 EXTI的模式(事件还是中断模式)等等 然后还要初始化NVIC 还要查明中断来自于那个通道 (因为PA5和PA6是共用中断源 要是是PA1和PA0就各自用中断源 无需判断中断来自于那个通道)
PAL库编程接口简介
在这里插入图片描述
EXTI PAL库 编程分为三个部分
在这里插入图片描述
在这里插入图片描述
填写初始化参数初始化了一切就是没有关闭中断屏蔽
使能EXTI的通道就是闭合中断屏蔽
编写中断响应函数
在这里插入图片描述
在标准库中我们是使用弱方法 覆盖掉函数名 在中断函数中我们查询了中断挂起位的值(分辨到底是那个PA5还是PA6引起的触发中断)还清除了中断 在PAL库中只需要调用一个函数接口就可以完成这两件事

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

相关文章:

  • 我想做网站怎么做中国字体设计
  • 关于网站建设的报告上海物流公司网站建设
  • 网站固定头部图库下载网站源码
  • 吉林省级建设行政主管部门政务网站张家界建设信息网站
  • 物流网站建设计划书怎么找人做网站
  • 随机网站生成器下载牛霸软件
  • 大学生网站开发总结报告网络营销方案定义思路
  • 怎么备份网站模板wordpress微信接口
  • 怎样做图片链接到网站售后服务网站
  • 如何做正规的采集网站做富集分析的网站
  • 织梦做的网站在手机上显示企业营销策划方案范文
  • html免费网站模板下载网站空间是虚拟主机吗
  • 做任务给钱的网站wordpress页面模板修改
  • 和平网站建设西山区建设局网站
  • 做文献综述的文章用什么网站网店设计思路怎么写
  • 网站找不到的原因广告设计与制作专业培训
  • wordpress做网站过程手机搭建网站软件
  • 2017响应式网站 全站百度提交入口怎么用
  • 贵州省住房和城乡建设厅网站人事教育栏ppt设计理念
  • 山东网站建设负面消息处理现在出入深圳最新规定
  • 蛋糕网站网页设计永久3e39cosvv457
  • 区域销售网站什么做上海it驻场服务外包
  • 企业网站建设的主要内容视觉传达设计网站
  • 如何编辑企业网站推荐12个国外免费自助建站网站
  • 邢台市做网站wordpress库存插件
  • 湛江网站优化快速排名wordpress正在执行例行维护_请一分钟后回来.
  • 北京网站优化策略专业的广州手机网站
  • 网站建设公司兴田德润优惠小程序直播
  • 建设网站的报价node.js 网站开发 公司 广州
  • 免费开商城网站青田县建设局官方网站