电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于arm的单片机应用及实践幻灯片-第五章

51页
  • 卖家[上传人]:F****n
  • 文档编号:88147002
  • 上传时间:2019-04-20
  • 文档格式:PPT
  • 文档大小:1.44MB
  • / 51 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第五章 GPIO及外部中断的使用,5.1 综述,通用IO,复位期间和刚复位后,复用功能未开启,I/O端口被配置成浮空输入模式(CNFx1:0=01b,MODEx1:0=00b)。 复位后,JTAG引脚被置于输入上拉或下拉模式: PA15:JTDI置于上拉模式 PA14:JTCK置于下拉模式 PA13:JTMS置于上拉模式 PB4: JNTRST置于上拉模式,单独的位设置或位清除 当对GPIOx_ODR的个别位编程时,软件不需要禁止中断:在单次APB2写操作里,可以只更改一个或多个位。 这是通过对“置位/复位寄存器”(GPIOx_BSRR,复位是 GPIOx_BRR)中想要更改的位写1来实现的。没被选择的位将不被更改。,5.1 综述,外部中断/唤醒线,所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。,5.1 综述,软件重新映射I/O复用功能,为了使不同器件封装的外设I/O功能的数量达到最优,可以把一些复用功能重新映射到其他一些脚上。这可以通过软件配置相应的寄存器来完成(参考AFIO寄存器描述)。这时,复用功能就不再映射到它们的原始引脚上了。,GPIO锁定机制,锁定机

      2、制允许冻结IO配置。当在一个端口位上执行了所定(LOCK)程序,在下一次复位之前,将不能再更改端口位的配置。,5.1 综述,复用功能(AF),使用默认复用功能前必须对端口位配置寄存器编程。 对于复用的输入功能,端口必须配置成输入模式(浮空、上拉或下拉)且输入管脚必须由外部驱动 对于复用输出功能,端口必须配置成复用功能输出模式(推挽或开漏)。 对于双向复用功能,端口位必须配置复用功能输出模式(推挽或开漏)。这时,输入驱动器被配置成浮空输入模式。,5.1 综述,输入配置,当I/O端口配置为输入时: 输出缓冲器被禁止 施密特触发输入被激活 根据输入配置(上拉,下拉或浮动)的不同,弱上拉和下拉电阻被连接 出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器 对输入数据寄存器的读访问可得到I/O状态,输出配置,当I/O端口被配置为输出时: 输出缓冲器被激活 施密特触发输入被激活 弱上拉和下拉电阻被禁止 出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器 在开漏模式时,对输入数据寄存器的读访问可得到I/O状态 在推挽式模式时,对输出数据寄存器的读访问得到最后一次写的值。,5.

      3、1 综述,复用功能配置,5.1 综述,当I/O端口被配置为复用功能时: 在开漏或推挽式配置中,输出缓冲器被打开 内置外设的信号驱动输出缓冲器(复用功能输出) 密特触发输入被激活 弱上拉和下拉电阻被禁止 在每个APB2时钟周期,出现在I/O脚上的数据被采样到输入数据寄存器 开漏模式时,读输入数据寄存器时可得到I/O口状态 在推挽模式时,读输出数据寄存器时可得到最后一次写的值,模拟输入配置,当I/O端口被配置为模拟输入配置时: 输出缓冲器被禁止; 禁止施密特触发输入,实现了每个模拟I/O引脚上的零消耗。施密特触发输出值被强置为0; 弱上拉和下拉电阻被禁止; 读取输入数据寄存器时数值为0。,5.1 综述,5.2 库函数,具体函数用法详情见STM32固件库使用手册,5.3 IO端口的外设,把OSC32_IN/OSC32_OUT作为GPIO 端口PC14/PC15,当LSE振荡器关闭时,LSE振荡器引脚OSC32_IN/OSC32_OUT可以分别用做GPIO的PC14/PC15,LSE功能始终优先于通用I/O口的功能。,把OSC32_IN/OSC32_OUT作为GPIO 端口PC14/PC15,

      4、外部振荡器引脚OSC_IN/OSC_OUT可以用做GPIO的PD0/PD1,通过设置复用重映射和调试I/O配置寄存器(AFIO_MAPR)实现。这个重映射只适用于36、48和64脚的封装(100脚和144脚的封装上有单独的PD0和PD1的引脚,不必重映射)。,5.3 IO端口的外设,5.3 IO端口的外设,CAN复用功能重映射,CAN信号可以被映射到端口A、端口B或端口D上,如下表所示。对于端口D,在36、48和64脚的封装上没有重映射功能。,5.3 IO端口的外设,JTAG/SWD复用功能重映射,调试接口信号被映射到GPIO端口上,如下表所示。,表 调试接口信号,5.3 IO端口的外设,表 调试端口映像,5.3 IO端口的外设,ADC复用功能重映射,ADC1外部触发注入转换复用功能重映射(1),ADC1外部触发规则转换复用功能重映射(1),ADC2外部触发注入转换复用功能重映射(1),5.3 IO端口的外设,ADC2外部触发规则转换复用功能重映射(1),定时器复用功能重映射,5.3 IO端口的外设,定时器4的通道1到通道4可以从端口B重映射到端口D。其他定时器的重映射列在下表。参见复

      5、用重映射和调试I/O配置寄存器(AFIO_MAPR),定时器5复用功能重映像(1),定时器4复用功能重映像,5.3 IO端口的外设,定时器3复用功能重映像,定时器2复用功能重映像,定时器1复用功能重映像,5.3 IO端口的外设,5.3 IO端口的外设,USART复用功能重映射,USART3重映像,USART2重映像,5.3 IO端口的外设,USART1重映像,5.3 IO端口的外设,I2C 1 复用功能重映射,I2C 1重映像,SPI 1复用功能重映射,SPI1重映像,5.4 位运算,左移运算符(),左移位相当于该数乘以,左移位相当于该数乘以22,152=60,即乘了。但此结论只适用于该数左移时被溢出舍弃的高位中不包含的情况。 假设以一个字节(位)存一个整数,若为无符号整型变量,则时,左移一位时溢出的是,而左移位时,溢出的高位中包含。,右移运算符(),右移运算符是a2表示将a的各二进制位右移2位,移到右端的低位被舍弃,对无符号数,高位补0。 例如:a=017时: a的值用二进制形式表示为00001111, 舍弃低2位11: a2=00000011 右移一位相当于除以2 右移n位相当于除

      6、以2n。,5.4 位运算,5.4 位运算,“按位与”运算符(),按位与是指:参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为,则该位的结果值为;否则为。即: ,,例:并不等于,应该是按位与运算:,注意:如果参加&运算的是负数(如-3&-5),则要以补码形式表示为二进制数,然后再按位进行“与”运算。,3&5的值得,5.4 位运算,“按位或”运算符(|),两个相应的二进制位中只要有一个为,该位的结果值为。 即 |,|,|,|,例: 060|017,将八进制数60与八进制数17进行按位或运算。,00110000 | 00001111 00111111,“取反”运算符(),是一个单目(元)运算符,用来对一个二进制数按位取反,即将变,将变。例如,是对八进制数(即二进制数)按位求反。,0000000000010101 () 1111111111101010 (八进制数177752),5.4 位运算,“异或”运算符(),5.4 位运算,异或运算符也称XOR运算符。 它的规则是: 若参加运算的两个二进制位同号则结果为(假)异号则结果为(真),即:00=0,01=1,10=1,

      7、11=0,00111001 00101010 00010011,即:071052=023 (八进制数),5.5 GPIO控制实例,控制LED闪烁,跑马灯,按键输入,5.6 外部中断和中断控制器,嵌套向量中断控制器,特性 60个可屏蔽中断通道(不包含16个Cortex-M3的中断线); 16个可编程的优先等级(使用了4位中断优先级); 低延迟的异常和中断处理; 电源管理控制; 系统控制寄存器的实现; 嵌套向量中断控制器(NVIC)和处理器核的接口紧密相连,可以实现低延迟的中断处理和有效处理地处理晚到的中断。,中断和异常向量,5.6 外部中断和中断控制器,STM32F10xxx产品的向量表,5.6 外部中断和中断控制器,5.6 外部中断和中断控制器,5.6 外部中断和中断控制器,5.6 外部中断和中断控制器,外部中断/事件控制器(EXTI),外部中断/事件控制器由19个产生事件/中断要求的边沿检测器组成。每个输入线可以独立地配置输入类型(脉冲或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发)。每个输入线都可以被独立的屏蔽。挂起寄存器保持着状态线的中断要求。,主要特性,EXTI控制器

      8、的主要特性如下: 每个中断/事件都有独立的触发和屏蔽 每个中断线都有专用的状态位 支持多达19个中断/事件请求 检测脉冲宽度低于APB2时种宽度的外部信号。参见数据手册中电气特性部分的相关参数。,5.6 外部中断和中断控制器,5.6 外部中断和中断控制器,硬件中断选择 通过下面的过程来配置19个线路做为中断源: 配置19个中断线的屏蔽位(EXTI_IMR) 配置所选中断线的触发选择位(EXTI_RTSR和EXTI_FTSR); 配置那些控制映像到外部中断控制器(EXTI)的NVIC中断通道的使能和屏蔽位,使得19个中断线中的请求可以被正确地响应。,硬件事件选择,通过下面的过程,可以配置19个线路为事件源 配置19个事件线的屏蔽位(EXTI_EMR) 配置事件线的触发选择位(EXTI_RTSR和EXTI_FTSR),5.6 外部中断和中断控制器,软件中断/事件的选择,19个线路可以被配置成软件中断/事件线。下面是产生软件中断的过程: 配置19个中断/事件线屏蔽位(EXTI_IMR, EXTI_EMR) 设置软件中断寄存器的请求位(EXTI_SWIER),5.6 外部中断和中断控制器,NV

      9、IC库函数,5.6 外部中断和中断控制器,5.6 外部中断和中断控制器,EXTI库函数,5.6 外部中断和中断控制器,外部中断实例按键输入,实验目的,1. 熟练掌握单片机GPIO输入输出的使用。 2.掌握外部中断的编程步骤。 3.使用外部中断完成按键程序的编写。,5.6 外部中断和中断控制器,硬件设计,硬件连接图如下,实验板上stm32f103x处理器GPIOC的GPIO_Pin_2连接KEY,,通过配置GPIO实现如下功能:按下按键SW1使LED4熄灭,再次按下时点亮。,5.6 外部中断和中断控制器,软件设计,步骤一:添加库函数,以及操作函数。 添加库函数有: startup/start_stm32f10x_hd.c;CMSIS/core_cm3.c;system_stm32f10x.c;FWlib/stm32f10x_gpio.c;stm32f10x_rcc.c;stm32f10x_exti.cFWlib/misc.c。 操作函数有:USER/main.c ;stm32f10x_it.c ;led.c ;exti.c;EXTI2_IRQHandler()。,步骤二:打开system_stm32f10x.c文件,配置系统时钟为72MHZ。,步骤三:打开打开led.c文件,使用函数为LED_GPIO_Config()配置PA10;该函数的实现步骤如下:,5.6 外部中断和中断控制器,void LED_GPIO_Config(void) GPIO_InitTypeDef GPIO_InitStructure;配置PB14 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14; GPIO_InitStructure.

      《基于arm的单片机应用及实践幻灯片-第五章》由会员F****n分享,可在线阅读,更多相关《基于arm的单片机应用及实践幻灯片-第五章》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.