Skip to content

Software implementation of I2C for Arduino (Tested with the atmega328p based boards)

License

Notifications You must be signed in to change notification settings

RaemondBW/SWire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SWire

The goal of SWire is to be a drag and drop Software I2C replacement for the Arduino Wire Library.

Why do I need this?

  • You need a software implementation of I2C because, your hardware requires two I2C busses and you only have one.
  • For some reason you have decided to use a alternate pins from the hardware I2C Pins.

Why this library?

  • I got frustrated by the lack of support and debugability of the other Assembly written Software I2C Libraries available on Github.
  • XantolI2C, on which this library was built, frustratingly didn't implement the Wire.h interface so was not an easy drag and drop replacement.

Usage

  1. Clone or Download (from here) this Repository from github to your Arduino/libraries folder
  2. Include it in the source of your Arduino project, #include <SWire.h>
  3. Replace all instances of Wire from your project with SWire calls.
  4. Replace your Wire.begin() with SWire.begin(, )
  5. If you are still confused, check out the example project.

About

Software implementation of I2C for Arduino (Tested with the atmega328p based boards)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages