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

美乐乐网站首页如何修改wordpress图文并排

美乐乐网站首页如何修改,wordpress图文并排,什么软件可以免费制作视频,瑞安建设网站文章目录 1 通用定时器1.1 定时器框图1.2 实现周期性中断 2 相关寄存器3 定时器配置3.1 时钟使能3.2 初始化GPT1定时器3.2.1 base3.2.2 initConfig3.2.2.1 clockSorce3.2.2.2 divider3.2.2.3 enablexxxxx 3.3 设置 GPT1 比较值3.3.1 base3.3.2 channel3.3.3 value 3.4 设置 GPT… 文章目录 1 通用定时器1.1 定时器框图1.2 实现周期性中断 2 相关寄存器3 定时器配置3.1 时钟使能3.2 初始化GPT1定时器3.2.1 base3.2.2 initConfig3.2.2.1 clockSorce3.2.2.2 divider3.2.2.3 enablexxxxx 3.3 设置 GPT1 比较值3.3.1 base3.3.2 channel3.3.3 value 3.4 设置 GPT1 输出比较 1 的 中断3.5 使能 GPT3.6 设置 GPT1 中断 优先级3.7 编写中断服务函数3.7.1 GPT_GetStatusFlags3.7.2 GPT_ClearStatusFlags 3.8 最终代码 1 通用定时器 RT1052 内部包含 2 个通用定时器GPT1 和 GPT2以下简称 GPT 1.1 定时器框图 一个 32 位定时器拥有 2 个输入捕获通道、3 个输出比较通道以及相应的中断。 132 位计数器CNT仅支持递增计数方式。 212 位可编程预分频器(PR)计数器时钟频率的分频系数为 14096 之间的任意数值。 32 个输入捕获通道支持上升沿、下降沿和任意边沿捕获。 43 个输出比较通道支持取反、设置、清零和生成单脉冲1 个输入时钟模式。 5支持捕获、比较和溢出中断。 6支持低功耗模式下继续运行。 6支持重启Restart模式和自由运行Free Run模式 重启模式当计数器值与比较值匹配时计数器自动清零重新开始计数。自由运行模式计数器值总是从 0 开始计数一直到 0XFFFFFFFF 溢出发生匹配事件不会导致定时器清零。 1.2 实现周期性中断 使用重启模式利用比较值1 来设置溢出时间 2 相关寄存器 3 定时器配置 GPT 相关的库函数在 fsl_gpt.c 和 fsl_gpt.h 这两个文件中 3.1 时钟使能 GPT 初始化函数 GPT_Init 默认会使能GPT 使能。函数里面通过 CLOCK_EnableClock 来使能了 GPT1 时钟。 3.2 初始化GPT1定时器 void GPT_Init(GPT_Type *base, const gpt_config_t *initConfig)gpt_config_t gpt1_onfig; GPT_GetDefaultConfig(gpt1_onfig); //先初始化 GPT1 为默认值 gpt1_onfig.clockSourcekGPT_ClockSource_Periph; //初始化时钟源 perclk_clk_root gpt1_onfig.dividerpsc; //设置分频值 GPT_Init(GPT1,gpt1_onfig); //初始化 GPT1 3.2.1 base GPT1 3.2.2 initConfig typedef struct _gpt_init_config {gpt_clock_source_t clockSource; //选择时钟源uint32_t divider; //时钟源分频bool enableFreeRun;bool enableRunInWait;bool enableRunInStop;bool enableRunInDoze;bool enableRunInDbg;bool enableMode; } gpt_config_t;3.2.2.1 clockSorce clockSource 用来设置用于 GPT 的时钟源 typedef enum _gpt_clock_source {kGPT_ClockSource_Off 0U, //关闭时钟kGPT_ClockSource_Periph 1U, //外设时钟(ipg_clk)kGPT_ClockSource_HighFreq 2U, //高速参考时钟(ipg_clk_highfreq)kGPT_ClockSource_Ext 3U, //外部参考时钟kGPT_ClockSource_LowFreq 4U, //低速参考时钟(ipg_clk_32k)kGPT_ClockSource_Osc 5U, //24M 晶振 } gpt_clock_source_t;实 际 上 设 置 的 是 CR 寄 存 器 的 CLKSRC 位 一 般 选 择 外 设 时 钟 kGPT_ClockSource_Periph (ipg_clk)作为 GPT 的时钟源 外设时钟配置一般为75Mhz。 3.2.2.2 divider divider 设置时钟源分频可以设置的值范围为 0~4095分别对应 1~4096 分频。 实际设置的是 PR 寄存器的 PRESCALER 位比如我们将分频值设置为 2那么 GPT1 最终的时钟就是:75MHz/(21)25MHz。 3.2.2.3 enablexxxxx 使能 GPT 的相应模式 3.3 设置 GPT1 比较值 设置好比较值就可以决定确定GPT1的溢出时间了也就是定时时间。 GPT1 比较值的设定通过函数 GPT_SetOutputCompareValue 来完成 static inline void GPT_SetOutputCompareValue(GPT_Type *base,gpt_output_compare_channel_t channel,uint32_t value)3.3.1 base GPT1 3.3.2 channel typedef enum _gpt_output_compare_channel {kGPT_OutputCompare_Channel1 0U, //输出比较通道 1kGPT_OutputCompare_Channel2 1U, //输出比较通道 2kGPT_OutputCompare_Channel3 2U, //输出比较通道 3 } gpt_output_compare_channel_t;3.3.3 value 第三个参数就是要设置的比较值。 比如我们设置 GPT1 分频值为 3749那么GPT1 的时钟就是 75MHz/(37491)20000Hz比较值设置为 10000 的话那么每 0.5s 就会产生一次比较中断这样就实现了 0.5s 的定时。 3.4 设置 GPT1 输出比较 1 的 中断 输出比较中断设置通过函数 GPT_EnableInterrupts 来完成 GPT_EnableInterrupts(GPT_Type *base, uint32_t mask);GPT_EnableInterrupts(GPT1, kGPT_OutputCompare1InterruptEnable);使用 GPT1 的输出比较通道 1所以设置为 kGPT_OutputCompare1InterruptEnable。 3.5 使能 GPT 调用函数 GPT_StartTimer 来使能 GPT 定时器 void GPT_StartTimer(GPT_Type *base)设置 CR 寄存器的 EN 位 3.6 设置 GPT1 中断 优先级 因为要产生中断必不可少的要设置 NVIC 相关寄存器 RT1052_NVIC_SetPriority(GPT1_IRQn,5,0); //抢占优先级 5子优先级 0 EnableIRQ(GPT1_IRQn); //使能 GPT1 中断3.7 编写中断服务函数 中断产生后需要通过函数 GPT_GetStatusFlags 判断是否为比较中断。在处理完中断之后调用函数 GPT_ClearStatusFlags 来清除该中断标志。 3.7.1 GPT_GetStatusFlags static inline uint32_t GPT_GetStatusFlags(GPT_Type *base, gpt_status_flag_t flags)GPT1flags typedef enum _gpt_status_flag {kGPT_OutputCompare1Flag GPT_SR_OF1_MASK, //输出比较通道 1 中断标志kGPT_OutputCompare2Flag GPT_SR_OF2_MASK, //输出比较通道 2 中断标志kGPT_OutputCompare3Flag GPT_SR_OF3_MASK, //输出比较通道 3 中断标志kGPT_InputCapture1Flag GPT_SR_IF1_MASK, //输入捕获通道 1 中断标志kGPT_InputCapture2Flag GPT_SR_IF2_MASK, //输入捕获通道 2 中断标志kGPT_RollOverFlag GPT_SR_ROV_MASK, //溢出中断标志 } gpt_status_flag_t;3.7.2 GPT_ClearStatusFlags 中断状态(标志位)清除函数 GPT_ClearStatusFlags 原型如下 static inline void GPT_ClearStatusFlags(GPT_Type *base, gpt_status_flag_t flags)GPT1kGPT_OutputCompare1Flag。 3.8 最终代码 gpt_config_t gpt1_onfig;//初始化GPTIMER1时钟源为perclk_clk_root75MHz //pre:分频值0~4096 //comcount:比较计数值0~0xFFFFFFFF //当ocrxCNT时,产生中断. //定时时间ocrx*(psc1)/PERCLK_CLK_ROOT void GPT1_Int_Init(u16 psc,u32 ocrx) {GPT_GetDefaultConfig(gpt1_onfig); //先初始化GPT1为默认值gpt1_onfig.clockSourcekGPT_ClockSource_Periph; //初始化时钟源perclk_clk_rootgpt1_onfig.dividerpsc; //设置分频值GPT_Init(GPT1,gpt1_onfig);GPT_SetOutputCompareValue(GPT1,kGPT_OutputCompare_Channel1,ocrx); //设置比较计数值GPT_EnableInterrupts(GPT1,kGPT_OutputCompare1InterruptEnable); //使能GPT比较通道1中断RT1052_NVIC_SetPriority(GPT1_IRQn,5,0); //抢占优先级5子优先级0EnableIRQ(GPT1_IRQn); //使能GPT1中断GPT_StartTimer(GPT1); //开始定时器 }//GPT1中断服务函数 void GPT1_IRQHandler(void) {//OCR1中断if(GPT_GetStatusFlags(GPT1,kGPT_OutputCompare1Flag)){LED1_Toggle; //LED1灯翻转GPT_ClearStatusFlags(GPT1,kGPT_OutputCompare1Flag);//清除中断标志位}__DSB(); //数据同步屏蔽指令 }
http://www.sadfv.cn/news/10803/

相关文章:

  • mockpuls可以做网站吗知名网站建设公司排名
  • 做网站ps切图个人网站能放什么内容
  • 广西网站建设费用wordpress comment_status
  • 网站总是跳转珠海网站建设zhkmkj
  • 朝阳市做网站天津正规网站建设调试公司
  • 网站制作加盟北京公司网页设计
  • 沧州网站开发做网站哈尔滨
  • 信息化建设包括网站建设网站排名的重要性
  • 集团公司网站源码wordpress 人体时钟
  • 响应式网站哪里做ui界面设计分析
  • 非凡网站建设上海做家教网站有哪些
  • linux上搭建网站广州企业网站seo
  • 北京团建网站重庆沙坪坝二手房出售信息
  • 网站建设需要考虑的问题虚拟机搭建wordpress
  • 电商网站开发公司杭州wordpress 伪原创插件
  • 网站透明导航代码wordpress图表模板类
  • 灵台县住房和城乡建设局网站营销课程
  • 网站ftp管理工具uc投放广告网站要自己做吗
  • 网站开发信息平台项目总结湖北省建设网站首页
  • dede网站后台设置wap模板目录做电商网站价钱
  • 网站制作上哪学校做标签网站是什么样的
  • wordpress文章显示作者建阳网站建设wzjseo
  • 百度推广 手机网站古典家具网站模板
  • 网站下载音乐12306网站开发公司
  • 用微信做网站网站开发注意的事项
  • 快速搭建网站框架的工具网站软件下载
  • 建设网站销售建设广告联盟网站
  • 做搜狗手机网站优化排外包网络推广
  • 制作展示型网站的公司开封建网站的公司
  • wordpress 建站 搜索cms影视系统