



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
STM32-GPIO及EXTI初始化详解void EXTI_Configuration(void); /定义IO中断初始化函数EXTI_Configuration();/IO中断初始化函数调用简单应用:/中断设置void EXTI_Configuration(void) EXTI_InitTypeDef EXTI_InitStructure; /EXTI初始化结构定义EXTI_ClearITPendingBit(EXTI_LINE_KEY_BUTTON);/清除中断标志 GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource3);/管脚选择 GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource4); GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource5); GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource6); EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;/事件选择 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;/触发模式 EXTI_InitStructure.EXTI_Line = EXTI_Line3 | EXTI_Line4; /线路选择 EXTI_InitStructure.EXTI_LineCmd = ENABLE;/启动中断 EXTI_Init(&EXTI_InitStructure);/初始化/RCC初始化函数中开启I/O时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);/GPIO初始化函数中定义输入I/O管脚。/IO输入,GPIOA的4脚输入 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; /上拉输入 GPIO_Init(GPIOA, &GPIO_InitStructure); /初始化/在NVIC的初始化函数里面增加以下代码打开相关中断: NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQChannel; /通道 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;/占先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; /响应级 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; /启动 NVIC_Init(&NVIC_InitStructure); /初始化/*设置GPIO基本参数*/void GPIO_Configuration(void) GPIO_InitTypeDef GPIO_InitStructure; /根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4| GPIO_Pin_5 ; /设置的IO为pin4与pin5 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /* GPIO_Speed 描述 GPIO_Speed_10MHz 最高输出速率10MHz GPIO_Speed_2MHz 最高输出速率2MHz GPIO_Speed_50MHz 最高输出速率50MHz */ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;/*GPIO_Speed 描述GPIO_Mode_AIN 模拟输入GPIO_Mode_IN_FLOATING 浮空输入GPIO_Mode_IPD 下拉输入GPIO_Mode_IPU 上拉输入GPIO_Mode_Out_OD 开漏输出GPIO_Mode_Out_PP 推挽输出GPIO_Mode_AF_OD 复用开漏输出GPIO_Mode_AF_PP 复用推挽输出通常有5种方式使用某个引脚功能,它们的配置方式如下:1)作为普通GPIO输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时不要使能该引脚对应的所有复用功能模块。2)作为普通GPIO输出:根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复用功能模块。3)作为普通模拟输入:配置该引脚为模拟输入模式,同时不要使能该引脚对应的所有复用功能模块。4)作为内置外设的输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时使能该引脚对应的某个复用功能模块。5)作为内置外设的输出:根据需要配置该引脚为复用推挽输出或复用开漏输出,同时使能该引脚对应的所有复用功能模块。1、模拟输入模式下,是用于AD输入时输入模拟量,此时施密特触发器输入关闭,施密特触发器输出为0.2、下拉输入:打开内部下拉电阻3、上拉输入:打开内部上拉电阻4、浮空输入 :这个输入模式,输入电平必须由外部电路确定,要根据具体电路,加外部上拉电阻或下拉电阻。5、推挽输出:可以输出高,低电平,连接数字器件。推挽式输出输出电阻小,带负载能力强。6、开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).能驱动大电流和大电压。LED就使用这种模式7、复用是指该引脚打开remap功能。*/ GPIO_Init(GPIOC, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource4);EXTI_InitTypeDef EXTI_InitStructure;EXTI_InitStructure.EXTI_Line=EXTI_Line4;EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;EXTI_InitStructure.EXTI_LineCmd=ENABLE;EXTI_Init(&EXTI_InitStructure);GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource5);EXTI_InitTypeDef EXTI_InitStructure;EXTI_InitStructure.EXTI_Line=EXTI_Line5;EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;EXTI_InitStructure.EXTI_LineCmd=ENABLE;EXTI_Init(&EXTI_InitStructure);/*GPIO常使用的几条函数GPIO_ReadInputDataBit 读取指定端口管脚的输入u8 ReadValue;ReadValue = GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_7); 使用setbits 与resetbits 是比较简单,其实还是可以使用 其它函数。例如可以使用GPIO_WriteBit GPIO_WriteBit(GPIOA, GPIO_Pin_1, Bit_SET); GPIO_WriteBit(GPIOA, GPIO_Pin_1, Bit_RESET);对于好像流水灯呀这些一个整段IO,可以使用GPIO_Write(GPIOA, 0x1101);GPIO_EXTILineConfig 选择GPIO管脚用作外部中断线路GPIO_EXTILineConfig(GPIO_PortSource_GPIOB, GPIO_PinSource8);*/电压驱动的如:场效应管,因为它的内阻很大,加电压控制时电流很小,近似为零,所以可以理解成:电压驱动;电流驱动的如:普通的NPN、PNP型三极管,因为它的内阻较小,加电压控制时电流相对较大(一般小功率的都有100uA以上,大功率的可达20mA以上)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮店店面改造与设备升级合同
- 货物购销框架协议书范本
- 能源项目采购合同进度监管与节能减排协议
- 车辆维修保养包年合同协议书
- 能源管理软件销售与节能方案合同范本
- 餐饮连锁企业股权收购与整合合同
- 学校校园“踩踏式”混战紧急疏散演练合同
- 2024年放大镜项目资金筹措计划书参考
- 餐饮部操作规程
- 安防安全培训
- 合同的内容讲课件
- 电子政务内网机房运维管理制度
- 2025年北京高考化学试卷试题真题及答案详解(精校打印版)
- 陕西省专业技术人员继续教育2025公需课《党的二十届三中全会精神解读与高质量发展》20学时题库及答案
- 福利院财务管理制度
- 2025至2030中国汽车轮毂行业发展分析及发展前景与投资报告
- 学习通《科研诚信与学术规范》课后及考试答案
- 百词斩雅思核心词汇
- PFMEA模板完整版文档
- 重复测量资料统计分析
- 广告机使用说明书模板
评论
0/150
提交评论