历史上的今天
返回首页

历史上的今天

今天是:2024年11月26日(星期二)

正在发生

2019年11月26日 | TimerCommand.h头文件下载-AVR定时器命令通用头文件

2019-11-26 来源:51hei

/*****************************************************************************

      文件名称:TimerCommand.h

      文件标识:_TIMERCOMMAND_H_

      摘    要:AVR定时器命令通用头文件

      当前版本:V1.0

*****************************************************************************/

#ifndef  _TIMERCOMMAND_H_

#define  _TIMERCOMMAND_H_


#define  Timer0Config(MODE,COM,PRESCALE)                              

   TCCR0 = WGM0(TimerMode(0,MODE)) | COM0(COM) | CS0(PRESCALE)


#ifndef  OCR1C

#define  Timer1Config(MODE,COMA,COMB,PRESCALE)                        

   do{                                                                

      TCCR1A = WGM1L(TimerMode(1,MODE)) | COM1A(COMA) | COM1B(COMB);  

      TCCR1B = WGM1H(TimerMode(1,MODE)) | CS1(PRESCALE);              

   }while(0)

#else

#define  Timer1Config(MODE,COMA,COMB,COMC,PRESCALE)                    

   do{                                                                

      TCCR1A = WGM1L(TimerMode(1,MODE)) | COM1A(COMA)                  

             | COM1B(COMB) | COM1C(COMC);                              

      TCCR1B = WGM1H(TimerMode(1,MODE)) | CS1(PRESCALE);              

   }while(0)

#endif



#define  Timer2Config(MODE,COM,PRESCALE)                              

      TCCR2 = WGM2(TimerMode(2,MODE)) | COM2(COM) | CS2(PRESCALE)



#define  Timer3Config(MODE,COMA,COMB,COMC,PRESCALE)                    

   do{                                                                

      TCCR1A = WGM3L(TimerMode(3,MODE)) | COM3A(COMA)                  

             | COM3B(COMB) | COM3C(COMC);                              

      TCCR1B = WGM3H(TimerMode(3,MODE)) | CS3(PRESCALE);              

   }while(0)






#ifdef   OCR0

#define  Timer0Period(STEPS)                                          

   do{                                                                

      OCR0 = _OCR0(STEPS);                                            

      TCCR0 = WGM0(TimerMode(0,CTC) | COM0(0) | _CS0(STEPS);          

   }while(0)

#endif



#define  Timer1Period(STEPS)                                          

   do{                                                                

      OCR1A = _OCR1(STEPS);                                            

      TCCR1B = WGM1H(TimerMode(1,CTC)) | _CS1(STEPS);                  

   }while(0)



#define  Timer2Period(STEPS)                                          

   do{                                                                

      OCR2 = _OCR2(STEPS);                                            

      TCCR2 = WGM2(TimerMode(2,CTC)) | _CS2(STEPS);                    

   }while(0)


#define  Timer3Period(STEPS)                                          

   do{                                                                

      OCR2 = _OCR3(STEPS);                                            

      TCCR3A = WGM3H(TimerMode(3,CTC)) | _CS3(STEPS);                  

   }while(0)


#define  TimerPeriod(X,STEPS)      _TimerPeriod(X,STEPS)

#define  _TimerPeriod(X,STEPS)     Timer##X##Period(STEPS)


#ifndef  CPUCLK

#define  CPUCLK                8.0

#endif


#define  TimerPerioduS(X,t)    TimerPeriod(X,(t)*1.0*CPUCLK)

#define  TimerPeriodmS(X,t)    TimerPeriod(X,(t)*1000.0*CPUCLK)


#endif

推荐阅读

史海拾趣

Allied Electronic & Semiconductor Technology Inc公司的发展小趣事

AE&ST公司深知人才是企业发展的根本。公司注重人才培养和团队建设,通过提供良好的工作环境和激励机制,吸引了大批优秀的研发和管理人才。同时,公司还积极开展员工培训和教育活动,提升员工的专业技能和综合素质。这些措施为公司的持续发展提供了有力的人才保障。

Echelon_Corporation公司的发展小趣事

作为一家技术驱动的公司,Echelon始终注重技术创新和产品研发的投入。公司拥有一支专业的研发团队,致力于开发更加先进、更加可靠的产品和技术。同时,Echelon还积极与全球范围内的科研机构、高校等合作,共同推动技术创新和产业升级。这些努力使得Echelon在电子行业始终保持领先地位。

Engelking Elektronik GmbH公司的发展小趣事

为了进一步提升技术实力和产品竞争力,Engelking Elektronik积极寻求与高校和研究机构的合作。通过与多家知名科技院校的合作,公司获得了多项技术专利和研发成果。其中,一项重要的技术突破是开发了一种新型的高效能电子元件,该元件在能效和可靠性方面均达到了行业领先水平。这一成果不仅为公司带来了可观的经济效益,也提升了公司在业界的地位。

Greenconn Corp公司的发展小趣事
定期清洁冰箱内部和外部的灰尘和污垢,保持散热系统的畅通。
爱普特半导体(APTSEMI)公司的发展小趣事

随着国产芯片产业的快速发展,人才短缺问题日益凸显。爱普特半导体深知人才是企业发展的核心资源,因此,公司积极构建高端半导体人才队伍。通过引进国内外优秀人才、加强内部培训、建立激励机制等多种措施,爱普特成功打造了一支技术过硬、经验丰富的研发团队。这支团队为公司的技术创新和产品研发提供了有力保障,推动了公司的快速发展。

Enable Semiconductor Corp公司的发展小趣事

在半导体产业链中,Enable Semiconductor Corp公司注重与上下游企业的合作。公司与多家芯片设计公司、封装测试企业建立了紧密的合作关系,共同开发新产品、新技术。这种合作模式不仅降低了公司的研发成本,也加快了产品上市的速度。同时,通过与合作伙伴的资源共享和优势互补,Enable Semiconductor Corp公司在市场上形成了强大的竞争力。

问答坊 | AI 解惑

3V/5V低功耗同步电压频率变换芯片AD7740

AD7740是一种CMOS型低功耗单通道单终端同步电压频率转换芯片,它具有缓冲和非缓冲两种模式.工作范围宽,对外部元件要求小,输出频率准确,无须调整或校准.可广泛用于各种A/D转换系统,并可以和AD22100S温度传感器构成数字式环境温度指示器等电路.文中介 ...…

查看全部问答>

自动化市场08年将达640亿美元

面向流程产业的自动化产品及服务市场随着对自动化设备的需求增长,正在稳步发展。该市场的规模2003年约为500亿美元,未来5年里有望实现5.1%的年增长率,2008年市场规模将达到640亿美元。美国调查公司ARC日前对面向流程产业的自动化产品及服务全球市 ...…

查看全部问答>

利用 Xilinx FPGA 简化硬件和软件开发白皮书

Simplifying Embedded Hardware and Software Development with Targeted Reference Designs FPGAs are becoming the platform of choice for a growing number of hardware and software designers developing embedded processing applications ...…

查看全部问答>

大家能简单介绍一下ARM吗?

好像还分ARM9,ARM11等,有甚区别?…

查看全部问答>

EasyARM2131问题

我买了一个EasyARM2131  但是在使用EasyJTAG仿真的时候出现了这样的问题 请问各位  我是哪里出了问题 DBE Warning 00041:An unspecified Debug Toolbox call failed…

查看全部问答>

这个调理电路怎么搭?

我想把外界输入的 -3.3V - 3.3V的正弦电压信号调理成相位相同 0V - 3,.3V的正弦信号,请问有没有好的解决方案 ,我之前在一个地方看到别人用运放做的 我忘记了在哪儿了 。…

查看全部问答>

我的JTAG怎么联不上了呢?

运行BoardTestSystem.exe时出现的提示: Connecting to the target... java.lang.Exception: No BoardTestSystem-compatible design exists in the FPGA. Please select a design from the configure menu. 但板子是插上了的: …

查看全部问答>

关于ADC10多通道序列转换 求大神指点

想实现两个通道的AD连续转换,不会DTC,想用自己编程实现但AD转换结果只有一个,而且多通道序列转换时只能选择最高的通道,自己刚学MSP430,说的不是很清楚,希望大家指导一二,不胜感激! …

查看全部问答>