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

自适应网站内容做多大尺寸seo方案书案例

自适应网站内容做多大尺寸,seo方案书案例,wordpress 简约主题,如何优化网站信息架构目录 1. SysTick简介 2. 时钟来源 3. SysTick寄存器 3.1 CTRL—SysTick控制及状态寄存器 3.2 RELOAD—SysTick重装载数值寄存器 3.3 CURRENT—SysTick当前数值寄存器 4. systick系统定时器配置 5. 延时函数实现 5.1 延时函数编写步骤 5.2 微秒级延时函数delay_us 5.…目录 1. SysTick简介 2. 时钟来源 3. SysTick寄存器 3.1 CTRL—SysTick控制及状态寄存器 3.2 RELOAD—SysTick重装载数值寄存器 3.3 CURRENT—SysTick当前数值寄存器 4. systick系统定时器配置 5. 延时函数实现 5.1 延时函数编写步骤 5.2 微秒级延时函数delay_us 5.3 毫秒级延时函数delay_ms 5.4 秒级延时函数delay_s 1. SysTick简介 SysTick——系统定时器是属于CM3内核的一个外设内嵌在NVIC中。SysTick是一个24位的向下递减的计数器从重装载寄存器的值递减到0之后自动从RELOAD寄存器中重装载定时器初值。只要不使能systick定时器它就永不停息的一直循环计数在睡眠模式下也能使用。 systick系统滴答定时器在没有操作系统时用于延时在有操作系统时候RTOS、UCOS2通常为操作系统提供精准的定时中断1ms~50ms。 2. 时钟来源 1. AHB时钟8分频 2. FCLK内核时钟 默认选择FCLK内核时钟 3. SysTick寄存器 SysTick有4个寄存器如下图所示。 SysTick寄存器汇总(来源野火《STM32库开发实战指南》) 3.1 CTRL—SysTick控制及状态寄存器 控制及状态寄存器共计24位但只使用了其0、1、2、16位。其中第2位为是时钟选择位置1表示使用处理器时钟即系统时钟 3.2 RELOAD—SysTick重装载数值寄存器 3.3 CURRENT—SysTick当前数值寄存器 3.4 校准数值寄存器这个本节不需要暂不介绍。 此图汇总systick的寄存器。 systick寄存器图 4. systick系统定时器配置 查看core_cm3.h可以找到systick_Config()函数该函数配置了系统定时器的时钟源、重装载值和当前值。 static __INLINE uint32_t SysTick_Config(uint32_t ticks) { if (ticks SysTick_LOAD_RELOAD_Msk) return (1); /* Reload value impossible */SysTick-LOAD (ticks SysTick_LOAD_RELOAD_Msk) - 1; /* set reload register */NVIC_SetPriority (SysTick_IRQn, (1__NVIC_PRIO_BITS) - 1); /* set Priority for Cortex-M0 System Interrupts */SysTick-VAL 0; /* Load the SysTick Counter Value */SysTick-CTRL SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */return (0); /* Function successful */ } 下面是函数中使用的结构体SysTick_Type可以看到该结构体中包含了上文介绍的各个寄存器值。 typedef struct {__IO uint32_t CTRL; /*! Offset: 0x00 SysTick Control and Status Register */__IO uint32_t LOAD; /*! Offset: 0x04 SysTick Reload Value Register */__IO uint32_t VAL; /*! Offset: 0x08 SysTick Current Value Register */__I uint32_t CALIB; /*! Offset: 0x0C SysTick Calibration Register */ } SysTick_Type; 下面是函数中使用的宏定义 /* SysTick Control / Status Register Definitions */ #define SysTick_CTRL_COUNTFLAG_Pos 16 /*! SysTick CTRL: COUNTFLAG Position */ #define SysTick_CTRL_COUNTFLAG_Msk (1ul SysTick_CTRL_COUNTFLAG_Pos) /*! SysTick CTRL: COUNTFLAG Mask */#define SysTick_CTRL_CLKSOURCE_Pos 2 /*! SysTick CTRL: CLKSOURCE Position */ #define SysTick_CTRL_CLKSOURCE_Msk (1ul SysTick_CTRL_CLKSOURCE_Pos) /*! SysTick CTRL: CLKSOURCE Mask */#define SysTick_CTRL_TICKINT_Pos 1 /*! SysTick CTRL: TICKINT Position */ #define SysTick_CTRL_TICKINT_Msk (1ul SysTick_CTRL_TICKINT_Pos) /*! SysTick CTRL: TICKINT Mask */#define SysTick_CTRL_ENABLE_Pos 0 /*! SysTick CTRL: ENABLE Position */ #define SysTick_CTRL_ENABLE_Msk (1ul SysTick_CTRL_ENABLE_Pos) /*! SysTick CTRL: ENABLE Mask *//* SysTick Reload Register Definitions */ #define SysTick_LOAD_RELOAD_Pos 0 /*! SysTick LOAD: RELOAD Position */ #define SysTick_LOAD_RELOAD_Msk (0xFFFFFFul SysTick_LOAD_RELOAD_Pos) /*! SysTick LOAD: RELOAD Mask *//* SysTick Current Register Definitions */ #define SysTick_VAL_CURRENT_Pos 0 /*! SysTick VAL: CURRENT Position */ #define SysTick_VAL_CURRENT_Msk (0xFFFFFFul SysTick_VAL_CURRENT_Pos) /*! SysTick VAL: CURRENT Mask *//* SysTick Calibration Register Definitions */ #define SysTick_CALIB_NOREF_Pos 31 /*! SysTick CALIB: NOREF Position */ #define SysTick_CALIB_NOREF_Msk (1ul SysTick_CALIB_NOREF_Pos) /*! SysTick CALIB: NOREF Mask */#define SysTick_CALIB_SKEW_Pos 30 /*! SysTick CALIB: SKEW Position */ #define SysTick_CALIB_SKEW_Msk (1ul SysTick_CALIB_SKEW_Pos) /*! SysTick CALIB: SKEW Mask */#define SysTick_CALIB_TENMS_Pos 0 /*! SysTick CALIB: TENMS Position */ #define SysTick_CALIB_TENMS_Msk (0xFFFFFFul SysTick_VAL_CURRENT_Pos) /*! SysTick CALIB: TENMS Mask */ /*}*/ /* end of group CMSIS_CM3_SysTick */其中Msk表示掩码操作掩码操作指的是对一串二进制数据通过与msk的位操作达到屏蔽制定位而实现需求。 例如对一串数字的0~3位清零则可以定制一个msk00001111。对于cmd01010101则cmd ~msk 01010101 11110000 01010000. 1ul其中ul是一个后缀表示无符号长整型unsigned long。表示左移位操作例如ab表示a左移b位通常代表即. 例如CTRL寄存器其中SysTick_CTRL_CLKSOURCE_Msk 表示将1ul左移SysTick_CTRL_CLKSOURCE_Pos位即2位可得第2位的值为即第2位值为1联系上文可知CTRL的第2位为systick定时器的时钟源选择位将本位赋值1表示使用系统内核时钟。 如此便能理解systick_Config()函数了。 5. 延时函数实现 5.1 延时函数编写步骤 失能systick系统定时器即SysTick-CTRL 定时器第0位置0。将新的重加载值写入到SysTick-LOAD寄存器中。将SysTick-VAL的值置为0。使能systick系统定时器。 官方推荐代码如下参考《Cortex M3与M4权威指南.pdf》第316页 SysTick-CTRL 0; // Disable SysTick SysTick-LOAD 0xFF; // Count from 255 to 0 (256 cycles) SysTick-VAL 0; // Clear current value as well as count flag SysTick-CTRL 5; // Enable SysTick timer with processor clock while ((SysTick-CTRL 0x00010000)0);// Wait until count flag is set SysTick-CTRL 0; // Disable SysTick 下面分别为微秒级、毫秒级、秒级延时函数示例摘自B站金善愚systick定时器讲解视频。 5.2 微秒级延时函数delay_us #define AHB_INPUT 72 //请按RCC中设置的AHB时钟频率填写到这里单位MHzvoid delay_us(u32 uS){ //uS微秒级延时程序参考值即是延时数72MHz时最大值233015 SysTick-CTRL 0;SysTick-LOADAHB_INPUT*uS - 1;//重装计数初值当主频是72MHz72次为1微秒SysTick-VAL0x00; //清空定时器的计数器SysTick-CTRL0x00000005;//时钟源HCLK打开定时器while(!(SysTick-CTRL0x00010000)); //等待计数到0SysTick-CTRL0;//关闭定时器 } 5.3 毫秒级延时函数delay_ms void delay_ms(u16 ms){ //mS毫秒级延时程序参考值即是延时数最大值65535 while( ms-- ! 0){delay_us(1000); //调用1000微秒的延时} } //或者 void delay_ms(uint32_t ms) {while(ms --){SysTick-CTRL 0; // 关闭系统定时器后才能配置寄存器SysTick-LOAD 72000 - 1; // 设置计数值用于设置定时的时间SysTick-VAL 0; // 清空当前值还有计数标志位SysTick-CTRL 5; // 使能系统定时器工作且时钟源为系统时钟的8分频168MHz/821MHzwhile(!(SysTick-CTRL0x00010000)); //等待计数到0SysTick-CTRL 0; // 关闭系统定时器 } } 5.4 秒级延时函数delay_s void delay_s(u16 s){ //S秒级延时程序参考值即是延时数最大值65535 while( s-- ! 0){delay_ms(1000); //调用1000毫秒的延时} }
http://www.hkea.cn/news/14557380/

