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

上传网站根目录用织梦建网站

上传网站根目录,用织梦建网站,没有备案的网站可以用ip访问吗,phpcms电影网站开发萌新的STM32学习–非正点原子视频的中断设计思路 我们分析而言 我们对于PA0 的设计就从此而来 对于边沿触发的选择我们已经有所了解了 我们下拉#xff0c;但是当我们摁下开关的时候 从0到1 导通了 所以这个是下拉 上升沿触发 而对于KEY0 我们摁下是使得电路从原来悬空高阻态…萌新的STM32学习–非正点原子视频的中断设计思路 我们分析而言 我们对于PA0 的设计就从此而来 对于边沿触发的选择我们已经有所了解了 我们下拉但是当我们摁下开关的时候 从0到1 导通了 所以这个是下拉 上升沿触发 而对于KEY0 我们摁下是使得电路从原来悬空高阻态到地就是0 所以是下降沿触发 那么对于何种模式有很多人可能不理解 我们这么分析 这里在摁下前是什么我们不知道但是摁下了电流通过了从高到低 所以我们选择给PA0一个开始接入低 也就是下拉模式 而对于这个我们分析在摁下之后是不是要把1连接到低 那么对于原来的PE4 就是上拉模式 原来上拉到1 那么摁下就是从1到0 就是下降沿触发合情合理 关于代码部分我们的处理方式是这样的 因为我们用的是HAL库 所以怎么说呢 HAL库把很多功能集成封装起来了对我们设计都是颇有帮助的 我们在最先的使用中会先注意对外设进行初始化 因为很多都是建立在GPIO外设上的操作 ok第一步先对GPIO进行初始化 我们最先使用HAL_GPIO_Init void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init) 写是这么写的 一共分为了2部分 前面说的是GPIO_TypeDef *GPIOx x就是表示我们可以在其中填入其他类型 比如说是GPIOA 等等 我们用到哪个就写入那个 不要管其他了 因为在HAL库的其他地方已经帮我们做完了基本的定义了  第二个是GPIO_InitTypeDef GPIO_Init 这是一种关于GPIO_InitTypeDef 类型定义的 这个结构体包括了 typedef struct{ uint32_t Pin; / 引脚号 / uint32_t Mode; / 模式设置 / uint32_t Pull; / 上拉下拉设置 / uint32_t Speed; / 速度设置 */} GPIO_InitTypeDef; 这是关于这个类型的叙述 我们就可以设置GPIO相应管脚的各项参数 这其实是基本的 他会把很多操作都封装起来 让你不直接接触寄存器而直接调用 其实我觉得正点原子在这方面既做的好又做的不好 课程之间并没有很爽快的那种完美连接  就像是你之前介绍完寄存器 然后你实际用起来的时候还是把寄存器封装成一个个模块用的 那当然了我们直接用函数多方便 就是总感觉这其中差了点什么连接块 让人使用起来好不舒服 这是我的个人胡乱猜测 通过外部中断的方式让开发板上的三个独立按键控制 LED 灯KEY_UP 控制 LED0 翻转KEY1 控制 LED1 翻转KEY0 控制 LED0 和 LED1 翻转。 分为红 蓝 黄 三根线 红色部分和 蓝色部分是我们 之前就已经实现过的 而对于黄色部分在此处是一种新的定义方式 目的是为了更好的连接EXTI为后续做准备 接下来展示的是exti.c 对于我们来说黄色的实现 是上面两次实验都有的 就是先把GPIO初始化再先设置 然后接下来的是新实现的两部分我们细致分析一下 HAL_NVIC_SetPriority(KEY0_INT_IRQn, 0, 2); /* 抢占 0子优先级 2 / HAL_NVIC_EnableIRQ(KEY0_INT_IRQn); / 使能中断线 4 / HAL_NVIC_SetPriority(KEY1_INT_IRQn, 1, 2); / 抢占 1子优先级 2 / HAL_NVIC_EnableIRQ(KEY1_INT_IRQn); / 使能中断线 3 / HAL_NVIC_SetPriority(WKUP_INT_IRQn, 3, 2); / 抢占 2子优先级 2 / HAL_NVIC_EnableIRQ(WKUP_INT_IRQn); / 使能中断线 0 */ 它可以分为2部分一部分是 HAL_NVIC_SetPriority void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority,uint32_t SubPriority); 这里可以分为三部分 第一部分是设置 中断号 第二部分是抢占优先级 第三部分是响应优先级 中断号是来自IRQn_Type 定义的枚举类型 我们之前在下面定义的IRQn 其实有这方面的考虑 还有一部分是 HAL_NVIC_EnableIRQ 中断使能函数 所以分析下来是这样的 void EXTI4_IRQHandler(); 这是中断服务函数 你会发现所有的各个部分写法都是这样因为 所有的外部中断服务函数里都只调用了同样一个函数 HAL_GPIO_EXTI_IRQHandler该函数是外部中断共用入口函数函数内部会进行中断标志位清零并且调用中断处理共用回调函数 HAL_GPIO_EXTI_Callback。 在他的内部会自动带上通用回调函数 所以我们不必去考虑到底何时何地才会写入这个回调函数 只要简单的记住 在中断服务函数内部只要写2个就可以了 另外再写的回调函数 会在我中断服务函数里面的第一条全世界公用的HAL_GPIO_EXTI_IRQHandler 内部会自行调用 我们在前面中断函数的处理过程中都调用了 HAL_GPIO_EXTI_IRQHandler()这个接口它主要帮我们进行了寄存器操作清除了中断事件清除完中断源后调用中断回调函数HAL_GPIO_EXTI_Callback这个接口是一个__weak 的接口我们通过重新实现这个函数来实现真正的外部中断控制逻辑。在该函数内部通过判断 IO 引脚号来确定中断是来自哪个 IO 口也就是哪个中断线然后编写相应的控制逻辑。所以在该函数内部我们通过 switch 语句判断IO 口来源例如是来自 GPIO_PIN_0那么一定是来自 PA0因为中断线一次只能连接一个 IO口而三个 IO 口中引脚号为 0 的 IO 口只有 PA0所以中断线 0 一定是连接 PA0也就是外部中断由 PA0 触发。其他的引脚号的逻辑类似。 还算可以接收的水平 所以通用步骤 其实学了很长时间的中断 甚至是寄存器的用法 哪一个都不如直接用HAL库来的实在
http://www.huolong8.cn/news/61627/

