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

📄 i2c.h

📁 此文档为采用FPGA实现的以太网MAC层
💻 H
字号:
#include "sys.h"#include "excalibur.h"/* Change this define depending on what temperature sensor you have *//* A0 indicates that last 3 I2C address bits are 000, and A5 is 101 */#define A0/* I2C Address - 1001 101x for A5 parts *//* I2C Address - 1001 000x for A0 parts */#ifdef A5#define I2C_TEMP_ADDR 0x9A#else#define I2C_TEMP_ADDR 0x90#endif#define I2C_RTC_ADDR 0xD0/* Write only register */#define i2c_cmd_sta 0x80	/* Generated start/rstart condition */#define i2c_cmd_sto 0x40	/* Generate stop condition */#define i2c_cmd_rd 0x20		/* Read from slave */#define i2c_cmd_wr 0x10		/* Write to slave */#define i2c_cmd_ack 0x8		/* Ack=0 sends ACK, ACK=1 sends NACK */#define i2c_cmd_iack 0x1	/* Clears interrupt when set to 1 *//* Read only register */#define i2c_status_rxack 0x80	/* 1 indicates NACK received, 0 is ACK */#define i2c_status_busy 0x40	/* 1 after START, 0 after STOP */#define i2c_status_al 0x20		/* 1 when arbitration has been lost */#define i2c_status_tip 0x2		/* 1 when transferring data */#define i2c_status_if			/* Set when one byte of transfer has occurred */#define i2c_mode_write 0#define i2c_mode_read 1typedef volatile struct{	volatile int u16prescale_l;	volatile int u16prescale_h;	volatile int u16control; /* Bit 7 is enable, bit 6 is IE */	volatile int u16buf;	volatile int u16cmdstat;} T_i2c;

⌨️ 快捷键说明

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