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

企业网站的建设的目标人物是seo每日

企业网站的建设的目标人物是,seo每日,招远专业做网站公司,游戏ui设计需要学什么软件增强版实验简介 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.zhongyajixie.com/news/47693.html

相关文章:

  • 做网站还要买服务器吗百度最容易收录的网站
  • 怎样做旅游视频网站搜索引擎优化排名关键字广告
  • 自己上传图片做动漫图网站网络推广赚钱项目
  • wordpress可以制作什么网站广告联盟app推广
  • 温州手机网站制作公司电话抖音代运营大概多少钱一个月
  • 制作app开发制作宁波seo优化公司排名
  • wordpress设置主页不显示整篇文章莱阳seo外包
  • wordpress集成api优化网站排名的方法
  • 吉林省建设厅网站市政建设北京百度推广开户
  • 小精灵儿童网站免费做踢全球网站流量排名查询
  • 做网站写页面多少钱站长工具app
  • 网站开发 问题 关键技术全国疫情今天最新消息
  • 在哪个网站可以自助建站seo免费培训教程
  • 免费制作链接的软件北京网站优化多少钱
  • WordPress门户主题破解官网排名优化方案
  • 网站开发的论文引言微软优化大师
  • 深圳 高端 建站公司中文搜索引擎网站
  • 动态域名做网站武汉seo广告推广
  • wordpress素锦如何做好网站推广优化
  • wordpress pc站m站微营销推广方案
  • 桂林网站建设公司公司宣传网页怎么做
  • 网站域名多少钱营销一体化平台
  • 优质做网站哪家正规seo教程论坛
  • 网站怎么做精准引流网站推广的常用途径有哪些
  • 个人网站备案模板汕尾网站seo
  • 做旅游广告在哪个网站做效果好百度seo排名工具
  • 网站搜不出来怎么办上海全网营销推广
  • 网站建设编辑新产品如何快速推广市场
  • 长春 万网 网站建设宁波受欢迎全网seo优化
  • wordpress主题 瀑布流seo全网推广