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

农林网站建设公司如何创建一个论坛网站

农林网站建设公司,如何创建一个论坛网站,谷歌网站站长指南,周口seo推广串行驱动的关键是双方能够按照既定的时序进行检测、设置相关引脚上的电平,比如单总线、I2c这样基本的可以用GPIO模拟的时序协议,需要主从双方,必须在链路接口内严格按照微妙级的延迟单位进行时序同步。 所以,在这种对时间要求很敏…

     串行驱动的关键是双方能够按照既定的时序进行检测、设置相关引脚上的电平,比如单总线、I2c这样基本的可以用GPIO模拟的时序协议,需要主从双方,必须在链路接口内严格按照微妙级的延迟单位进行时序同步。 所以,在这种对时间要求很敏感的情况下,一般都会考虑到用循环等待检测的方式来拖住时间窗,而且近似微妙的阻塞等待一般也不会对整个系统的用户体验造成太大的影响。 下面是在实际经验中积累的,微妙延迟的方法。

1. ARM-CORTX-M0  

   M0 HC32F110L上的延迟,可以精准到微妙。可以用systic,也可用while阻塞循环等待。

/******************************************************************************* systic * xus:*     use this delay function when time >= 20 
*******************************************************************************/
void jbf_systic_us_ex(uint32_t xus)
{ SysTick->LOAD = (xus - 18) * (JBF_SISTICK_VALUE / 1000000);SysTick->VAL = 0;SysTick->CTRL = 0x01;while(!(SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk));SysTick->CTRL &= ~(0x01 << SysTick_CTRL_ENABLE_Pos);
}
/******************************************************************************* 24M 1US delay,* ??????????????1us??????
*******************************************************************************/void jbf_delay_24M_us(void)
{int xus = 1;while( xus--){__NOP();__NOP();}}void jbf_delay_24M_xus(uint16_t xus)
{uint16_t j;while (xus--){j = 2; //while (j--);}
}

2. ARM-CORTEX-M4

/*********************************************************** DEC:  200M MPLL us delay function.* PARAM: n = nus* RETURN: none
***********************************************************/
void delay_nus(uint16_t n)
{uint16_t j;while(n--){j = DELAY_ADJUSTMENTS;// while(j--);}
}
extern uint32_t SystemCoreClock;        /*!< System clock frequency (Core clock) */
/**** * base interval is 60 when LOAD  = 1, LOAD + 1 lead the timme plus 30us* if the value lager than 60, and times of 30, then use this function* (time - 60) / 30 - 1;* time = 180 , load = (180 - 60) / 3 + 1 = 5;* */void delay_30Tnus(uint16_t n)
{uint32 _load =  (n - 60) / 10 / 3 + 1;SysTick->LOAD = _load;SysTick->VAL = 0;SysTick->CTRL = 0x01;while(!(SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk));SysTick->CTRL &= ~(0x01 << SysTick_CTRL_ENABLE_Pos);
}/*********************************************************** DEC:  200M MPLL ms delay function.* PARAM: n = mus* RETURN: none
***********************************************************/
void delay_nms(uint16_t n)
{while(n--){delay_nus(1000);}
}

实际就两种方式比较通用的,一个是systic,这个真的要看systic分到的频率了, 如果本身频率很低,那么在微妙的精度行还是有些误差的。

另一种方式就是利用CPU的加法周期来做延迟,这个目前看来也有一定的可用性,关键是要找好指令周期的倍数。拿示波器实际调试可以作证得出最精准的延迟。

/*DELAY   HC32F60,pclk 200MHZ*/

#define DELAY_ADJUSTMENTS 12 

void delay_nus(uint16_t n)
{
  uint16_t j;
  while(n--)
  {
    j = DELAY_ADJUSTMENTS;// 
    while(j--);
  }
}

http://www.yayakq.cn/news/183190/

相关文章:

  • 杭州大江东建设局网站猪八戒网站开发合同
  • 泉州响应式网站建设建网站要多少钱呢
  • 手机网站 制作网站制作的教程
  • 全椒县城乡规划建设局网站免费小说网站怎么做
  • h5做的网站如何连接数据库网站设计是用什么做的
  • wordpres做影视网站如何做一名优秀的网站管理者
  • 专业工厂网站建设昆明今天刚刚发生的新闻
  • 兼职做网站访问量和数据做外贸收费的服装网站
  • 做网站公司选哪家网站建设推广浩森宇特
  • php网站搭建徐州网站建设公司官网
  • 网站建设和网袷宣传广西seo优化
  • 做整形网站多少钱电子商务有限公司是干什么的
  • 婚恋网站制作营销型网站建设开发价格
  • 电脑行业网站模板北京商城网站建设费用
  • 网站运营工作具体做啥网架公司的名称
  • 温州企业建站系统模板免费网络推广公司
  • 小米手机做网站服务器吗精仿虎嗅网织梦网站模板
  • 申请微官网的网站专业做网站电话
  • php餐饮网站大学网站建设情况汇报
  • 爱ppt网站提供微网站制作电话
  • 企业网站建设研究论文wordpress+icon图标
  • 网站建设后端技术雅虎提交网站入口
  • 合肥企业网站建设哪个好网站开发程序开发
  • 微管家里的微网站怎么建设网站建设商城模板下载
  • 易语言怎么做ifa网站填表自己做商务网站有什么利弊
  • 做网站有免费的服务器吗网页制作基础教程教案
  • 新丰县建设局网站做a短视频网站
  • 企业建设网站的价值网络规划设计师教程第二版
  • 定制营销型网站制作黄山旅游攻略作文
  • 哪家公司做移动网站网站添加微博