相关文章:

  • 安宁区网站制作做外贸需要哪些网站有哪些
  • 银川做网站的 公司有哪些关闭wordpress更新提示
  • 马大姐网站建设目的自适应产品网站模板
  • 室内装饰网站模板屏山县龙华镇中心村建设招标网站
  • angularjs网站开发实例下载百度app最新版并安装
  • 自助网站建设用什么好南通建设厅网站
  • 古玩网站源码做app好 还是讯网站好
  • 生物信息网站建设wordpress导航不固定
  • 成功的营销网站wordpress百度地图开发
  • 做公司网站比较好的手机礼品网站模板
  • 建设网站找哪里广西建设厅培训中心官网
  • 公司支付网站建设费进什么费用wordpress后台修改代码
  • 郑州中小企业网站制作wordpress文章延迟加载
  • 南昌专业做网站做商城网站一般用什么
  • 网站建设需申请注册域名大丰做网站哪家好
  • 惠州外贸网站建设公司wordpress无标题
  • 宁德网站开发公司长沙网站优化外包
  • 做商贸生意的人都去什么网站安徽二建标准
  • 龙海市住房和城乡建设局网站2000元代理微信朋友圈广告
  • 铜陵做网站的团购做的好的网站有哪些
  • 容桂网站建设公司最新的新闻 最新消息
  • 手机网站模板单页怎么做网站海报轮播图
  • 企业网站建站 合肥电脑网页图片
  • 榆林市网站建设兰州网站制作培训班
  • 网站首页设计布局公司做网站的流程作图的步骤
  • 北京网站设计制作哪个公司好最好的网站设计公司源码 php
  • 什么行业做网站一次备案多个网站
  • 百度搜索首页谷歌seo外链
  • 运城建设厅官方网站网站开发公司经营范围
  • 阿里 做网站杭州模板建站代理