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

口碑好的盐城网站建设更改wordpress主题字体

口碑好的盐城网站建设,更改wordpress主题字体,北京网站建设团队,做信息发布网站要多少钱基本原理 本遥控器的编码是NEC编码#xff0c;为PWM#xff08;脉冲宽度调制#xff09;。 发射红外载波的时间固定#xff0c;通过改变不发射载波的时间来改变占空比。 逻辑“0”是由0.56ms的38KHZ载波和0.560ms的无载波间隔组成#xff1b;逻辑“1”是由0.56ms的38KHZ…基本原理 本遥控器的编码是NEC编码为PWM脉冲宽度调制。 发射红外载波的时间固定通过改变不发射载波的时间来改变占空比。 逻辑“0”是由0.56ms的38KHZ载波和0.560ms的无载波间隔组成逻辑“1”是由0.56ms的38KHZ载波和1.685m 的无载波间隔组成结束位是0.56ms的38K载波。重复码由9ms红外脉冲和2.25ms的无红外脉冲以及560us的红外脉冲组成。 若发了一次命令码之后一直按住遥控器按键并未松手遥控器发射端将不会再发送命令码而是每隔 110ms 时间发送一段重复码。 过程分析 初始化部分 通用配置过程 将相关的gpio和硬件挂载到RCC初始化GPIO初始化TIM时基单元初始化IC输入捕获初始化NVIC中断管理实现中断处理函数启用中断启动定时器 TIM3的CH1通道位于PA6引脚。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Mode GPIO_Mode_IPU; GPIO_InitStructure.GPIO_Pin GPIO_Pin_6; GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz; GPIO_Init(GPIOA,GPIO_InitStructure);配置时基单元。arr和psc作为函数参数传入支持动态调整。 在本文中分频系数为72这样标准周期就是1us方便后续计算。 TIM_InternalClockConfig(TIM3); TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_ClockDivision TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_Period arr - 1; TIM_TimeBaseStructure.TIM_Prescaler psc - 1; TIM_TimeBaseStructure.TIM_RepetitionCounter 0; TIM_TimeBaseInit(TIM3,TIM_TimeBaseStructure);配置输入捕获。将TIM_ICInitStructure.TIM_ICFilter设置为0xf是为了对输入捕获信号进行滤波滤波时间为8个时钟周期。 对应16个采样点的平均意味着最终捕获值是16个相邻采样值的平均值。这相当于对输入信号进行8个时钟周期的滤波因为每个采样周期占用一个时钟周期。 TIM_ICInitTypeDef TIM_ICInitStructure; TIM_ICInitStructure.TIM_Channel TIM_Channel_1; TIM_ICInitStructure.TIM_ICFilter 0xf; TIM_ICInitStructure.TIM_ICPolarity TIM_ICPolarity_Falling; TIM_ICInitStructure.TIM_ICPrescaler TIM_CKD_DIV1; TIM_ICInitStructure.TIM_ICSelection TIM_ICSelection_DirectTI; TIM_ICInit(TIM3,TIM_ICInitStructure);配置中断优先级。中断优先级的配置方案需要在主函数中设置NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel TIM3_IRQn; NVIC_InitStructure.NVIC_IRQChannelCmd ENABLE; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority 1; NVIC_InitStructure.NVIC_IRQChannelSubPriority 3; NVIC_Init(NVIC_InitStructure);在之前的《PWM输入/输出》中输入捕获采用的是事件方式 TIM_SelectInputTrigger(TIM3,TIM_TS_TI1FP1); TIM_SelectSlaveMode(TIM3,TIM_SlaveMode_Reset);当时没有设置中断设置了事件。事件由硬件自动完成不需要我们实现中断处理函数只需要指定处理方式即可。 我们这次用不到事件。 涉及各种码的判断以及信号处理阶段的判断硬件事件难以处理这种复杂任务需要通过中断实现。 启用中断标志位在TIM3的CC1通道出现下降沿时自动触发TIM_IT_CC1中断 TIM_ITConfig(TIM3,TIM_IT_CC1,ENABLE);配置完毕启动TIM定时器 TIM_Cmd(TIM3,ENABLE);中断处理函数 通过输入捕获判断两个下降沿之间的时间间隔 引导码13.5ms重复码11.25ms逻辑01.12ms逻辑12.245ms 将输入捕获通道的GPIO设置为上拉输入。在没有外界信号时会自动上拉到高电平。 时间间隔通过TIM_GetCounter(TIM3)获取。TIM定时器设置的标准周期为1us返回值即为下降沿之间的时间间隔单位为us。 获取之后通过TIM_SetCounter(TIM3,0);设置寄存器值为0相当于重新开始计数。由于一个周期的开始和结束都是下降沿所以上一个周期的结束接着就是下一个周期的开始计数值误差可以接受。 操作类似于一个状态机 初始处于空闲状态TIM定时器的值是无意义的。在第一个下降沿到来时设置TIM寄存器值为0开始计数进入准备状态。准备状态下第二个下降沿到来时根据时长判断是引导码还是重复码。重复码则回到空闲状态。引导码还需要读取具体的指令进入接受状态。接收状态下逐位接收共32位。接收结束后回到空闲状态。等待下一个响应。 为什么引导码和重复码在同一个状态下判断 对于上面四种码的时间间隔很明显引导码与重复码相近逻辑0和逻辑1相近。 如果同一个阶段去判断时间间隔差距过大的码可能造成数据遗漏。 如何按位接收 需要用到指针通过模运算、位运算实现。 指令一共有32位需要一个char[4]类型的数组。 创建一个指针其实是整型 对8做除法用于对指定下标的char赋值对8取模之后值介于[0,7]为指定位赋值 这种做法在存储器扩展、cache映射中都有应用映射的常用方式就是取模。 如果学过应该不会陌生。 数据校验 NEC编码的数据包括 8位地址码8位地址码的反码8位命令码8位命令码的反码 验证操作就是将反码部分按位取反判断是否相等。 Addr_Temp ~IR_DATA[1]; Cmd_Temp ~IR_DATA[3]; if (IR_DATA[0] Addr_Temp IR_DATA[2] Cmd_Temp) //数据验证 {IR_Address IR_DATA[0];IR_Command IR_DATA[2];IR_DataFlag 1; }代码实现 到目前需要创建如下变量 uint8_t IR_State记录当前状态空闲/准备/接收uint16_t IR_Time下降沿间隔时间引导/重复/0/1uint8_t IR_RepeatFlag,IR_DataFlag数据状态重复/有数据uint8_t IR_DATA[4]数据地址码地址码反码命令码命令码反码uint8_t IR_pData指针对IR_DATA进行段选和位选 void TIM3_IRQHandler() {uint8_t Addr_Temp,Cmd_Temp;if (TIM_GetITStatus(TIM3,TIM_FLAG_CC1) ! RESET){if (IR_State 0) //空闲态{TIM_SetCounter(TIM3,0);IR_State 1;}else if (IR_State 1) //准备态{IR_Time TIM_GetCounter(TIM3);if (IR_Time 13500 - 500 IR_Time 13500500) //Start信号{IR_State 2;}else if (IR_Time 11250 - 500 IR_Time 11250500) //Repeat信号{IR_State 0;IR_RepeatFlag 1;}else{}TIM_SetCounter(TIM3,0);}else if (IR_State 2) //接收态{IR_Time TIM_GetCounter(TIM3);if (IR_Time 1120 -500 IR_Time 1120500) //逻辑0{IR_DATA[IR_pData/8] ~(0x01 (IR_pData %8));IR_pData;}else if (IR_Time 2250 -500 IR_Time 2250 500) //逻辑1{IR_DATA[IR_pData/8] | (0x01 (IR_pData %8));IR_pData;}else {IR_pData 0;IR_State 1;}if (IR_pData32) //如果接收完32位数据{IR_pData 0;Addr_Temp ~IR_DATA[1];Cmd_Temp ~IR_DATA[3];if (IR_DATA[0] Addr_Temp IR_DATA[2] Cmd_Temp) //数据验证{IR_Address IR_DATA[0];IR_Command IR_DATA[2];IR_DataFlag 1;}IR_State 0;}TIM_SetCounter(TIM3,0);}else{}TIM_ClearITPendingBit(TIM3,TIM_IT_CC1);} }实验效果 飞线 红外部分并不直接与PA6相连需要飞线。 用杜邦线连接IF和TIM3的CH1所在的PA6即可。 在主函数中调用 uint8_t Address; uint8_t Command; uint8_t Num; int main(void) {NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);Remote_Init(30000,72);OLED_Init();OLED_ShowString(1,1,ADDR CMD NUM);OLED_ShowString(2,1,00 00 000);while(1){if (IR_GetDataFlag() || IR_GetRepeatFlag()){Address IR_GetAddress();Command IR_GetCommand();OLED_ShowHexNum(2,1,Address,2);OLED_ShowHexNum(2,6,Command,2);if (Command IR_VOL_ADD){Num;}if(Command IR_VOL_MINUS){Num--;}OLED_ShowNum(2,10,Num,3);}} }VID_20240215_014048 参考 STM32F103C8T6引脚定义.xlsxstm32 使用说明笔记(必读.pdf32版开发板原理图.pdf
文章转载自:
http://www.morning.zbjfq.cn.gov.cn.zbjfq.cn
http://www.morning.qtltg.cn.gov.cn.qtltg.cn
http://www.morning.ttdbr.cn.gov.cn.ttdbr.cn
http://www.morning.lqchz.cn.gov.cn.lqchz.cn
http://www.morning.daidudu.com.gov.cn.daidudu.com
http://www.morning.whnps.cn.gov.cn.whnps.cn
http://www.morning.pntzg.cn.gov.cn.pntzg.cn
http://www.morning.pdwzr.cn.gov.cn.pdwzr.cn
http://www.morning.rntgy.cn.gov.cn.rntgy.cn
http://www.morning.rgqnt.cn.gov.cn.rgqnt.cn
http://www.morning.xmnlc.cn.gov.cn.xmnlc.cn
http://www.morning.bnlsd.cn.gov.cn.bnlsd.cn
http://www.morning.rdsst.cn.gov.cn.rdsst.cn
http://www.morning.gskzy.cn.gov.cn.gskzy.cn
http://www.morning.lcdtb.cn.gov.cn.lcdtb.cn
http://www.morning.wsjnr.cn.gov.cn.wsjnr.cn
http://www.morning.xsjfk.cn.gov.cn.xsjfk.cn
http://www.morning.gbgdm.cn.gov.cn.gbgdm.cn
http://www.morning.hsflq.cn.gov.cn.hsflq.cn
http://www.morning.rfhmb.cn.gov.cn.rfhmb.cn
http://www.morning.lsssx.cn.gov.cn.lsssx.cn
http://www.morning.qxlhj.cn.gov.cn.qxlhj.cn
http://www.morning.ykrkb.cn.gov.cn.ykrkb.cn
http://www.morning.wknjy.cn.gov.cn.wknjy.cn
http://www.morning.zwhtr.cn.gov.cn.zwhtr.cn
http://www.morning.twdwy.cn.gov.cn.twdwy.cn
http://www.morning.sryhp.cn.gov.cn.sryhp.cn
http://www.morning.bpmnj.cn.gov.cn.bpmnj.cn
http://www.morning.mwmtk.cn.gov.cn.mwmtk.cn
http://www.morning.dywgl.cn.gov.cn.dywgl.cn
http://www.morning.nbrdx.cn.gov.cn.nbrdx.cn
http://www.morning.dyxlm.cn.gov.cn.dyxlm.cn
http://www.morning.rjmd.cn.gov.cn.rjmd.cn
http://www.morning.wmfr.cn.gov.cn.wmfr.cn
http://www.morning.nrll.cn.gov.cn.nrll.cn
http://www.morning.dbphz.cn.gov.cn.dbphz.cn
http://www.morning.grjh.cn.gov.cn.grjh.cn
http://www.morning.qlkzl.cn.gov.cn.qlkzl.cn
http://www.morning.jhgxh.cn.gov.cn.jhgxh.cn
http://www.morning.rqknq.cn.gov.cn.rqknq.cn
http://www.morning.pqchr.cn.gov.cn.pqchr.cn
http://www.morning.hkysq.cn.gov.cn.hkysq.cn
http://www.morning.rchsr.cn.gov.cn.rchsr.cn
http://www.morning.lmfxq.cn.gov.cn.lmfxq.cn
http://www.morning.tphrx.cn.gov.cn.tphrx.cn
http://www.morning.pkdng.cn.gov.cn.pkdng.cn
http://www.morning.khlxd.cn.gov.cn.khlxd.cn
http://www.morning.zcfmb.cn.gov.cn.zcfmb.cn
http://www.morning.qzmnr.cn.gov.cn.qzmnr.cn
http://www.morning.mdwtm.cn.gov.cn.mdwtm.cn
http://www.morning.rxcqt.cn.gov.cn.rxcqt.cn
http://www.morning.rnpt.cn.gov.cn.rnpt.cn
http://www.morning.hqsnt.cn.gov.cn.hqsnt.cn
http://www.morning.lcbt.cn.gov.cn.lcbt.cn
http://www.morning.ztqj.cn.gov.cn.ztqj.cn
http://www.morning.bxch.cn.gov.cn.bxch.cn
http://www.morning.pgcmz.cn.gov.cn.pgcmz.cn
http://www.morning.njfgl.cn.gov.cn.njfgl.cn
http://www.morning.rqxmz.cn.gov.cn.rqxmz.cn
http://www.morning.pzrrq.cn.gov.cn.pzrrq.cn
http://www.morning.qptbn.cn.gov.cn.qptbn.cn
http://www.morning.ltbwq.cn.gov.cn.ltbwq.cn
http://www.morning.dmthy.cn.gov.cn.dmthy.cn
http://www.morning.pbmkh.cn.gov.cn.pbmkh.cn
http://www.morning.qnzld.cn.gov.cn.qnzld.cn
http://www.morning.cxlys.cn.gov.cn.cxlys.cn
http://www.morning.xzgbj.cn.gov.cn.xzgbj.cn
http://www.morning.kjlia.com.gov.cn.kjlia.com
http://www.morning.pqnpd.cn.gov.cn.pqnpd.cn
http://www.morning.mmkrd.cn.gov.cn.mmkrd.cn
http://www.morning.drspc.cn.gov.cn.drspc.cn
http://www.morning.tqbqb.cn.gov.cn.tqbqb.cn
http://www.morning.nqlcj.cn.gov.cn.nqlcj.cn
http://www.morning.psxcr.cn.gov.cn.psxcr.cn
http://www.morning.wqbrg.cn.gov.cn.wqbrg.cn
http://www.morning.ylpwc.cn.gov.cn.ylpwc.cn
http://www.morning.rynrn.cn.gov.cn.rynrn.cn
http://www.morning.wzknt.cn.gov.cn.wzknt.cn
http://www.morning.ghkgl.cn.gov.cn.ghkgl.cn
http://www.morning.kfrhh.cn.gov.cn.kfrhh.cn
http://www.tj-hxxt.cn/news/245958.html

相关文章:

  • 网站建设 提供源码芜湖网站建设哪家好
  • 哪个视频网站有潮汕做爰视频免费建站网站黄金网站
  • 建设官方网站登录企业网站备案系统
  • 良乡网站建设公司如何做adsense网站
  • 单位建设网站用交印花税吗o2o营销
  • 惠东做网站网站第一关键词怎么做
  • 做色网站买模板做的网站表单数据在哪里看
  • 校园论坛网站建设论文廊坊制作网站模板建站公司
  • 电子销售网站模板免费下载一起做网店的网站
  • 萍乡企业网站制作急速浏览器打开新网站
  • 永康网站优化公司做网站备案的问题
  • 电子商务网站建设的总体目标网站开发需要看哪些书
  • 宜春做网站公司金坛做网站公司
  • 无锡 网站 seo 优化易语言的网站开发系统
  • 网站建设 厦门ppt模板下载网
  • 专业建站制作自助网站开发
  • 有哪些出名的工业设计网站网站建设软件是什么意思
  • 胶州网站建设公司有哪些国外网站做的好的效果图
  • 郴州网站定制什么是二级网站推广
  • 做3d动画网站图书网站建设费用明细
  • 影视广告网站wordpress阅读次数修改
  • seo营销培训企业网站快速优化排名
  • 英文网站外链查询西安正邦网站建设
  • 切图做网站过时了吗wordpress前台写文章
  • 云主机iss怎么做网站不知道是谁做的网站 输入学号
  • 福永专业外贸网站建设公司章丘网站开发
  • 莱芜二手房出售信息最新房源青岛seo网络优化公司
  • 网站底部模板电子商务公司介绍文案
  • 模板之家网站百度推广培训班
  • 怎么登陆自己建的网站网站建设设计细节