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

麻涌建设网站2元域名注册网站

麻涌建设网站,2元域名注册网站,黄南州网站建设公司,22 wordpress 模板1.接线方式 主要是编写传感器的驱动、配合OLED#xff0c;每遮挡对射红外传感器#xff0c;OLED屏幕的计数就加一。 2.驱动编写 首先新建.c文件和.h文件#xff0c;命名为CountSensor 国际惯例#xff0c;.c文件内要包含stm32.h头文件#xff0c;然后编写 CountSensor_…1.接线方式 主要是编写传感器的驱动、配合OLED每遮挡对射红外传感器OLED屏幕的计数就加一。 2.驱动编写  首先新建.c文件和.h文件命名为CountSensor 国际惯例.c文件内要包含stm32.h头文件然后编写 CountSensor_Init()函数即传感器计数函数。一步一步来首先函数体内部要首先使能时钟没有时钟不工作。总体的函数内部需要配置的东西有 1.配置RCC时钟 2.配置GPIO端口配置为输入模式 3.配置AFIO选择GPIO链接到EXTI 4.配置EXTI选择边沿触发方式和触发的响应方式 5.配置NVIC配置中断优先级。 2.1时钟使能 void CountSensor_Init(void) //第一步配置RCC没有时钟不行第二部配置GPIO配置端口为输入模式第三步配置AFIO选择我们的GPIO链接到EXTI//第四步配置EXTI选择边沿的触发方式和触发的响应方式。第五步配置NVIC配置中断优先级。 {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//开启GPIOB的时钟因为传感器引脚接在了GPIOBRCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);//AFIO时钟开启 2.2定义GPIO参数  GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_ModeGPIO_Mode_IPU;//EXTI输入推荐配置是浮空上拉或下拉GPIO_InitStructure.GPIO_PinGPIO_Pin_14;GPIO_InitStructure.GPIO_SpeedGPIO_Speed_50MHz ;GPIO_Init(GPIOB, GPIO_InitStructure); 首先定义GPIO参数结构体GPIO_Mode选择上拉输入使能第14号管脚因为传感器的信号端接的是GPIOB_14速度万年50MHz最后调用GPIO_Init(GPIOB,结构体名称初始化GPIO14. 2.3配置AFIO选择GPIO引脚 AFIO外设没有专门分配的库函数它的库函数跟GPIO在同一个文件中在GPIO.h中的第350行开始。使用函数GPIO_EXTILineConfig()函数选择指定的GPIO引脚链接EXTI如果不知道这个函数怎么用右键然后看它的定义如下图所示 函数上面的注释中brief是函数功能简介这里说的很清楚本函数是选择GPIO管脚链接到EXTI 。函数的第一个参数是GPIO源就是GPIO哪个片区是GPIOA还是GPIOB第二个参数是具体的管脚号。我们这个例子是用GPIOB_14所以函数的调用形式为 GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource14); 2.4.配置EXTI 首先要用结构体定义EXTI参数具体包括EXTI_Line,配置中断线EXTI_LineCmd,开启或关闭中断EXTI_Mode,选择中断模式EXTI_Trigger,触发方式选择。总体就是这么几个地方要配置最后调用EXTI_Init()函数初始化EXTI。总体代码如下 EXTI_InitTypeDef EXTI_InitStructure;EXTI_InitStructure.EXTI_LineEXTI_Line14;//配置中断线EXTI_InitStructure.EXTI_LineCmdENABLE;//开启或关闭中断EXTI_InitStructure.EXTI_ModeEXTI_Mode_Interrupt;//定义中断模式EXTI_InitStructure.EXTI_TriggerEXTI_Trigger_Rising;//触发中断方式是下降沿还是上升沿EXTI_Init(EXTI_InitStructure); 2.5.配置NVIC  回顾上一篇讲的内容NVIC的作用是管理中断更具体地是管理中断的优先级。 首先要配置优先级分组优先级分组有6种方式这里选择第二种。 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//优先集分组定义 接下来使用结构体定义NVIC的参数包括 NVIC_IRQChannel指定NVIC通道NVIC_IRQChannelCmd使能或关闭NVIC_IRQChannelPreemptionPriority抢占优先级NVIC_IRQChannelSubPriority响应优先级。最后调用NVIC_Init函数初始化NVIC。 NVIC_InitTypeDef NVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannelEXTI15_10_IRQn;//指定NVIC的通道NVIC_InitStructure.NVIC_IRQChannelCmdENABLE;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority1;NVIC_InitStructure.NVIC_IRQChannelSubPriority1;NVIC_Init(NVIC_InitStructure); 3.定义读数函数 函数的返回值是变量CountSensor_Count uint16_t CountSensor_Get(void) {return CountSensor_Count;} 4.定义中断函数 void EXTI15_10_IRQHandler(void)//中断函数的名字 {if (EXTI_GetITStatus(EXTI_Line14) SET){CountSensor_Count;EXTI_ClearITPendingBit(EXTI_Line14);} } 5.主函数 #include stm32f10x.h // Device header #include Delay.h #include OLED.h #include CountSensor.hint main(void) {OLED_Init();CountSensor_Init();OLED_ShowString(1,1, Count:);while(1){OLED_ShowNum(1,7,CountSensor_Get(),5);} }
http://wiki.neutronadmin.com/news/236785/

相关文章:

  • 网站建设这门课好学吗大石桥网站建设公司
  • dede后台做两个网站深圳银行网站建设
  • dedecms 网站标题 设置宿迁558网络专业做网站
  • wordpress 4.9 多站php 网站安装原理
  • 成年男女做羞羞视频网站网站做的好看术语
  • 江西网站开发联系方式wordpress网站换字体
  • 领优惠券的小网站怎么做室内设计师在哪里找
  • 做网站花钱么wordpress 中英双语
  • 杭州网站建设推广公司加盟微信小程序代理
  • 做封面字体下载好的网站html5个人网页完整代码
  • 东莞网站设计流程wordpress给模板添加title
  • 招标网站建设申请报告丽水网站建设企业
  • 成都门户网站有哪些成品影视app开发工具
  • 山东临沂市需要建设网站的公司哪些网站做推广
  • 建设工程施工许可证查询网站WordPress内网外网访问
  • 免费咨询身高发育珠海百度关键字优化
  • dw网页制作素材网站seo链接优化建议
  • 外贸行业建站制作衣服的软件app
  • 购物网站开发和运行环境普通人学python有意义吗
  • 网页游戏平台网站wordpress选择表
  • 网站管理助手怎么使用网页美工设计教学设计
  • 网站开发配置管理计划企业信用信息系统官网
  • 网站开发怎么谈客户钓鱼网站在线下载
  • 网站建设需要多少钱大型电商网站开发实践
  • 常州网站建设套餐网站刷链接怎么做
  • 在什么网站做兼职安徽网站开发
  • 微信淘宝购物券网站是怎么做的网站建设学多久
  • 做网站需要注意的地方网站建设哪个品牌好
  • 中国建设银行官网站网点销售网站建设价格
  • 工业网站开发商智慧宁乡app