📄 define.h
字号:
/****************************************Copyright (c)**************************************************
**
** 研 发 部
**
** 文 件 名: define.h
** 最后修改日期: 2007-10-25 22:37
** 描 述: 宏定义
** 版 本: V1.0
** 主 控 芯 片:M32 晶振频率:7.3728MHZ, 波特率115200
** IDE:ICCAVR 6.31
**********************************************************************************************************/
/********************************************************************************
引脚配置图:
RFS1 PB2
TFS1 PB3
RFS2 PB3
TFS2 PD6
RFS3 PC0
TFS3 PC1
RFS4 PB5
TFS4 PB6
SCLK PA0
SDA PA1
A0 PA2
DRDY1 PA3
DRDY2 PA4
DRDY3 PA5
DRDY4 PB7
ENCODER_CE PD2
ENCODER_SCLK PD3
ENCODER_SDA PD4
ENCODER_A/B PD5
ADS1100_SCLK PA6
ADS1100_SDA PA7
STEPPER_DIR PC6
STEPPER_CP PD7
********************************************************************************/
/********************************************************************************
数据类型的定义
********************************************************************************/
#define BYTE unsigned char
#define WORD unsigned int
#define SBYTE signed char
#define SWORD signed int
/**************************************
以后实施标准化
变量命名规则:
变量类型+变量实际意义+变量范围(局部 or 全局 )
_l表示local 变量
_g表示grobal变量
u08ReceiveDat_l,u16DacCode_g...
s08PersonNum_l, s16AdcCode_l...
u32EncoderCode_l...
**************************************/
#define uint08 unsigned char
#define uint16 unsigned int
#define uint32 unsigned long
#define sint08 signed char
#define sint16 signed int
#define sint32 signed long
/********************************************************************************
串口波特率
********************************************************************************/
#ifdef BAUDRATE115200
#define BAUDRATE 3
#else
#define BAUDRATE 23
#endif
#define BAUDRATE115200
#define BAUD19200 23
#define BAUD115200 3
/********************************************************************************
位变量的宏操作
********************************************************************************/
#define SET_BIT(a,b) (a)|=BIT(b)
#define CLR_BIT(a,b) (a)&=~BIT(b)
#define TEST_BIT(a,b) ((a)&BIT(b))
/********************************************************************************
MEGA引脚寄存器值
********************************************************************************/
#define VALUE_PORTA 1
#define VALUE_PORTB 2
#define VALUE_PORTC 3
#define VALUE_PORTD 4
#define VALUE_DDRA 5
#define VALUE_DDRB 6
#define VALUE_DDRC 7
#define VALUE_DDRD 8
//以后将统一使用以下的宏定义
//BIT_SET(a,b) (a)|=BIT(b)
//BIT_CLR(a,b) (a)&=~BIT(b)
//BIT_TEST(a,b) ((a)&BIT(b))
/********************************************************************************
AD7710相关的定义
********************************************************************************/
/*RFS的控制*/
#define SET_RFS_1 PORTB|=BIT(PB2);
#define SET_RFS_2 PORTB|=BIT(PB4);
#define SET_RFS_3 PORTC|=BIT(PC0);
#define SET_RFS_4 PORTB|=BIT(PB5);
#define CLR_RFS_1 PORTB&=~BIT(PB2);
#define CLR_RFS_2 PORTB&=~BIT(PB4);
#define CLR_RFS_3 PORTC&=~BIT(PC0);
#define CLR_RFS_4 PORTB&=~BIT(PB5);
/*TFS的控制*/
#define SET_TFS_1 PORTB|=BIT(PB3);
#define SET_TFS_2 PORTD|=BIT(PD6);
#define SET_TFS_3 PORTC|=BIT(PC1);
#define SET_TFS_4 PORTB|=BIT(PB6);
#define CLR_TFS_1 PORTB&=~BIT(PB3);
#define CLR_TFS_2 PORTD&=~BIT(PD6);
#define CLR_TFS_3 PORTC&=~BIT(PC1);
#define CLR_TFS_4 PORTB&=~BIT(PB6);
/*DRDY的状态*/
#define STATUS_DRDY_1 PINA&BIT(PA3)
#define STATUS_DRDY_2 PINA&BIT(PA4)
#define STATUS_DRDY_3 PINA&BIT(PA5)
#define STATUS_DRDY_4 PINB&BIT(PB7)
/*SCLK的控制*/
#define SET_SCLK PORTA|=BIT(PA0)
#define CLR_SCLK PORTA&=~BIT(PA0)
/*SDATA的控制*/
#define SET_SDATA PORTA|=BIT(PA1)
#define CLR_SDATA PORTA&=~BIT(PA1)
/*SDATA的状态*/
#define STATUS_SDATA PINA&BIT(PA1)
/*SDATA输入输出的控制*/
/*SDATA_MASTER:ATmega32L输出,发送数据,为主器件。 */
/*SDATA_SLAVE :ATmega32L输入,接受数据,为从器件。 */
#define SDATA_MASTER DDRA|=BIT(PA1)
#define SDATA_SLAVE DDRA&=~BIT(PA1)
/*A0的控制*/
/*A0=0,进入控制寄存器*/
/*A0=0,进入数据寄存器*/
#define ACCESS_CTL_REG PORTA&=~BIT(PA2)
#define ACCESS_DATA_REG PORTA|=BIT(PA2)
/*AD7710的控制寄存器*/
//#define CTRL_REG_LOW 0x86
//#define CTRL_REG_MID 0x81
#define CTRL_REG_LOW 0x0D
#define CTRL_REG_MID 0x83
#define CTRL_REG_HIG 0x20
/********************************************************************************
ADS1110相关的定义
********************************************************************************/
/*ADS1100 CLK 控制*/
#define SET_ADS1110_CLK SET_BIT(PORTA,PA6)
#define CLR_ADS1110_CLK CLR_BIT(PORTA,PA6)
/*ADS1100 DATA 控制*/
#define SET_ADS1110_DATA PORTA|=BIT(PA7)
#define CLR_ADS1110_DATA PORTA&=~BIT(PA7)
/*ADS1100 DATA 输入输出的控制*/
/*ADS1100_DATA_MASTER:ATmega16L输出,发送数据,为主器件。*/
/*ADS1100_DATA_SLAVE :ATmega16L输入,接受数据,为从器件。*/
#define ADS1110_DATA_MASTER DDRA|=BIT(PA7)
#define ADS1110_DATA_SLAVE DDRA&=~BIT(PA7)
/*ADS1100_DATA的状态*/
#define STATUS_ADS1110_DATA PINA&BIT(PA7)
/*ADS1100的I2C ADDRESS(ED0)*/
#define ADS1110_WR_ADDRESS 0x90
#define ADS1110_RD_ADDRESS 0x91
/*ADS1100的控制寄存器的配置*/
/*连续转换模式,16bit精度,PGA=1*/
#define ADS1110_CONFIG_REG 0x8C
/*ADS1110的I2C ADDRESS(ED0)*/
//#define ADS1110_WR_ADDRESS 0x92
//#define ADS1110_RD_ADDRESS 0x93
/*ADS1110的控制寄存器的配置*/
/*连续转换模式,16bit精度,PGA=1*/
//#define ADS1110_CONFIG_REG 0x8C
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -