?? port_binding.h
字號:
# ifndef _PORT_BINDING_H_
# define _PORT_BINDING_H_
/*****************************************************************
* 聲明庫名稱:AVR端口綁定聲明庫 *
* 版本: v0.01 *
* 作者: I ROBOT *
* 創(chuàng)建日期: Copyright (C) 2008年10月14日 *
*----------------------------------------------------------------*
* [支持庫] *
* 支持庫名稱:My_Bit.h(位段數(shù)據(jù)類型聲明庫) *
* 支持庫版本:v0.01 *
* 支持庫說明:自定義了位段操作 *
*----------------------------------------------------------------*
* [版本更新] *
* 更新: I ROBOT *
* 更新日期: *
* 版本: *
*----------------------------------------------------------------*
* [版本歷史] *
* v0.01 創(chuàng)建版本,便于位操作的端口綁定 *
*----------------------------------------------------------------*
* [使用說明] *
* 1.直接使用新的宏替代,便于位操作. *
* *
* 2.對端口的寫操作PORTX用WRITE_PXn來代替 *
* (其中X為A,B,C,D,E,F,G) *
* (n代表0,1,2,3,4,5,6,7) *
* *
* 3.對端口方向的操作DDRX用DDR_PXn來代替 *
* (其中X為A,B,C,D,E,F,G) *
* (n代表0,1,2,3,4,5,6,7) *
* *
* 4.對端口的讀操作PINX用READ_PXn來代替 *
* (其中X為A,B,C,D,E,F,G) *
* (n代表0,1,2,3,4,5,6,7) *
*****************************************************************/
/********************
* 頭 文 件 配 置 區(qū) *
********************/
#include "My_Bit.h"
/********************
* 系 統(tǒng) 宏 定 義 *
********************/
/*------------------*
* AVR 端 口 綁 定 *
*------------------*/
/*-------------------PORTX 綁 定------------------*/
# ifdef PORTA
# define PORTA_BIT (SET_BIT8_FORMAT(P1OUT))
# endif
# ifdef PORTB
# define PORTB_BIT (SET_BIT8_FORMAT(P2OUT))
# endif
# ifdef PORTC
# define PORTC_BIT (SET_BIT8_FORMAT(P3OUT))
# endif
# ifdef PORTD
# define PORTD_BIT (SET_BIT8_FORMAT(P4OUT))
# endif
# ifdef PORTE
# define PORTE_BIT (SET_BIT8_FORMAT(P5OUT))
# endif
# ifdef PORTF
# define PORTF_BIT (SET_BIT8_FORMAT(P6OUT))
# endif
/*-------------------DDRX 綁 定-------------------*/
# ifdef DDRA
#define DDRA_BIT (SET_BIT8_FORMAT(P1DIR))
# endif
# ifdef DDRB
#define DDRB_BIT (SET_BIT8_FORMAT(P2DIR))
# endif
# ifdef DDRC
#define DDRC_BIT (SET_BIT8_FORMAT(P3DIR))
# endif
# ifdef DDRD
#define DDRD_BIT (SET_BIT8_FORMAT(P4DIR))
# endif
# ifdef DDRE
#define DDRE_BIT (SET_BIT8_FORMAT(P5DIR))
# endif
# ifdef DDRF
#define DDRF_BIT (SET_BIT8_FORMAT(P6DIR))
# endif
/*-------------------PINX 綁 定-------------------*/
# ifdef PINA
#define PINA_BIT (SET_BIT8_FORMAT(P1IN))
# endif
# ifdef PINB
#define PINB_BIT (SET_BIT8_FORMAT(P2IN))
# endif
# ifdef PINC
#define PINC_BIT (SET_BIT8_FORMAT(P3IN))
# endif
# ifdef PIND
#define PIND_BIT (SET_BIT8_FORMAT(P4IN))
# endif
# ifdef PINE
#define PINE_BIT (SET_BIT8_FORMAT(P5IN))
# endif
# ifdef PINF
#define PINF_BIT (SET_BIT8_FORMAT(P6IN))
# endif
/*------------------*
* AVR 端 口 位 操 作*
*------------------*/
/*------------------PORTX 位 操 作-------------------*/
# ifdef PORTA
# define WRITE_PA0 PORTA_BIT.BIT0
# define WRITE_PA1 PORTA_BIT.BIT1
# define WRITE_PA2 PORTA_BIT.BIT2
# define WRITE_PA3 PORTA_BIT.BIT3
# define WRITE_PA4 PORTA_BIT.BIT4
# define WRITE_PA5 PORTA_BIT.BIT5
# define WRITE_PA6 PORTA_BIT.BIT6
# define WRITE_PA7 PORTA_BIT.BIT7
# endif
# ifdef PORTB
# define WRITE_PB0 PORTB_BIT.BIT0
# define WRITE_PB1 PORTB_BIT.BIT1
# define WRITE_PB2 PORTB_BIT.BIT2
# define WRITE_PB3 PORTB_BIT.BIT3
# define WRITE_PB4 PORTB_BIT.BIT4
# define WRITE_PB5 PORTB_BIT.BIT5
# define WRITE_PB6 PORTB_BIT.BIT6
# define WRITE_PB7 PORTB_BIT.BIT7
# endif
# ifdef PORTC
# define WRITE_PC0 PORTC_BIT.BIT0
# define WRITE_PC1 PORTC_BIT.BIT1
# define WRITE_PC2 PORTC_BIT.BIT2
# define WRITE_PC3 PORTC_BIT.BIT3
# define WRITE_PC4 PORTC_BIT.BIT4
# define WRITE_PC5 PORTC_BIT.BIT5
# define WRITE_PC6 PORTC_BIT.BIT6
# define WRITE_PC7 PORTC_BIT.BIT7
# endif
# ifdef PORTD
# define WRITE_PD0 PORTD_BIT.BIT0
# define WRITE_PD1 PORTD_BIT.BIT1
# define WRITE_PD2 PORTD_BIT.BIT2
# define WRITE_PD3 PORTD_BIT.BIT3
# define WRITE_PD4 PORTD_BIT.BIT4
# define WRITE_PD5 PORTD_BIT.BIT5
# define WRITE_PD6 PORTD_BIT.BIT6
# define WRITE_PD7 PORTD_BIT.BIT7
# endif
# ifdef PORTE
# define WRITE_PE0 PORTE_BIT.BIT0
# define WRITE_PE1 PORTE_BIT.BIT1
# define WRITE_PE2 PORTE_BIT.BIT2
# define WRITE_PE3 PORTE_BIT.BIT3
# define WRITE_PE4 PORTE_BIT.BIT4
# define WRITE_PE5 PORTE_BIT.BIT5
# define WRITE_PE6 PORTE_BIT.BIT6
# define WRITE_PE7 PORTE_BIT.BIT7
# endif
# ifdef PORTF
# define WRITE_PF0 PORTF_BIT.BIT0
# define WRITE_PF1 PORTF_BIT.BIT1
# define WRITE_PF2 PORTF_BIT.BIT2
# define WRITE_PF3 PORTF_BIT.BIT3
# define WRITE_PF4 PORTF_BIT.BIT4
# define WRITE_PF5 PORTF_BIT.BIT5
# define WRITE_PF6 PORTF_BIT.BIT6
# define WRITE_PF7 PORTF_BIT.BIT7
# endif
/*------------------DDRX 位 操 作-------------------*/
# ifdef DDRA
# define DDR_PA0 DDRA_BIT.BIT0
# define DDR_PA1 DDRA_BIT.BIT1
# define DDR_PA2 DDRA_BIT.BIT2
# define DDR_PA3 DDRA_BIT.BIT3
# define DDR_PA4 DDRA_BIT.BIT4
# define DDR_PA5 DDRA_BIT.BIT5
# define DDR_PA6 DDRA_BIT.BIT6
# define DDR_PA7 DDRA_BIT.BIT7
# endif
# ifdef DDRB
# define DDR_PB0 DDRB_BIT.BIT0
# define DDR_PB1 DDRB_BIT.BIT1
# define DDR_PB2 DDRB_BIT.BIT2
# define DDR_PB3 DDRB_BIT.BIT3
# define DDR_PB4 DDRB_BIT.BIT4
# define DDR_PB5 DDRB_BIT.BIT5
# define DDR_PB6 DDRB_BIT.BIT6
# define DDR_PB7 DDRB_BIT.BIT7
# endif
# ifdef DDRC
# define DDR_PC0 DDRC_BIT.BIT0
# define DDR_PC1 DDRC_BIT.BIT1
# define DDR_PC2 DDRC_BIT.BIT2
# define DDR_PC3 DDRC_BIT.BIT3
# define DDR_PC4 DDRC_BIT.BIT4
# define DDR_PC5 DDRC_BIT.BIT5
# define DDR_PC6 DDRC_BIT.BIT6
# define DDR_PC7 DDRC_BIT.BIT7
# endif
# ifdef DDRD
# define DDR_PD0 DDRD_BIT.BIT0
# define DDR_PD1 DDRD_BIT.BIT1
# define DDR_PD2 DDRD_BIT.BIT2
# define DDR_PD3 DDRD_BIT.BIT3
# define DDR_PD4 DDRD_BIT.BIT4
# define DDR_PD5 DDRD_BIT.BIT5
# define DDR_PD6 DDRD_BIT.BIT6
# define DDR_PD7 DDRD_BIT.BIT7
# endif
# ifdef DDRE
# define DDR_PE0 DDRE_BIT.BIT0
# define DDR_PE1 DDRE_BIT.BIT1
# define DDR_PE2 DDRE_BIT.BIT2
# define DDR_PE3 DDRE_BIT.BIT3
# define DDR_PE4 DDRE_BIT.BIT4
# define DDR_PE5 DDRE_BIT.BIT5
# define DDR_PE6 DDRE_BIT.BIT6
# define DDR_PE7 DDRE_BIT.BIT7
# endif
# ifdef DDRF
# define DDR_PF0 DDRF_BIT.BIT0
# define DDR_PF1 DDRF_BIT.BIT1
# define DDR_PF2 DDRF_BIT.BIT2
# define DDR_PF3 DDRF_BIT.BIT3
# define DDR_PF4 DDRF_BIT.BIT4
# define DDR_PF5 DDRF_BIT.BIT5
# define DDR_PF6 DDRF_BIT.BIT6
# define DDR_PF7 DDRF_BIT.BIT7
# endif
/*------------------PINX 位 操 作-------------------*/
# ifdef PINA
# define READ_PA0 PINA_BIT.BIT0
# define READ_PA1 PINA_BIT.BIT1
# define READ_PA2 PINA_BIT.BIT2
# define READ_PA3 PINA_BIT.BIT3
# define READ_PA4 PINA_BIT.BIT4
# define READ_PA5 PINA_BIT.BIT5
# define READ_PA6 PINA_BIT.BIT6
# define READ_PA7 PINA_BIT.BIT7
# endif
# ifdef PINB
# define READ_PB0 PINB_BIT.BIT0
# define READ_PB1 PINB_BIT.BIT1
# define READ_PB2 PINB_BIT.BIT2
# define READ_PB3 PINB_BIT.BIT3
# define READ_PB4 PINB_BIT.BIT4
# define READ_PB5 PINB_BIT.BIT5
# define READ_PB6 PINB_BIT.BIT6
# define READ_PB7 PINB_BIT.BIT7
# endif
# ifdef PINC
# define READ_PC0 PINC_BIT.BIT0
# define READ_PC1 PINC_BIT.BIT1
# define READ_PC2 PINC_BIT.BIT2
# define READ_PC3 PINC_BIT.BIT3
# define READ_PC4 PINC_BIT.BIT4
# define READ_PC5 PINC_BIT.BIT5
# define READ_PC6 PINC_BIT.BIT6
# define READ_PC7 PINC_BIT.BIT7
# endif
# ifdef PIND
# define READ_PD0 PIND_BIT.BIT0
# define READ_PD1 PIND_BIT.BIT1
# define READ_PD2 PIND_BIT.BIT2
# define READ_PD3 PIND_BIT.BIT3
# define READ_PD4 PIND_BIT.BIT4
# define READ_PD5 PIND_BIT.BIT5
# define READ_PD6 PIND_BIT.BIT6
# define READ_PD7 PIND_BIT.BIT7
# endif
# ifdef PINE
# define READ_PE0 PINE_BIT.BIT0
# define READ_PE1 PINE_BIT.BIT1
# define READ_PE2 PINE_BIT.BIT2
# define READ_PE3 PINE_BIT.BIT3
# define READ_PE4 PINE_BIT.BIT4
# define READ_PE5 PINE_BIT.BIT5
# define READ_PE6 PINE_BIT.BIT6
# define READ_PE7 PINE_BIT.BIT7
# endif
# ifdef PINF
# define READ_PF0 PINF_BIT.BIT0
# define READ_PF1 PINF_BIT.BIT1
# define READ_PF2 PINF_BIT.BIT2
# define READ_PF3 PINF_BIT.BIT3
# define READ_PF4 PINF_BIT.BIT4
# define READ_PF5 PINF_BIT.BIT5
# define READ_PF6 PINF_BIT.BIT6
# define READ_PF7 PINF_BIT.BIT7
# endif
/********************
* 常 數(shù) 宏 定 義 *
********************/
/********************
* 動 作 宏 定 義 *
********************/
/********************
* 模塊結(jié)構(gòu)體定義區(qū) *
********************/
/********************
* 函 數(shù) 聲 明 區(qū) *
********************/
/********************
* 模塊函數(shù)聲明區(qū) *
********************/
/********************
* 模塊變量聲明區(qū) *
********************/
/********************
* 全局變量聲明區(qū) *
********************/
# endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -