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

做自己的网站可以赚钱吗北京做网站好的网站建设公司

做自己的网站可以赚钱吗,北京做网站好的网站建设公司,高唐做网站建设的公司,企业管理咨询中心在实现GPIO的时候就对引脚中断有了初步的解释,AFIO控制中断的引脚PIN,多个GPIOX口只能同时出现一个Pinx引脚,总共Pin0~pin15 16个pin引脚,所以GPIO中断最多就16个,外部中断EXTI由16个GPIO引脚的中断以及PVD输出&#x…

在实现GPIO的时候就对引脚中断有了初步的解释,AFIO控制中断的引脚PIN,多个GPIOX口只能同时出现一个Pinx引脚,总共Pin0~pin15 16个pin引脚,所以GPIO中断最多就16个,外部中断EXTI由16个GPIO引脚的中断以及PVD输出,RTC闹钟,USB唤醒,以太网唤醒20种中断方式。

按照江科大的代码来,设置PB14为上拉输入模式,用AFIO选择PB14为外部中断14的引脚,然后NVIC的分组与设置优先级。

NVIC一个项目里面只能分组一次,通常我们都放在主函数里面进行分组。

而对于hal库,我们直接在CubeMx里面进行设置即可。

红外对射模块

接着在NVIC里面使能中断即可

然后再这边的NVIC里面设置中断分组以及中断优先级。按照江科大的来设置,中断分组为2,抢占优先级为1,响应优先级也为1。 

 这样CubeMx就帮我们配置好了以PB14为外部中断引脚,当我们触发中断的时候就会进入

HAL_GPIO_EXTI_IRQHandler函数里,在里面对PIN口进行非空判断,清除这次的中断标志位,再进入callback回调函数里面。

我们在callback回调函数里面进行数据的处理,再次判断中断的引脚,防止别的引脚的中断进入进而错误计数(所有的GPIO端口引脚共用一个中断服务函数和中断回调函数)。就是红外对射计数器的记录。

uint16_t CountSensor_Get(void)
{return CountSensor_Count;
}
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){if(GPIO_Pin == GPIO_PIN_14){CountSensor_Count++;}
}

引入我们之前移植的OLED模块,完成江协科技的红外对射触发器的hal库实现。

旋转编码器计数

以PB1,PB0为输入端口,上拉输入模式,且配置成PIN0,PIN1的外部中断输入端口。下降沿触发

在NVIC那边使能两个中断

EXTI0抢占优先级和响应优先级都是1,EXTI1抢占优先级为1,响应优先级为2(按照江科大的配置)

void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
{/* EXTI line interrupt detected */if (__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0x00u){__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);//先清除中断请求位,再调用中断回调函数HAL_GPIO_EXTI_Callback(GPIO_Pin);}
}

江科大的代码是外部中断触发后,在对应的中断服务函数里面对触发引脚电平和另一个引脚电平先后判断,然后赋予正转反转,而我对代码的直接移植缺不能正常使用,在仔细检查代码后发现了,中断触发后,我们进入中断服务函数里面,在中断服务函数里面先会检测中断引脚非空,然后清除中断请求位,再进入中断回调函数里面进行操作,中断请求位被清除了,我们就不能按照江科大的写法来写了,我们使用__HAL_GPIO_EXTI_GET_FLAG函数,获取中断触发标志位去检测。flag只告诉我们是否触发了中断,但不关心是否已触发中断处理程序。

所以我们的代码就在stmf103xx_it.c里面去找到外部中断1和外部中断0的中断服务函数,在里面进行编写,或者说在中断回调函数里面对触发的引脚进行判断再进行操作。

判断中断标志位是防止抖动导致外部中断的触发。

旋转编码器的原理就是在一条线的下降沿的时候判断另一条线的电平,两条线是有一定的相位差距的,进而可以用来判断正反转。

void EXTI0_IRQHandler(void)
{/* USER CODE BEGIN EXTI0_IRQn 0 */if(__HAL_GPIO_EXTI_GET_FLAG(GPIO_PIN_0)){if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1) == GPIO_PIN_RESET) num++;}/* USER CODE END EXTI0_IRQn 0 */HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);/* USER CODE BEGIN EXTI0_IRQn 1 *//* USER CODE END EXTI0_IRQn 1 */
}/*** @brief This function handles EXTI line1 interrupt.*/
void EXTI1_IRQHandler(void)
{/* USER CODE BEGIN EXTI1_IRQn 0 */if(__HAL_GPIO_EXTI_GET_FLAG(GPIO_PIN_1)){if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0) == GPIO_PIN_RESET) num--;}/* USER CODE END EXTI1_IRQn 0 */HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1);/* USER CODE BEGIN EXTI1_IRQn 1 *//* USER CODE END EXTI1_IRQn 1 */
}


文章转载自:

http://kaKPxI8t.jjzxn.cn
http://VbtTAe5q.jjzxn.cn
http://aUSJOKmd.jjzxn.cn
http://pVnpHLWG.jjzxn.cn
http://seKBZMXK.jjzxn.cn
http://ql0VkikP.jjzxn.cn
http://nkGqR3nc.jjzxn.cn
http://9ue1lqkJ.jjzxn.cn
http://OMsHAxtx.jjzxn.cn
http://yRun7Is6.jjzxn.cn
http://qcnbTQWL.jjzxn.cn
http://UFZQ2IaF.jjzxn.cn
http://dDbPFJoh.jjzxn.cn
http://enBuBoch.jjzxn.cn
http://uVtPBMEK.jjzxn.cn
http://HljXWLgz.jjzxn.cn
http://Y9f3uYeS.jjzxn.cn
http://q6ahtxRi.jjzxn.cn
http://ds3go6Pt.jjzxn.cn
http://1W1Qq03k.jjzxn.cn
http://29qkQfMt.jjzxn.cn
http://YPQlornm.jjzxn.cn
http://6wm3r6IV.jjzxn.cn
http://QmbdFsYL.jjzxn.cn
http://qrgMJxub.jjzxn.cn
http://q0aP7hnN.jjzxn.cn
http://QTTr4Zxd.jjzxn.cn
http://zWR1EmSJ.jjzxn.cn
http://RxPxTgdR.jjzxn.cn
http://V0yy3wjo.jjzxn.cn
http://www.dtcms.com/wzjs/690114.html

相关文章:

  • 建邺区住房 建设 网站企业名录搜索网站
  • 企业网站的劣势大学生创新创业大赛ppt
  • 免费行情软件网站大全网页版昆明做网站建设怎么样
  • qq教程网站源码网站开发公司宣传语
  • 郑州修了你官方网站酒泉网站建设费用
  • wordpress可视化建站wordpress表单修改
  • 图片背景在网站建设中小米手机做网站服务器吗
  • 东莞住房和城乡建设厅网站公司彩页设计制作
  • 房产销售网站开发文档手游传奇发布网站999
  • 门户网站是什么wordpress维护费用
  • 建站快车产品介绍网站网站怎么定位
  • 自己有服务器怎么做网站网站如何看是哪家公司做的
  • 公司网站的服务器wordpress 3.8.1 中文
  • 网站数据库空间大小哈尔滨做网站建设
  • 自己做网站投放有流量么百度短网址生成器
  • 单位网站建设要记入无形资产吗app开发定制软件公司
  • 郑州工程建设信息网站网站定位分析
  • 凡科建设网站安全吗加速网站的加速器
  • 湘西建网站饭店品牌建设
  • 金融证券网站模板太原网站建设价格
  • 网络营销方式分析厦门seo推广优化
  • 沙田镇网站建设旅行社手机网站建设成
  • 承德市建设局网站电话今天的新闻联播文字版
  • wordpress网站设置关键词设置微信公众号文章里好看的图片在哪个网站做
  • 吴桥做网站家电企业网站模板
  • 网站建设与管理 试卷wap网页游戏枭雄
  • 建筑公司网站制作网站点击快速排名
  • 西昌网站建设公司网站建设公司优惠大酬宾活动
  • 网站开发字体西安市建设工程交易信息网
  • 手机网站首页模板网站文字源码