相关文章:

  • 桂林哪里学建设网站阿里云域名注册续费
  • 百度喜欢什么样的网站北京朝林建设集团网站
  • 成都做公司网站服装设计好找工作吗
  • 建设网站尺寸多少制作相册影集app
  • 运城网站建设报价wordpress转hexo
  • 中国建设银行官网站基金查询网站建设技术协议书
  • 怎么修改网站的源代码中国纪检监察报理论版
  • 西安 网站建设 1会计实帐培训
  • 个人做网站犯法吗用自己头像做的圣诞视频网站
  • 商品展示的网站源码百度推广做的网站可以用吗
  • 长春网站建设模板样式竹制品网站怎么做
  • 方正网站制作如何建立微信公众号 免费
  • 公司网站应该包括哪些内容代理网络游戏
  • 平面设计培训班学费一般多少钱建站seo是什么
  • 建设部网站官网 取消八大员wordpress充值会员插件
  • 免费的企业黄页网站永久免费鞍山网络
  • 网站的建设与管理的心得体会建设部网上办事大厅
  • 山东网站建设价格实惠网络规划设计师考纲教材改版新旧对比
  • 万网域名怎样把淘宝网站加进去电商网站硬件配置
  • 国家水资源监控能力建设网站今天的新闻大事
  • 网站备案证书下载有没有专门做胜负彩的网站
  • 网站建设及解决方案网站建设课程职业教育机构
  • 国内网站开发外包网
  • 电子商务学网站建设好吗后台网站模板下载
  • 网站建设都有什么栏目学校门户网站怎么做
  • 东莞市国外网站建设哪家好购买海外商品的平台
  • 做网站为什么不要源代码网站备案 四川
  • 东莞寮步网站建设无锡定制公司网站
  • 深圳网站开发公司 有哪些申请自助建站
  • 用jsp实现网站开发的流程西安企业名录电话资料