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

齐河网站建设wordpress+药品食品

齐河网站建设,wordpress+药品食品,城市建设灯具网站,w3c验证网站CubeMX配置外部中断前言一、什么是中断1.STM32中断架构体系2.外部中断/事件控制器#xff08;EXTI#xff09;3.嵌套向量中断控制器#xff08;NIVC#xff09;二、实验过程1.CubeMX配置2.代码实现3.硬件连接4.实验结果总结前言 本章介绍使用STM32CubeMX对引脚的外部中断进… CubeMX配置外部中断前言一、什么是中断1.STM32中断架构体系2.外部中断/事件控制器EXTI3.嵌套向量中断控制器NIVC二、实验过程1.CubeMX配置2.代码实现3.硬件连接4.实验结果总结前言 本章介绍使用STM32CubeMX对引脚的外部中断进行配置介绍了中断架构体系外部中断/事件控制器EXTI嵌套向量中断控制器NIVC并通过实验展示配置后的效果。 一、什么是中断 中断是指计算机运行过程中出现某些意外情况需主机干预时机器能自动停止正在运行的程序并转入处理新情况的程序处理完毕后又返回原被暂停的程序继续运行。 中断可以分为系统异常内部中断和外部中断内部中断是指中断信号来源是CPU内部与当前执行的指令有关。外部中断信号的来源是CPU外部与当前执行的指令无关。 1.STM32中断架构体系 在STM32中一个中断由不同的中断源触发触发后通过中断控制NVIC按照抢占优先级和响应优先级进行执行和响应为了大家有一个整体认识我们先来看一下STM中断架构体系图重点关注图中的NVIC和EXTI。GPIO的中断源先通过EXTI然后再进入NIVC片内的其他中断直接进入NIVC。 2.外部中断/事件控制器EXTI 有了大致的认识我们接下来介绍下EXTIEXTI的作用是检测管理配置事件/中断请求它由20个产生事件/中断请求的边沿检测器组成个输入线可以独立地配置输入类型(脉冲或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发)。每个输入线都可以独立地被屏蔽挂起寄存器保持着状态线的中断请求。 下图为EXTI控制框图图中可以看到终端源中断控制器和每个EXTI由20个产生事件/中断请求的边沿检测器组成。最终输出到NVIC中断控制器。 在datasheet中可以找到每个PGIO对应的EXTI这里贴出来一些实际使用过程中参考datashett 3.嵌套向量中断控制器NIVC NVIC就是接收到不同的中断源根据中断源的参数控制中断响应。主要参数有中断使能抢占优先级响应优先级。(优先级数值越小优先级别越高)。 **中断使能**判断是否开启中断如果开启中断则满足中断触发条件时程序会跳到中断服务程序运行否则不响应中断主程序继续运行。 **抢占优先级**判断一个中断是否可以打断另外一个中断的中断服务程序抢先运行。优先级高的服务可以打断优先级低的服务优先运行。 **响应优先级**如果几个抢占优先相同的中断同时触发那么响应优先级高的最先运行。 判断中断的优先级先看抢占优先级抢占优先级高的中断优先级别高。抢占优先级相同的情况下响应优先高的中断优先级别高。抢占优先级和响应优先级相同的情况下根据中断向量表确定。 中断源可以在datasheet中查找到下面是部分截图实际使用是参考完全版datasheet 二、实验过程 由于前几个章节已经对实验的硬件工具IDE等内容进行了介绍为了更加简洁明了的展示内容这里对实验材料和编译烧录等过程不做过多介绍如果需要查看可以到GPIO、PWM等章节进行查阅。 1.CubeMX配置 选择芯片stm32f103c6t6新建工程 设置时钟源最小系统外部晶振8Mhz作为外部高速HSE时钟源。由于没有外接外部低速晶振这里低速时钟源选择旁路时钟源。 配置时钟树这里使用官方推荐的配置 配置引脚功能因为我的最小系统没有啥外设所以这里通过串口输出来判断中断触发所以这里我配置了USART1同时我这里选择PA1作为GPIO_EXTI1配置中断上升沿触发GPIO拉低。 使能中断 配置中断优先级Preemption Priority为抢占优先级Sub Priority是相应优先级 Code Generator中设置只拷贝使用到的库分离.c和.h文件 设置好项目名称和路径点击GENERATE CODE即可生成后使用keil5 IDE打开。 2.代码实现 在main.c中code4部分添加一个HAL_GPIO_EXTI_Callback回调函数别忘记添加stdio.h添加头文件。 /* USER CODE BEGIN 4 */ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {if(GPIO_Pin GPIO_PIN_1){printf(GPIO1 interupt\r\n);} } /* USER CODE END 4 */在usart.c中重载printf /* USER CODE BEGIN 1 */ #include stdio.h #ifdef __GNUC__/* With GCC/RAISONANCE, small printf (option LD Linker-Libraries-Small printfset to Yes) calls __io_putchar() */#define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif /* __GNUC__ */ /*** brief Retargets the C library printf function to the USART.* param None* retval None*/ PUTCHAR_PROTOTYPE {/* Place your implementation of fputc here *//* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */HAL_UART_Transmit(huart1, (uint8_t *)ch, 1, 0xFFFF);return ch; } /* USER CODE END 1 */3.硬件连接 烧录器ST-LINK V2和最小系统板的连接如图所示 四线连接 SWDIOGNDSWCLK和3.3V电源PA9 PA10连接TTL转USB工具然后通过杜邦线短暂给PA1高电平触发中断 4.实验结果 总结 本章介绍使用STM32CubeMX对引脚的外部中断进行配置介绍了中断架构体系外部中断/事件控制器EXTI嵌套向量中断控制器NIVC最终的实验由于外设较少用杜邦线简单连接触发中断通过回调函数打印日志检测配置的效果。
http://www.hkea.cn/news/14462545/

相关文章:

  • 建站之星山东网站备案号
  • 网站域名在哪里查询创意设计作品图片
  • 怎么做刷网站流量生意服务器搭建网站软件
  • 做网站用什么软件知乎网站信息登记表扫描件
  • 东莞网站建设网站建立pHP可以做论坛网站吗
  • 建设茶网站目的seo怎样才能优化网站
  • 网站制作 深圳网站建设服务费怎么做会计分录
  • 手机膜+东莞网站建设大良网站建设价位
  • 怎样做网站的链接做网站费用分摊入什么科目
  • 数据库在网站建设中的作用wordpress 免费中文企业主题下载
  • 做企业网站的公司做枸杞的网站
  • 做直播网站有市场吗深圳网站制作首选灵点网络
  • 上海营销型网站建设方案沧州建设银行招聘网站
  • thinkphp做视频网站福州绿光网站建设工作室
  • 苏州建设工程公司网站南昌定制网站开发费用
  • 西安行业网站深圳定制巴士怎么预约
  • 网站项目需求分析怎么做代理网站
  • 湘潭建设企业网站网站制作运营公司
  • 郑州企业网站建站模板网站的倒计时怎么做的
  • 网站开发方案案例d8 wordpress
  • 研学网站开发需求文档网站验证码体验
  • 织梦网站管理安装申请制作网站
  • 钛钢饰品网站建设华为企业邮箱
  • 河南网站建设公司哪个好呀排名sem优化软件
  • 网站的颜色搭配个人网站酷站赏析
  • 百度上面做企业网站怎么做安徽网站建设大全
  • 甘肃张掖网站建设天津做个网站需要多少钱
  • 建构网站西安网页设计及网站建设在线作业
  • nas 做网站源码开发网站建设
  • 自己做的网站链接到微信支付界面自己做网站页面