亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? commdefs.h

?? 同步串口SPI接口轉成異步RS-232
?? H
字號:
/*********************************************************************************************/
/* Program : COMMDEFS.H */
/* Function : Common macros and defines for PIC app’s not defined in pic.h */
/* Author : John F. Fitter B.E. */
/* */
/* Copyright ? 1997 Eagle Air Australia Pty. Ltd. All rights reserved */
/*********************************************************************************************/

#ifndef _COMMDEFS_H
#define _COMMDEFS_H

#include <pic.h>

// General PIC macros (additional to pic.h)
#define clrwdt() CLRWDT()

// Macro to define the ID bytes
#define __ID(a,b,c,d) asm("\tpsect absdata, abs ovrld, delta=2"); \
		asm("\tglobal id_bytes"); \
		asm("\torg 0x2000"); \
		asm("id_bytes"); \
		asm("\tdb "___mkstr(a)); \
		asm("\tdb "___mkstr(b)); \
		asm("\tdb "___mkstr(c)); \
		asm("\tdb "___mkstr(d))
		
// General macros
#define HIBYTE(intValue) ((intValue)>>8)
#define LOBYTE(intValue) ((intValue)&0xff)
#define HINIBBLE(charValue) ((charValue)>>4)
#define LONIBBLE(charValue) ((charValue)&0xf)

// Common bit defines
#define B_IN 1
#define B_OUT 0
#define B_HIGH 1
#define B_LOW 0

// Common byte defines
#define W_IN 0xff
#define W_OUT 0
#define W_HIGH 0xff
#define W_LOW 0

// Common peripheral control defines
#define P_ON 1
#define P_OFF 0

// Common user interface defines
#define I_UP 1
#define I_DOWN 0

// Logical defines
#define TRUE 1
#define FALSE 0
#define true TRUE
#define false FALSE

// Hardware pullup defines
#define port_b_pullups(flag) RBPU=flag==0

// ASCII control character defines (useful for comms)
#define A_NUL 0
#define A_SOH 1
#define A_STX 2
#define A_ETX 3
#define A_EOT 4
#define A_ENQ 5
#define A_ACK 6
#define A_BEL 7
#define A_BS 8
#define A_HT 9
#define A_LF 0xa
#define A_VT 0xb
#define A_FF 0xc
#define A_CR 0xd
#define A_SO 0xe
#define A_SI 0xf
#define A_DLE 0x10
#define A_DC1 0x11
#define A_DC2 0x12
#define A_DC3 0x13
#define A_DC4 0x14
#define A_NAK 0x15
#define A_SYN 0x16
#define A_ETB 0x17
#define A_CAN 0x18
#define A_EM 0x19
#define A_SUB 0x1a
#define A_ESC 0x1b
#define A_FS 0x1c
#define A_GS 0x1d
#define A_RS 0x1e
#define A_US 0x1f

// Timer 0 defines
#define RTCC_INTERNAL 0 // rtcc_state values (OR together)
#define RTCC_EXT_L_TO_H 0x20
#define RTCC_EXT_H_TO_L 0x30

#define RTCC_DIV_2 0 // ps_state values (OR together)
#define RTCC_DIV_4 1
#define RTCC_DIV_8 2
#define RTCC_DIV_16 3
#define RTCC_DIV_32 4
#define RTCC_DIV_64 5
#define RTCC_DIV_128 6
#define RTCC_DIV_256 7
#define WDT_18MS 8
#define WDT_36MS 9
#define WDT_72MS 0xa
#define WDT_144MS 0xb
#define WDT_288MS 0xc
#define WDT_576MS 0xd
#define WDT_1152MS 0xe
#define WDT_2304MS 0xf

#define setup_counters(rtcc_state,ps_state) OPTION=(OPTION&0xc0)|rtcc_state|ps_state
#define get_rtcc() TMR0
#define set_rtcc(tvalue) TMR0=tvalue
#define get_timer0() get_rtcc()
#define set_timer0(tvalue) set_rtcc(tvalue)

// Timer 1 defines
#define T1_ENABLED 1 // timer 1 modes (OR together)
#define T1_INTERNAL 1
#define T1_EXTERNAL 7
#define T1_EXTERNAL_SYNC 3
#define T1_CLK_OUT 8
#define T1_DIV_BY_1 0
#define T1_DIV_BY_2 0x10
#define T1_DIV_BY_4 0x20
#define T1_DIV_BY_8 0x30

