📄 ioctrl.h
字号:
#ifndef __IOCTRL_H
#define __IOCTRL_H
#include <avr/io.h>
#include <avr/pgmspace.h>
#define SETBIT(REG,BIT) (REG |= (1<<BIT))
#define CLRBIT(REG,BIT) (REG &= (~(1<<BIT)))
#define READBIT(REG,BIT) ((REG>>BIT) & 1)
#define SET_IN_MODE(REG,BIT) SETBIT(REG,BIT)
#define SET_OUT_MODE(REG,BIT) CLRBIT(REG,BIT)
/* I2C Port define.use IO mode */
#define HI2C_SCL_Bit PC0
#define HI2C_SCL_Dir_REG DDRC
#define HI2C_SCL_IN_REG PINC
#define HI2C_SCL_OUT_REG PORTC
#define HI2C_SDA_Bit PC1
#define HI2C_SDA_Dir_REG DDRC
#define HI2C_SDA_IN_REG PINC
#define HI2C_SDA_OUT_REG PORTC
/* LCD port define */
#define LCD_CS1_Bit PB0
#define LCD_CS1_Dir_REG DDRB
#define LCD_CS1_IN_REG PINB
#define LCD_CS1_OUT_REG PORTB
#define LCD_CS2_Bit PB1
#define LCD_CS2_Dir_REG DDRB
#define LCD_CS2_IN_REG PINB
#define LCD_CS2_OUT_REG PORTB
#define LCD_RS_Bit PC7
#define LCD_RS_Dir_REG DDRC
#define LCD_RS_IN_REG PINC
#define LCD_RS_OUT_REG PORTC
#define LCD_RST_Bit PC6
#define LCD_RST_Dir_REG DDRC
#define LCD_RST_IN_REG PINC
#define LCD_RST_OUT_REG PORTC
#define LCD_DB7_Bit PB7
#define LCD_DB7_Dir_REG DDRB
#define LCD_DB7_IN_REG PINB
#define LCD_DB7_OUT_REG PORTB
#define LCD_DB6_Bit PB6
#define LCD_DB6_Dir_REG DDRB
#define LCD_DB6_IN_REG PINB
#define LCD_DB6_OUT_REG PORTB
#define LCD_DB5_Bit PB5
#define LCD_DB5_Dir_REG DDRB
#define LCD_DB5_IN_REG PINB
#define LCD_DB5_OUT_REG PORTB
#define LCD_DB4_Bit PB4
#define LCD_DB4_Dir_REG DDRB
#define LCD_DB4_IN_REG PINB
#define LCD_DB4_OUT_REG PORTB
#define LCD_DB3_Bit PA7
#define LCD_DB3_Dir_REG DDRA
#define LCD_DB3_IN_REG PINA
#define LCD_DB3_OUT_REG PORTA
#define LCD_DB2_Bit PA6
#define LCD_DB2_Dir_REG DDRA
#define LCD_DB2_IN_REG PINA
#define LCD_DB2_OUT_REG PORTA
#define LCD_DB1_Bit PA5
#define LCD_DB1_Dir_REG DDRA
#define LCD_DB1_IN_REG PINA
#define LCD_DB1_OUT_REG PORTA
#define LCD_DB0_Bit PA4
#define LCD_DB0_Dir_REG DDRA
#define LCD_DB0_IN_REG PINA
#define LCD_DB0_OUT_REG PORTA
#define LCD_E_Bit PA3
#define LCD_E_Dir_REG DDRA
#define LCD_E_IN_REG PINA
#define LCD_E_OUT_REG PORTA
#define LCD_RW_Bit PA2
#define LCD_RW_Dir_REG DDRA
#define LCD_RW_IN_REG PINA
#define LCD_RW_OUT_REG PORTA
/* ROOM_T 温度传感器 */
#define ROOM_T_Bit PA1
#define ROOM_T_Dir_REG DDRA
#define ROOM_T_IN_REG PINA
#define ROOM_T_OUT_REG PORTA
/* key board define */
#define KEYBOARD_Bit PA0
#define KEYBOARD_Dir_REG DDRA
#define KEYBOARD_IN_REG PINA
#define KEYBOARD_OUT_REG PORTA
/* TC35 define */
#define TC_IGT_Bit PD7
#define TC_IGT_Dir_REG DDRD
#define TC_IGT_IN_REG PIND
#define TC_IGT_OUT_REG PORTD
#define TC_CTS_Bit PD6
#define TC_CTS_Dir_REG DDRD
#define TC_CTS_IN_REG PIND
#define TC_CTS_OUT_REG PORTD
#define TC_RTS_Bit PD5
#define TC_RTS_Dir_REG DDRD
#define TC_RTS_IN_REG PIND
#define TC_RTS_OUT_REG PORTD
#define TC_RING_Bit PD2
#define TC_RING_Dir_REG DDRD
#define TC_RING_IN_REG PIND
#define TC_RING_OUT_REG PORTD
#define TC_TXD_Bit PD1
#define TC_TXD_Dir_REG DDRD
#define TC_TXD_IN_REG PIND
#define TC_TXD_OUT_REG PORTD
#define TC_RXD_Bit PD0
#define TC_RXD_Dir_REG DDRD
#define TC_RXD_IN_REG PIND
#define TC_RXD_OUT_REG PORTD
/* MUL-IN MUL-OUT define */
#define MULTY_OUT_Bit PD3
#define MULTY_OUT_Dir_REG DDRD
#define MULTY_OUT_IN_REG PIND
#define MULTY_OUT_OUT_REG PORTD
#define MULTY_IN_Bit PD2
#define MULTY_IN_Dir_REG DDRD
#define MULTY_IN_IN_REG PIND
#define MULTY_IN_OUT_REG PORTD
/* UART define */
#define PIN_TXD_Bit PB2
#define PIN_TXD_Dir_REG DDRB
#define PIN_TXD_IN_REG PINB
#define PIN_TXD_OUT_REG PORTB
#define PIN_RXD_Bit PB1
#define PIN_RXD_Dir_REG DDRB
#define PIN_RXD_IN_REG PINB
#define PIN_RXD_OUT_REG PORTB
#define HI2C_SCL_INMODE CLRBIT(HI2C_SCL_Dir_REG,HI2C_SCL_Bit)
#define HI2C_SCL_OUTMODE SETBIT(HI2C_SCL_Dir_REG,HI2C_SCL_Bit)
#define HI2C_SDA_INMODE CLRBIT(HI2C_SDA_Dir_REG,HI2C_SDA_Bit)
#define HI2C_SDA_OUTMODE SETBIT(HI2C_SDA_Dir_REG,HI2C_SDA_Bit)
#define HI2C_SDA_ISTRUE (READBIT(HI2C_SDA_IN_REG,HI2C_SDA_Bit) != 0)
#define HI2C_SDA_ISFALSE (READBIT(HI2C_SDA_IN_REG,HI2C_SDA_Bit) == 0)
#define HI2C_SCL_ISTRUE (READBIT(HI2C_SCL_IN_REG,HI2C_SCL_Bit) != 0)
#define HI2C_SCL_ISFALSE (READBIT(HI2C_SCL_IN_REG,HI2C_SCL_Bit) == 0)
#define HI2C_ALL_INMODE HI2C_SCL_INMODE; HI2C_SCL_INMODE
#define HI2C_ALL_OUTMODE HI2C_SCL_OUTMODE; HI2C_SDA_OUTMODE
#define HI2C_SCL_SET CLRBIT(HI2C_SCL_OUT_REG,HI2C_SCL_Bit)
#define HI2C_SCL_CLR SETBIT(HI2C_SCL_OUT_REG,HI2C_SCL_Bit)
#define HI2C_SDA_SET CLRBIT(HI2C_SDA_OUT_REG,HI2C_SDA_Bit)
#define HI2C_SDA_CLR SETBIT(HI2C_SDA_OUT_REG,HI2C_SDA_Bit)
/* LCD port define */
#define LCD_CS1_INMODE CLRBIT(LCD_CS1_Dir_REG,LCD_CS1_Bit)
#define LCD_CS1_OUTMODE SETBIT(LCD_CS1_Dir_REG,LCD_CS1_Bit)
#define LCD_CS1_SET CLRBIT(LCD_CS1_OUT_REG,LCD_CS1_Bit)
#define LCD_CS1_CLR SETBIT(LCD_CS1_OUT_REG,LCD_CS1_Bit)
#define LCD_CS2_INMODE CLRBIT(LCD_CS2_Dir_REG,LCD_CS2_Bit)
#define LCD_CS2_OUTMODE SETBIT(LCD_CS2_Dir_REG,LCD_CS2_Bit)
#define LCD_CS2_SET CLRBIT(LCD_CS2_OUT_REG,LCD_CS2_Bit)
#define LCD_CS2_CLR SETBIT(LCD_CS2_OUT_REG,LCD_CS2_Bit)
#define LCD_RS_INMODE CLRBIT(LCD_RS_Dir_REG,LCD_RS_Bit)
#define LCD_RS_OUTMODE SETBIT(LCD_RS_Dir_REG,LCD_RS_Bit)
#define LCD_RS_SET CLRBIT(LCD_RS_OUT_REG,LCD_RS_Bit)
#define LCD_RS_CLR SETBIT(LCD_RS_OUT_REG,LCD_RS_Bit)
#define LCD_RST_INMODE CLRBIT(LCD_RST_Dir_REG,LCD_RST_Bit)
#define LCD_RST_OUTMODE SETBIT(LCD_RST_Dir_REG,LCD_RST_Bit)
#define LCD_RST_SET CLRBIT(LCD_RST_OUT_REG,LCD_RST_Bit)
#define LCD_RST_CLR SETBIT(LCD_RST_OUT_REG,LCD_RST_Bit)
#define LCD_E_INMODE CLRBIT(LCD_E_Dir_REG,LCD_E_Bit)
#define LCD_E_OUTMODE SETBIT(LCD_E_Dir_REG,LCD_E_Bit)
#define LCD_E_SET CLRBIT(LCD_E_OUT_REG,LCD_E_Bit)
#define LCD_E_CLR SETBIT(LCD_E_OUT_REG,LCD_E_Bit)
#define LCD_RW_INMODE CLRBIT(LCD_RW_Dir_REG,LCD_RW_Bit)
#define LCD_RW_OUTMODE SETBIT(LCD_RW_Dir_REG,LCD_RW_Bit)
#define LCD_RW_SET CLRBIT(LCD_RW_OUT_REG,LCD_RW_Bit)
#define LCD_RW_CLR SETBIT(LCD_RW_OUT_REG,LCD_RW_Bit)
#define LCD_DB7_INMODE CLRBIT(LCD_DB7_Dir_REG,LCD_DB7_Bit)
#define LCD_DB7_OUTMODE SETBIT(LCD_DB7_Dir_REG,LCD_DB7_Bit)
#define LCD_DB7_SET CLRBIT(LCD_DB7_OUT_REG,LCD_DB7_Bit)
#define LCD_DB7_CLR SETBIT(LCD_DB7_OUT_REG,LCD_DB7_Bit)
#define LCD_DB6_INMODE CLRBIT(LCD_DB6_Dir_REG,LCD_DB6_Bit)
#define LCD_DB6_OUTMODE SETBIT(LCD_DB6_Dir_REG,LCD_DB6_Bit)
#define LCD_DB6_SET CLRBIT(LCD_DB6_OUT_REG,LCD_DB6_Bit)
#define LCD_DB6_CLR SETBIT(LCD_DB6_OUT_REG,LCD_DB6_Bit)
#define LCD_DB5_INMODE CLRBIT(LCD_DB5_Dir_REG,LCD_DB5_Bit)
#define LCD_DB5_OUTMODE SETBIT(LCD_DB5_Dir_REG,LCD_DB5_Bit)
#define LCD_DB5_SET CLRBIT(LCD_DB5_OUT_REG,LCD_DB5_Bit)
#define LCD_DB5_CLR SETBIT(LCD_DB5_OUT_REG,LCD_DB5_Bit)
#define LCD_DB4_INMODE CLRBIT(LCD_DB4_Dir_REG,LCD_DB4_Bit)
#define LCD_DB4_OUTMODE SETBIT(LCD_DB4_Dir_REG,LCD_DB4_Bit)
#define LCD_DB4_SET CLRBIT(LCD_DB4_OUT_REG,LCD_DB4_Bit)
#define LCD_DB4_CLR SETBIT(LCD_DB4_OUT_REG,LCD_DB4_Bit)
#define LCD_DB3_INMODE CLRBIT(LCD_DB3_Dir_REG,LCD_DB3_Bit)
#define LCD_DB3_OUTMODE SETBIT(LCD_DB3_Dir_REG,LCD_DB3_Bit)
#define LCD_DB3_SET CLRBIT(LCD_DB3_OUT_REG,LCD_DB3_Bit)
#define LCD_DB3_CLR SETBIT(LCD_DB3_OUT_REG,LCD_DB3_Bit)
#define LCD_DB2_INMODE CLRBIT(LCD_DB2_Dir_REG,LCD_DB2_Bit)
#define LCD_DB2_OUTMODE SETBIT(LCD_DB2_Dir_REG,LCD_DB2_Bit)
#define LCD_DB2_SET CLRBIT(LCD_DB2_OUT_REG,LCD_DB2_Bit)
#define LCD_DB2_CLR SETBIT(LCD_DB2_OUT_REG,LCD_DB2_Bit)
#define LCD_DB1_INMODE CLRBIT(LCD_DB1_Dir_REG,LCD_DB1_Bit)
#define LCD_DB1_OUTMODE SETBIT(LCD_DB1_Dir_REG,LCD_DB1_Bit)
#define LCD_DB1_SET CLRBIT(LCD_DB1_OUT_REG,LCD_DB1_Bit)
#define LCD_DB1_CLR SETBIT(LCD_DB1_OUT_REG,LCD_DB1_Bit)
#define LCD_DB0_INMODE CLRBIT(LCD_DB0_Dir_REG,LCD_DB0_Bit)
#define LCD_DB0_OUTMODE SETBIT(LCD_DB0_Dir_REG,LCD_DB0_Bit)
#define LCD_DB0_SET CLRBIT(LCD_DB0_OUT_REG,LCD_DB0_Bit)
#define LCD_DB0_CLR SETBIT(LCD_DB0_OUT_REG,LCD_DB0_Bit)
/* ROOM_T 温度传感器 */
#define ROOM_T_INMODE CLRBIT(ROOM_T_Dir_REG,ROOM_T_Bit)
#define ROOM_T_OUTMODE SETBIT(ROOM_T_Dir_REG,ROOM_T_Bit)
/* key board define */
#define KEYBOARD_INMODE CLRBIT(KEYBOARD_Dir_REG,KEYBOARD_Bit)
#define KEYBOARD_OUTMODE SETBIT(KEYBOARD_Dir_REG,KEYBOARD_Bit)
/* TC35 define */
#define TC_IGT_INMODE CLRBIT(TC_IGT_Dir_REG,TC_IGT_Bit)
#define TC_IGT_OUTMODE SETBIT(TC_IGT_Dir_REG,TC_IGT_Bit)
#define TC_CTS_INMODE CLRBIT(TC_CTS_Dir_REG,TC_CTS_Bit)
#define TC_CTS_OUTMODE SETBIT(TC_CTS_Dir_REG,TC_CTS_Bit)
#define TC_RTS_INMODE CLRBIT(TC_RTS_Dir_REG,TC_RTS_Bit)
#define TC_RTS_OUTMODE SETBIT(TC_RTS_Dir_REG,TC_RTS_Bit)
#define TC_RING_INMODE CLRBIT(TC_RING_Dir_REG,TC_RING_Bit)
#define TC_RING_OUTMODE SETBIT(TC_RING_Dir_REG,TC_RING_Bit)
#define TC_TXD_INMODE CLRBIT(TC_TXD_Dir_REG,TC_TXD_Bit)
#define TC_TXD_OUTMODE SETBIT(TC_TXD_Dir_REG,TC_TXD_Bit)
#define TC_RXD_INMODE CLRBIT(TC_RXD_Dir_REG,TC_RXD_Bit)
#define TC_RXD_OUTMODE SETBIT(TC_RXD_Dir_REG,TC_RXD_Bit)
/* MUL-IN MUL-OUT define */
#define MULTY_OUT_INMODE CLRBIT(MULTY_OUT_Dir_REG,MULTY_OUT_Bit)
#define MULTY_OUT_OUTMODE SETBIT(MULTY_OUT_Dir_REG,MULTY_OUT_Bit)
#define MULTY_IN_INMODE CLRBIT(MULTY_IN_Dir_REG,MULTY_IN_Bit)
#define MULTY_IN_OUTMODE SETBIT(MULTY_IN_Dir_REG,MULTY_IN_Bit)
/* UART define */
#define PIN_TXD_INMODE CLRBIT(PIN_TXD_Dir_REG,PIN_TXD_Bit)
#define PIN_TXD_OUTMODE SETBIT(PIN_TXD_Dir_REG,PIN_TXD_Bit)
#define PIN_RXD_INMODE CLRBIT(PIN_RXD_Dir_REG,PIN_RXD_Bit)
#define PIN_RXD_OUTMODE SETBIT(PIN_RXD_Dir_REG,PIN_RXD_Bit)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -