mirror of https://github.com/SMFSW/cI2C
40 lines
1.5 KiB
Markdown
Executable File
40 lines
1.5 KiB
Markdown
Executable File
# cI2C
|
|
Arduino Hardware I2C for AVR (plain c)
|
|
Hardware I2C library for AVR µcontrollers (lib intended for I2C protocols development in c, for easier ports to other µcontrollers)
|
|
|
|
## Notes:
|
|
* cI2C is written in plain c (intentionally)
|
|
* cI2C does not use any interrupt (yet, but soon will have to)
|
|
* cI2C is designed to act as bus Master (Slave mode will be considered in future releases)
|
|
* cI2C is set to work on AVR targets only
|
|
* for other targets, you may use **WireWrapper** instead (will be using Wire)
|
|
* **cI2C** & **WireWrapper** libs declare same structures & functions as seen from the outside
|
|
(switch between libs without changing anyhting but the include)
|
|
|
|
## Usage:
|
|
refer to Doxygen generated documentation & example sketches
|
|
|
|
## Examples included:
|
|
following examples should work with any I2C EEPROM/FRAM with address 0x50
|
|
(yet function to get Chip ID are device dependant (and will probably only work on FUJITSU devices))
|
|
* ci2c_master_write.ino: Write some bytes to FRAM and compare them with what's read afterwards
|
|
* ci2c_master_read.ino: Read some bytes in FRAM
|
|
* ci2c_advanced.ino: Redirecting slave write & read functions (to custom functions following typedef)
|
|
|
|
Doxygen doc can be generated for the library using doxyfile
|
|
|
|
## Links:
|
|
|
|
Feel free to share your thoughts @ xgarmanboziax@gmail.com about:
|
|
* issues encountered
|
|
* optimisations
|
|
* improvements & new functionalities
|
|
|
|
**cI2C**
|
|
- https://github.com/SMFSW/cI2C
|
|
- https://bitbucket.org/SMFSW/ci2c
|
|
|
|
**WireWrapper**
|
|
- https://github.com/SMFSW/WireWrapper
|
|
- https://bitbucket.org/SMFSW/wirewrapper
|