⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 port_binding.h

📁 MSP430z_f247.rar
💻 H
字号:
# ifndef _PORT_BINDING_H_
    # define _PORT_BINDING_H_
/*****************************************************************
*   声明库名称:AVR端口绑定声明库                                *
*   版本:      v0.01                                            *
*   作者:      I ROBOT                                          *
*   创建日期:  Copyright (C) 2008年10月14日                     *
*----------------------------------------------------------------*
*   [支持库]                                                     *
*   支持库名称:My_Bit.h(位段数据类型声明库)                     *
*   支持库版本:v0.01                                            *
*   支持库说明:自定义了位段操作                                 *
*----------------------------------------------------------------*
*   [版本更新]                                                   *
*   更新:      I ROBOT                                          *
*   更新日期:                                                    *
*   版本:                                                       *
*----------------------------------------------------------------*
*   [版本历史]                                                   *
*        v0.01  创建版本,便于位操作的端口绑定                   *
*----------------------------------------------------------------*
*   [使用说明]                                                   *
*            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)                     *
*****************************************************************/

/********************
* 头 文 件 配 置 区 *
********************/
#include "My_Bit.h"
/********************
*   系 统 宏 定 义  *
********************/

/*------------------*
*  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 

/********************
*   常 数 宏 定 义  *
********************/

/********************
*   动 作 宏 定 义  *
********************/
                                                             
/********************
*  模块结构体定义区 *
********************/

/********************
*   函 数 声 明 区  *
********************/

/********************
*   模块函数声明区  *
********************/

/********************
*   模块变量声明区  *
********************/

/********************
*   全局变量声明区  *
********************/
# endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -