久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
TimerConvert.h頭文件下載-AVR定時器參數(shù)轉(zhuǎn)換通用頭文件
[打印本頁]
作者:
daming
時間:
2014-12-30 12:34
標(biāo)題:
TimerConvert.h頭文件下載-AVR定時器參數(shù)轉(zhuǎn)換通用頭文件
本帖最后由 daming 于 2014-12-30 12:37 編輯
在代碼下方點復(fù)制代碼,然后另存到電腦磁盤即可下載.
/*****************************************************************************
單 位:廣西民族大學(xué)物理與電子工程學(xué)院07物本班
文件名稱:TimerConvert.h
文件標(biāo)識:_TIMERCONVERT_H_
摘 要:AVR定時器參數(shù)轉(zhuǎn)換通用頭文件
當(dāng)前版本:V1.0
作 者 【白 羽】
完成日期:2010年11月16日
*****************************************************************************/
#ifndef _TIMERCONVERT_H_
#define _TIMERCONVERT_H_
#define WGM0(WGM) (((WGM & 0X01) << 6) | ((WGM & 0X02) << 3))
#define WGM1L(WGM) (WGM & 0X03)
#define WGM1H(WGM) (((WGM) & 0X0C) << 1)
#define WGM2(WGM) (((WGM & 0X01) << 6) | ((WGM & 0X02) << 3))
#define WGM3L(WGM) (WGM & 0X03)
#define WGM3H(WGM) (((WGM) & 0X0C) << 1)
#define COM0(COM) ((COM) << 4)
#define COM1A(COM) ((COM) << 6)
#define COM1B(COM) ((COM) << 4)
#define COM1C(COM) ((COM) << 2)
#define COM2(COM) ((COM) << 4)
#define COM3A(COM) ((COM) << 6)
#define COM3B(COM) ((COM) << 4)
#define COM3C(COM) ((COM) << 2)
/*****************************************************************************
PRESCALE --> CSX[2:0]
說明:CS2(PRESCALE)使用了條件編譯,這個條件編譯是基于如下假設(shè):對于具有定時/計
數(shù)器3的AVR單片機(jī),定時/計數(shù)器2不存在外部輸入引腳; 對于沒有定時/計數(shù)器3的AVR單
單片機(jī),定時/計數(shù)器2必存在外部輸入引腳。這是一個尚未證明的假設(shè)。 ^_^
另外,如果輸入的分頻系數(shù)不對,則強(qiáng)制CSX[2:0]=0,定時/計數(shù)器拒絕運行。
*****************************************************************************/
#define CS0(PRESCALE) \
( \
(PRESCALE) == 0 ? 0 : \
(PRESCALE) == 1 ? 1 : \
(PRESCALE) == 8 ? 2 : \
(PRESCALE) == 64 ? 3 : \
(PRESCALE) == 256 ? 4 : \
(PRESCALE) == 1024? 5 : 0 \
)
#define CS1(PRESCALE) \
( \
(PRESCALE) == 0 ? 0 : \
(PRESCALE) == 1 ? 1 : \
(PRESCALE) == 8 ? 2 : \
(PRESCALE) == 64 ? 3 : \
(PRESCALE) == 256 ? 4 : \
(PRESCALE) == 1024? 5 : 0 \
)
#ifndef TCNT3
#define CS2(PRESCALE) \
( \
(PRESCALE) == 0 ? 0 : \
(PRESCALE) == 1 ? 1 : \
(PRESCALE) == 8 ? 2 : \
(PRESCALE) == 64 ? 3 : \
(PRESCALE) == 256 ? 4 : \
(PRESCALE) == 1024? 5 : 0 \
)
#else
#define CS2(PRESCALE) \
( \
(PRESCALE) == 0 ? 0 : \
(PRESCALE) == 1 ? 1 : \
(PRESCALE) == 8 ? 2 : \
(PRESCALE) == 32 ? 3 : \
(PRESCALE) == 64 ? 4 : \
(PRESCALE) == 128 ? 5 : \
(PRESCALE) == 256 ? 6 : \
(PRESCALE) == 1024? 7 : 0 \
)
#endif
#define CS3(PRESCALE) \
( \
(PRESCALE) == 0 ? 0 : \
(PRESCALE) == 1 ? 1 : \
(PRESCALE) == 8 ? 2 : \
(PRESCALE) == 64 ? 3 : \
(PRESCALE) == 256 ? 4 : \
(PRESCALE) == 1024? 5 : 0 \
)
/*****************************************************************************
STEPS --> OCRX
說明:CS2(PRESCALE)使用了條件編譯,這個條件編譯是基于如下假設(shè):對于具有定時/計
數(shù)器3的AVR單片機(jī),定時/計數(shù)器2不存在外部輸入引腳; 對于沒有定時/計數(shù)器3的AVR單
單片機(jī),定時/計數(shù)器2必存在外部輸入引腳。這是一個尚未證明的假設(shè)。 ^_^
*****************************************************************************/
#define _OCR0(STEPS) \
( \
(STEPS) <= 256 ? ((STEPS) - 1) : \
(STEPS) <= 256*8 ? ((STEPS)/8 - 1) : \
(STEPS) <= 256*64 ? ((STEPS)/64 - 1) : \
(STEPS) <= 256*256 ? ((STEPS)/256 - 1) : \
(STEPS) <= 256*1024 ? ((STEPS)/1024 - 1) : 255 \
)
#define _OCR1(STEPS) \
( \
(STEPS) <= 65536 ? ((STEPS) - 1) : \
(STEPS) <= 65536*8 ? ((STEPS)/8 - 1) : \
(STEPS) <= 65536*64 ? ((STEPS)/64 - 1) : \
(STEPS) <= 65536*256 ? ((STEPS)/256 - 1) : \
(STEPS) <= 65536*1024 ? ((STEPS)/1024 - 1) : 65535 \
)
#ifndef TCNT3
#define _OCR2(STEPS) \
( \
(STEPS) <= 256 ? ((STEPS) - 1) : \
(STEPS) <= 256*8 ? ((STEPS)/8 - 1) : \
(STEPS) <= 256*64 ? ((STEPS)/64 - 1) : \
(STEPS) <= 256*256 ? ((STEPS)/256 - 1) : \
(STEPS) <= 256*1024 ? ((STEPS)/1024 - 1) : 255 \
)
#else
#define _OCR2(STEPS) \
( \
(STEPS) <= 256 ? ((STEPS) - 1) : \
(STEPS) <= 256*8 ? ((STEPS)/8 - 1) : \
(STEPS) <= 256*32 ? ((STEPS)/32 - 1) : \
(STEPS) <= 256*64 ? ((STEPS)/64 - 1) : \
(STEPS) <= 256*128 ? ((STEPS)/128 - 1) : \
(STEPS) <= 256*256 ? ((STEPS)/256 - 1) : \
(STEPS) <= 256*1024 ? ((STEPS)/1024 - 1) : 255 \
)
#endif
#define _OCR3(STEPS) \
( \
(STEPS) <= 65536 ? ((STEPS) - 1) : \
(STEPS) <= 65536*8 ? ((STEPS)/8 - 1) : \
(STEPS) <= 65536*64 ? ((STEPS)/64 - 1) : \
(STEPS) <= 65536*256 ? ((STEPS)/256 - 1) : \
(STEPS) <= 65536*1024 ? ((STEPS)/1024 - 1) : 65535 \
)
/*****************************************************************************
//STEPS --> CSX[2:0]
說明:CS2(PRESCALE)使用了條件編譯,這個條件編譯是基于如下假設(shè):對于具有定時/計
數(shù)器3的AVR單片機(jī),定時/計數(shù)器2不存在外部輸入引腳; 對于沒有定時/計數(shù)器3的AVR單
單片機(jī),定時/計數(shù)器2必存在外部輸入引腳。這是一個尚未證明的假設(shè)。 ^_^
*****************************************************************************/
#define _CS0(STEPS) \
( \
(STEPS) == 0 ? 0 : \
(STEPS) <= 256 ? 1 : \
(STEPS) <= 256*8 ? 2 : \
(STEPS) <= 256*64 ? 3 : \
(STEPS) <= 256*256 ? 4 : 5 \
)
#define _CS1(STEPS) \
( \
(STEPS) == 0 ? 0 : \
(STEPS) <= 65536 ? 1 : \
(STEPS) <= 65536*8 ? 2 : \
(STEPS) <= 65536*64 ? 3 : \
(STEPS) <= 65536*256 ? 4 : 5 \
)
#ifndef TCNT3
#define _CS2(STEPS) \
( \
(STEPS) == 0 ? 0 : \
(STEPS) <= 256 ? 1 : \
(STEPS) <= 256*8 ? 2 : \
(STEPS) <= 256*32 ? 3 : \
(STEPS) <= 256*64 ? 4 : \
(STEPS) <= 256*128 ? 5 : \
(STEPS) <= 256*256 ? 6 : 7 \
)
#else
#define _CS2(STEPS) \
( \
(STEPS) == 0 ? 0 : \
(STEPS) <= 256 ? 1 : \
(STEPS) <= 256*8 ? 2 : \
(STEPS) <= 256*64 ? 3 : \
(STEPS) <= 256*256 ? 4 : 5 \
)
#endif
#define _CS3(STEPS) \
( \
(STEPS) == 0 ? 0 : \
(STEPS) <= 65536 ? 1 : \
(STEPS) <= 65536*8 ? 2 : \
(STEPS) <= 65536*64 ? 3 : \
(STEPS) <= 65536*256 ? 4 : 5 \
)
#endif
復(fù)制代碼
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久午夜影院
|
中文天堂在线观看
|
免费视频二区
|
中文字幕电影在线观看
|
一区二区三区精品视频
|
伦理片97
|
久久久国产一区二区三区四区小说
|
在线国产一区二区三区
|
国产精品国产精品
|
亚洲精品久久久久久下一站
|
精品视频一区二区
|
在线一区二区三区
|
亚洲 中文 欧美 日韩 在线观看
|
久久人爽
|
五月婷婷导航
|
精品国产不卡一区二区三区
|
色综合网站
|
午夜电影一区二区
|
中文字幕一区二区三区四区五区
|
99久久99久久精品国产片果冰
|
欧美啪啪网站
|
国产在线视频一区
|
国产精品久久久久久久免费大片
|
精品99在线
|
国产一区二区在线免费
|
男人的天堂avav
|
韩日在线观看视频
|
国产国产精品
|
国产一区久久久
|
色婷婷综合在线观看
|
wwwww在线观看
|
免费黄色在线观看
|
亚洲协和影视
|
国产久视频
|
欧美一级欧美三级在线观看
|
91看片官网
|
日韩欧美国产精品综合嫩v 一区中文字幕
|
亚洲国产成人精品久久久国产成人一区
|
久久99这里只有精品
|
日韩综合网
|
99久久婷婷国产综合精品电影
|