static unsigned int TMR1 @ 0x0E;
static unsigned int CCPR1 @ 0x15;
static unsigned int CCPR2 @ 0x1B;

#define setup_timer_1(mode) T1CON=mode
#define enable_timer_1(state) TMR1ON=state
#define get_timer1() TMR1
#define set_timer1(tvalue) TMR1=tvalue

// Timer 2 defines
#define T2_DISABLED 0 // timer 2 modes (OR together)
#define T2_DIV_BY_1 4 // T2_DISABLED must be on its own
#define T2_DIV_BY_4 5 // postscale is 1 to 16
#define T2_DIV_BY_16 7
#define setup_timer_2(mode,postscale) T2CON=mode|((postscale-1)<<3)
#define get_timer2() TMR2
#define set_timer2(tvalue) TMR2=tvalue

// CCP defines

static volatile bit CCP1 @ (unsigned)&PORTC*8+2;  // CCP1 port pin
static volatile bit CCP2 @ (unsigned)&PORTC*8+1;  // CCP2 port pin

#define CCP_OFF 0
#define CCP_CAPTURE_FE 4
#define CCP_CAPTURE_RE 5
#define CCP_CAPTURE_DIV_4 6
#define CCP_CAPTURE_DIV_16 7
#define CCP_COMPARE_SET_ON_MATCH 8
#define CCP_COMPARE_CLR_ON_MATCH 9
#define CCP_COMPARE_INT 0xa
#define CCP_COMPARE_RESET_TIMER 0xb
#define CCP_PWM 0xc
#define CCP_PWM_PLUS_1 0x1c
#define CCP_PWM_PLUS_2 0x2c
#define CCP_PWM_PLUS_3 0x3c

#define setup_ccp1(mode) CCP1CON=mode
#define setup_ccp2(mode) CCP2CON=mode
#define set_ccp1(cvalue) CCPR1=cvalue
#define set_ccp2(cvalue) CCPR2=cvalue
#define get_ccp1() CCPR1
#define get_ccp2() CCPR2

// Interrupt defines
#define GLOBAL 0x80
//#define ADC_DONE
#define RTCC_ZERO 0x20
#define RB_CHANGE 0x08
#define EXT_INT 0x10
#define INT_TIMER1 0x0100
#define INT_TIMER2 0x0200
#define INT_CCP1 0x0400
#define INT_CCP2 0x10000
#define INT_SSP 0x0800
#define INT_PSP 0x8000
#define INT_RDA 0x2000
#define INT_TBE 0x1000

#define enable_peripheral_interrupts() PEIE=1
#define enable_global_interrupts() GIE=1
#define enable_interrupts(level) \
		INTCON|=(level)&0xff; \
		PIE1|=((level)>>8)&0xff; \
		PIE2|=(level)>>16
#define enable_rtcc_interrupt() T0IE=1

#define disable_peripheral_interrupts() PEIE=0
#define disable_global_interrupts() do GIE=0;while(GIE)
#define disable_interrupts(level) \
		INTCON&=~((level)&0xff); \
		PIE1&=~(((level)>>8)&0xff); \
		PIE2&=~((level)>>16)
#define disable_rtcc_interrupt() T0IE=0

// USART defines
#define SER_MASTER 0x80
#define SER_9BIT 0x40
#define SER_TX_ENABLE 0x20
#define SER_SYNCHRONOUS 0x10
#define SER_HIGH_BAUD 4
#define SER_TSR_EMPTY 2
#define SER_ENABLE 0x80
#define SER_RX_SGL 0x20
#define SER_RX_CON 0x10

#define kbhit() RCIF

#define set_lo_baud(baud) SPBRG=(unsigned char)((2*(long)_CLOCK_/64+(long)baud)/2/\
		(long)baud-1);TXSTA &= ~SER_HIGH_BAUD
#define set_hi_baud(baud) SPBRG=(unsigned char)((2*(long)_CLOCK_/16+(long)baud)/2/\
		(long)baud-1);TXSTA |= SER_HIGH_BAUD
		
#define setup_usart_async8_lo(baud) \
		TRISC |= 0xc0;\
		TXSTA=SER_MASTER|SER_TX_ENABLE|SER_TSR_EMPTY; \
		RCSTA=SER_ENABLE|SER_RX_CON; \
		set_lo_baud(baud)
		
#define setup_usart_async9_lo(baud) \
		TRISC |= 0xc0;\
		TXSTA=SER_MASTER|SER_TX_ENABLE|SER_TSR_EMPTY|SER_9BIT; \
		RCSTA=SER_ENABLE|SER_RX_CON|SER_9BIT; \
		set_lo_baud(baud)

#define setup_usart_async8_hi(baud) \
		TRISC |= 0xc0;\
		TXSTA=SER_MASTER|SER_TX_ENABLE|SER_TSR_EMPTY; \
		RCSTA=SER_ENABLE|SER_RX_CON; \
		set_hi_baud(baud)

#define setup_usart_async9_hi(baud) \
		TRISC |= 0xc0;\
		TXSTA=SER_MASTER|SER_TX_ENABLE|SER_TSR_EMPTY|SER_9BIT; \
		RCSTA=SER_ENABLE|SER_RX_CON|SER_9BIT; \
		set_hi_baud(baud)

static volatile bit txd @ (unsigned)&PORTC*8+6;  // USART serial data out pin
static volatile bit rxd @ (unsigned)&PORTC*8+7;  // USART serial data in pin

// SPI defines
#define SPI_MASTER 0x20
#define SPI_SLAVE 0x24
#define SPI_SS_DISABLED 0x25
#define SPI_L_TO_H 0
#define SPI_H_TO_L 0x10
#define SPI_CLK_DIV_4 0
#define SPI_CLK_DIV_16 1
#define SPI_CLK_DIV_64 2
#define SPI_CLK_T2 3
#define spi_enable(en) SSPEN=!!en // enables the spi
#define spi_data_is_in() BF // tests the buffer full bit

static volatile bit sdo @ (unsigned)&PORTC*8+5;  // serial data out pin
static volatile bit sdo_dir @ (unsigned)&TRISC*8+5;  // serial data out direction bit
static volatile bit sdi @ (unsigned)&PORTC*8+4;  // serial data in pin
static volatile bit sdi_dir @ (unsigned)&TRISC*8+4;  // serial data in direction bit
static volatile bit sck @ (unsigned)&PORTC*8+3;  // serial clock pin
static volatile bit sck_dir @ (unsigned)&TRISC*8+3;  // serial clock direction bit
static volatile bit ss_dir @ (unsigned)&TRISA*8+5;  // synchronous slave mode enable bit
static volatile bit BF @ (unsigned)&SSPSTAT*8+0;  // spi buffer full bit

#endif // COMMDEFS_H


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜久久久久久| 懂色av一区二区三区蜜臀| 精品久久人人做人人爰| 91伊人久久大香线蕉| 国产一级精品在线| 七七婷婷婷婷精品国产| 亚洲国产精品影院| 午夜精品一区在线观看| 成人手机在线视频| 一本色道a无线码一区v| 91浏览器在线视频| 国产三级一区二区三区| 中文字幕第一页久久| 亚洲欧美偷拍另类a∨色屁股| 中文字幕免费不卡在线| 久久成人久久爱| 国产一区二区剧情av在线| 欧美卡1卡2卡| 欧美xxxxxxxxx| 欧美a级理论片| 欧美在线免费播放| 日韩免费一区二区三区在线播放| 精品国产污网站| 欧美激情一区二区三区不卡 | 9191国产精品| 日韩欧美成人激情| 天堂资源在线中文精品| 日韩影院免费视频| 欧美日韩国产精品自在自线| 欧美成人性战久久| 理论电影国产精品| 精品国产青草久久久久福利| 久久不见久久见免费视频1| 91精品国产综合久久久久久| 日韩综合小视频| 欧美顶级少妇做爰| 日本午夜精品一区二区三区电影| 成人午夜碰碰视频| 国产精品白丝在线| 香蕉影视欧美成人| 9l国产精品久久久久麻豆| 91麻豆精品国产91久久久久久久久| 一区二区三区在线观看欧美| 国产一区二区三区视频在线播放| 337p日本欧洲亚洲大胆精品| 亚洲成人手机在线| 欧美一级日韩免费不卡| 一区二区三区日本| 6080亚洲精品一区二区| 青娱乐精品在线视频| 精品三级av在线| 成人动漫在线一区| 日韩欧美成人激情| 国产精品1区二区.| 日韩欧美中文一区| 婷婷综合五月天| 日韩精品一区二区三区四区视频| 九色综合国产一区二区三区| 欧美日韩高清一区二区不卡| 日韩精品一二三| 日本一区二区成人| 欧美日韩亚洲综合一区| 一区二区视频在线看| 国产成人h网站| 久久精品综合网| 一本色道a无线码一区v| 秋霞av亚洲一区二区三| 中文文精品字幕一区二区| 狠狠色丁香九九婷婷综合五月 | 99视频一区二区| 亚洲大片精品永久免费| 日韩精品一区二区三区三区免费| 成人av电影免费观看| 日韩**一区毛片| 日韩一区欧美小说| bt欧美亚洲午夜电影天堂| 亚洲国产aⅴ天堂久久| 国产亚洲污的网站| 欧美日韩电影一区| 丁香亚洲综合激情啪啪综合| 视频一区在线视频| 国产精品理论在线观看| 欧美一区二区三区思思人| 成人av在线观| 久久99这里只有精品| 一区二区三区在线视频免费观看| 精品国产成人系列| 欧美精品免费视频| 一本到高清视频免费精品| 国产九九视频一区二区三区| 香蕉成人啪国产精品视频综合网| 欧美激情综合五月色丁香小说| 制服丝袜激情欧洲亚洲| 色老汉一区二区三区| 视频一区视频二区中文字幕| 最新热久久免费视频| 久久蜜臀中文字幕| 9i在线看片成人免费| 国精产品一区一区三区mba视频| 亚洲成人激情av| 亚洲摸摸操操av| 中文字幕一区免费在线观看 | 678五月天丁香亚洲综合网| 色先锋aa成人| 成人小视频免费观看| 黄一区二区三区| 老司机免费视频一区二区| 香蕉成人伊视频在线观看| 一区二区三区视频在线看| 综合激情成人伊人| 欧美一区二区在线看| 欧美美女视频在线观看| 91福利在线播放| 欧美在线看片a免费观看| 色婷婷av一区二区三区大白胸 | 成人影视亚洲图片在线| 国产精品888| 成人福利视频网站| 99久久99久久精品免费观看| 天天综合色天天综合| 日韩精品电影一区亚洲| 免费成人av资源网| 九一久久久久久| 国产成人在线观看| 99久久国产综合色|国产精品| 波多野结衣中文字幕一区| a4yy欧美一区二区三区| 一本到三区不卡视频| 欧美日韩一区二区三区在线 | 在线一区二区观看| 91黄色激情网站| 欧美高清www午色夜在线视频| 欧美一区日韩一区| xf在线a精品一区二区视频网站| 久久久久一区二区三区四区| 国产精品国产a| 一区二区三区免费看视频| 天天操天天综合网| 国产精品1区2区| eeuss鲁片一区二区三区| 在线观看www91| 日韩午夜精品视频| 国产精品免费网站在线观看| 一区二区三区高清| 精一区二区三区| 99久久亚洲一区二区三区青草| 欧美系列在线观看| 91行情网站电视在线观看高清版| 91精品国产欧美一区二区18| 久久久蜜桃精品| 一区二区三区欧美日| 激情都市一区二区| 色中色一区二区| 久久免费看少妇高潮| 亚洲综合男人的天堂| 亚洲日本韩国一区| 免费观看30秒视频久久| 成人91在线观看| 日韩欧美一卡二卡| 国产精品盗摄一区二区三区| 视频一区视频二区中文| a在线欧美一区| 欧美大黄免费观看| 一区二区三区在线视频免费| 国产精品2024| 91精品国产91久久久久久一区二区| 国产欧美精品一区| 国产精品久久久久久久久果冻传媒 | 在线成人免费视频| 欧美激情在线看| 蜜臀av一区二区三区| 国产美女一区二区| 欧美肥妇毛茸茸| 一区二区三区不卡在线观看 | 久久久久亚洲蜜桃| 青青草原综合久久大伊人精品优势| 成人18视频日本| 久久久综合精品| 麻豆视频一区二区| 欧美精品久久久久久久久老牛影院| 国产精品美女视频| 国产精品亚洲人在线观看| 91精品国产综合久久福利| 亚洲国产视频在线| 91丨九色丨蝌蚪丨老版| 国产精品丝袜久久久久久app| 狂野欧美性猛交blacked| 欧美久久一二三四区| 亚洲一二三四久久| 欧洲激情一区二区| 亚洲激情图片小说视频| 成人av免费观看| 亚洲国产精品激情在线观看| 国产激情91久久精品导航 | 91麻豆精品国产91久久久更新时间 | 色综合久久久久综合体桃花网| 国产精品三级av| 成人午夜激情片| 国产精品视频在线看| 成人免费高清视频在线观看|