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

建设监理杂志网站湖北网站推广公司技巧

建设监理杂志网站,湖北网站推广公司技巧,国外网站众筹怎做,建筑人才网哪些接线图如上图所示。 我们初始化一下PB0和PB1两个GPIO口外设中断#xff0c;当然#xff0c;这里只初始化一个外部中断也能完成功能的对于编码器而言#xff0c;下图所示为正转的波形。如果把一相的下降沿用作触发中断#xff0c;在中断时刻读取另一相的电平#xff0c;正… 接线图如上图所示。  我们初始化一下PB0和PB1两个GPIO口外设中断当然这里只初始化一个外部中断也能完成功能的对于编码器而言下图所示为正转的波形。如果把一相的下降沿用作触发中断在中断时刻读取另一相的电平正转时B就是高电平反转是B就是低电平这样就能区别旋转方向了。只不过这样在操作上有一些小瑕疵比如你正转的时候由于A相先出现下降沿所以你刚开始动就进中断了而反转时是A相后出现下降沿所以就是你转到位了才进行中断。 所以打算A,B都触发中断只有在B相下降沿和A相低电平时才判断为正转在A相下降沿和B相为低电平时才判断为反转。这样保证正转和反转都转到位了才执行数字加减的操作同时可以演示两个初始化代码。 下面是代码 Encoder.c #include stm32f10x.h // Device headerint16_t Encoder_Count;void Encoder_Init(void) {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode GPIO_Mode_IPU;GPIO_InitStructure.GPIO_Pin GPIO_Pin_0 | GPIO_Pin_1;GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init(GPIOB, GPIO_InitStructure);GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource0);GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource1);EXTI_InitTypeDef EXTI_InitStructure;EXTI_InitStructure.EXTI_Line EXTI_Line0 | EXTI_Line1;EXTI_InitStructure.EXTI_LineCmd ENABLE;EXTI_InitStructure.EXTI_Mode EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger EXTI_Trigger_Falling;EXTI_Init(EXTI_InitStructure);NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVIC_InitTypeDef NVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannel EXTI0_IRQn;NVIC_InitStructure.NVIC_IRQChannelCmd ENABLE;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority 1;NVIC_InitStructure.NVIC_IRQChannelSubPriority 1;NVIC_Init(NVIC_InitStructure);NVIC_InitStructure.NVIC_IRQChannel EXTI1_IRQn;NVIC_InitStructure.NVIC_IRQChannelCmd ENABLE;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority 1;NVIC_InitStructure.NVIC_IRQChannelSubPriority 2;NVIC_Init(NVIC_InitStructure); }int16_t Encoder_Get(void) {int16_t Temp;Temp Encoder_Count;Encoder_Count 0;return Temp; }void EXTI0_IRQHandler(void) {if (EXTI_GetITStatus(EXTI_Line0) SET){/*如果出现数据乱跳的现象可再次判断引脚电平以避免抖动*/if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0) 0){if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1) 0){Encoder_Count --;}}EXTI_ClearITPendingBit(EXTI_Line0);} }void EXTI1_IRQHandler(void) {if (EXTI_GetITStatus(EXTI_Line1) SET){/*如果出现数据乱跳的现象可再次判断引脚电平以避免抖动*/if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1) 0){if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0) 0){Encoder_Count ;}}EXTI_ClearITPendingBit(EXTI_Line1);} }Encoder.h #ifndef __ENCODER_H #define __ENCODER_Hvoid Encoder_Init(void); int16_t Encoder_Get(void);#endifmain.c #include stm32f10x.h // Device header #include Delay.h #include OLED.h #include Encoder.hint16_t Num;int main(void) {OLED_Init();Encoder_Init();OLED_ShowString(1, 1, Num:);while (1){Num Encoder_Get();OLED_ShowSignedNum(1, 5, Num, 5);} }OLED模块就不写了前面博文有。
http://www.hkea.cn/news/14518441/

相关文章:

  • 文网文网站建设移动网站建设书
  • 找人做网站毕业设计破解wordpress网站密码
  • 昆明做百度网站电话号码网站建设的目标是
  • 网站管理的主要内容营销推广的形式包括
  • php网站开发技术前景wordpress 主页插件
  • 网站建设中联系我们怎么写做外国订单有什么网站
  • 服务平台网站设计it外包风险
  • 做网站网站会被判多久网站自建设需要买什么
  • 做户外的网站设计公司展厅效果图
  • 企业建网站的步骤友情链接官网
  • 哪里有做网站app的seo刷网站
  • 简单网站建设推荐怎么做网站的api
  • wordpress模板仿制seo优化技巧
  • 程序员能转行做网站维护不wordpress上传文件慢
  • 专业做网站的公司有各地城乡建设网站更新
  • 耒阳市建设局网站pc网站如何做移动网站
  • 蚌埠市建设工程质监站网站承德微网站开发
  • 韩国网站域名微信小程序第三方免费制作平台
  • 东莞松山湖凯悦酒店沈阳优化推广哪家好
  • 营销企业网站建设步骤齐鲁人才招聘网
  • 网站平台推广方案xp系统做局域网内网站
  • 网站建设织梦源码上海百姓网免费发布信息网
  • 网站制作的困难和解决方案绍兴网站定制公司
  • seo门户网站wordpress使用个人写的页面
  • 网站设计策划案python菜鸟教程
  • 网站文章没有被收录数字广东公司面试严吗
  • 专做中医教学网站网站顶部有空白
  • html5 手机 网站建设银行网站用户权限
  • 网上接设计单在哪里接重庆网站建设seo优化
  • 免费建设音乐网站怎么快速建立一个网站