文件名称:i2c_master_slave_pic
介绍说明--下载内容均来自于网络,请自行研究使用
This I2C library contains the following functionalities:
- master/slave communication
- timeout in case of bus failure
- self recovery after timeout
- possibility to write one of 32 bytes slave registers
In the archive you can find the hardware schematic, some photos of the working platform, the required libraries and an working example. In the example the master MCU writes 2 bytes to the slave MCU which then sums them together. Then the MCU read the result and print it on the LCD. In case of I2C failure, either a TIMEOUT or FAILURE message will be printed on the LCD depending of which line was break. The MCU uses for both master and slave was PIC16F887. It use internal clock at 8Mhz so no cristal is required.
- master/slave communication
- timeout in case of bus failure
- self recovery after timeout
- possibility to write one of 32 bytes slave registers
In the archive you can find the hardware schematic, some photos of the working platform, the required libraries and an working example. In the example the master MCU writes 2 bytes to the slave MCU which then sums them together. Then the MCU read the result and print it on the LCD. In case of I2C failure, either a TIMEOUT or FAILURE message will be printed on the LCD depending of which line was break. The MCU uses for both master and slave was PIC16F887. It use internal clock at 8Mhz so no cristal is required.
(系统自动生成,下载前可以参看下载内容)
下载文件列表
I2C_MasterSlave_Protocol
I2C_MasterSlave_Protocol\20160807_180708.jpg
I2C_MasterSlave_Protocol\20160807_180749.jpg
I2C_MasterSlave_Protocol\20160807_180814.jpg
I2C_MasterSlave_Protocol\I2C_MasterSlave_Hardware.png
I2C_MasterSlave_Protocol\LCD_Connection.png
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.asm
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.bmk
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.brk
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.c
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.c.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.cfg
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.cp
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.dbg
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.dct
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.dlt
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.hex
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.log
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.lst
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.mcl
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.mcppi
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.mcppi_callertable.txt
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.user.dic
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F_I2C_MasterFunctions.asm
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F_I2C_MasterFunctions.c
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F_I2C_MasterFunctions.c.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F_I2C_MasterFunctions.cp
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F_I2C_MasterFunctions.h
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F_I2C_MasterFunctions.h.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F_I2C_MasterFunctions.mcl
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlaveHelpers.asm
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlaveHelpers.c.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlaveHelpers.cp
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlaveHelpers.h.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlaveHelpers.mcl
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.asm
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.bmk
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.brk
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.c
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.c.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.cfg
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.cp
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.dbg
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.dct
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.dlt
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.hex
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.log
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.lst
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.mcl
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.mcppi
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.mcppi_callertable.txt
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.user.dic
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F_I2C_SlaveFunctions.asm
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F_I2C_SlaveFunctions.c
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F_I2C_SlaveFunctions.c.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F_I2C_SlaveFunctions.cp
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F_I2C_SlaveFunctions.h
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F_I2C_SlaveFunctions.h.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F_I2C_SlaveFunctions.mcl
I2C_MasterSlave_Protocol\Readme.txt
I2C_MasterSlave_Protocol\20160807_180708.jpg
I2C_MasterSlave_Protocol\20160807_180749.jpg
I2C_MasterSlave_Protocol\20160807_180814.jpg
I2C_MasterSlave_Protocol\I2C_MasterSlave_Hardware.png
I2C_MasterSlave_Protocol\LCD_Connection.png
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.asm
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.bmk
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.brk
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.c
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.c.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.cfg
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.cp
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.dbg
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.dct
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.dlt
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.hex
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.log
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.lst
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.mcl
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.mcppi
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.mcppi_callertable.txt
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F887_I2CMaster_Protocol.user.dic
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F_I2C_MasterFunctions.asm
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F_I2C_MasterFunctions.c
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F_I2C_MasterFunctions.c.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F_I2C_MasterFunctions.cp
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F_I2C_MasterFunctions.h
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F_I2C_MasterFunctions.h.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CMaster_Protocol\PIC16F_I2C_MasterFunctions.mcl
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlaveHelpers.asm
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlaveHelpers.c.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlaveHelpers.cp
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlaveHelpers.h.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlaveHelpers.mcl
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.asm
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.bmk
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.brk
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.c
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.c.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.cfg
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.cp
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.dbg
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.dct
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.dlt
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.hex
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.log
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.lst
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.mcl
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.mcppi
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.mcppi_callertable.txt
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F887_I2CSlave_Protocol.user.dic
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F_I2C_SlaveFunctions.asm
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F_I2C_SlaveFunctions.c
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F_I2C_SlaveFunctions.c.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F_I2C_SlaveFunctions.cp
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F_I2C_SlaveFunctions.h
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F_I2C_SlaveFunctions.h.ini
I2C_MasterSlave_Protocol\PIC16F887_I2CSlave_Protocol\PIC16F_I2C_SlaveFunctions.mcl
I2C_MasterSlave_Protocol\Readme.txt