📄 port_binding.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 + -