Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:b0247e85bf0e, 2014-12-07 (annotated)
- Committer:
- karelv
- Date:
- Sun Dec 07 13:56:12 2014 +0000
- Revision:
- 0:b0247e85bf0e
IO-based I2C function, to show my HW is correctly wired
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| karelv | 0:b0247e85bf0e | 1 | #include "mbed.h" |
| karelv | 0:b0247e85bf0e | 2 | #include "my_i2c.h" |
| karelv | 0:b0247e85bf0e | 3 | |
| karelv | 0:b0247e85bf0e | 4 | DigitalOut myled(LED1); |
| karelv | 0:b0247e85bf0e | 5 | |
| karelv | 0:b0247e85bf0e | 6 | // Connections made: |
| karelv | 0:b0247e85bf0e | 7 | // SDA to pin9 of LPC4088 QSB |
| karelv | 0:b0247e85bf0e | 8 | // SCL to pin10 of LPC4088 QSB |
| karelv | 0:b0247e85bf0e | 9 | // on I2C bus is PCF8574 connected at sub-address 0 (0x40). |
| karelv | 0:b0247e85bf0e | 10 | // all supplied at 3.3V |
| karelv | 0:b0247e85bf0e | 11 | // no external pullup (5K internal pullup used by my_i2c functions) |
| karelv | 0:b0247e85bf0e | 12 | // |
| karelv | 0:b0247e85bf0e | 13 | // note in the my_i2c functions a delay of 1us is added after each transition of the pin. |
| karelv | 0:b0247e85bf0e | 14 | // so this means an absolute maximum frequency of 500kHz. |
| karelv | 0:b0247e85bf0e | 15 | |
| karelv | 0:b0247e85bf0e | 16 | int main() { |
| karelv | 0:b0247e85bf0e | 17 | |
| karelv | 0:b0247e85bf0e | 18 | while(1) { |
| karelv | 0:b0247e85bf0e | 19 | myled = 1; |
| karelv | 0:b0247e85bf0e | 20 | my_i2cStart(0x40); |
| karelv | 0:b0247e85bf0e | 21 | my_i2cWrite (0x55); |
| karelv | 0:b0247e85bf0e | 22 | my_i2cStop(); |
| karelv | 0:b0247e85bf0e | 23 | wait(0.5); |
| karelv | 0:b0247e85bf0e | 24 | myled = 0; |
| karelv | 0:b0247e85bf0e | 25 | my_i2cStart(0x40); |
| karelv | 0:b0247e85bf0e | 26 | my_i2cWrite (0xAA); |
| karelv | 0:b0247e85bf0e | 27 | my_i2cStop(); |
| karelv | 0:b0247e85bf0e | 28 | wait(0.5); |
| karelv | 0:b0247e85bf0e | 29 | } |
| karelv | 0:b0247e85bf0e | 30 | } |