I2C atmega328p Problem

OP #4141114
Lesenswert?
• ▲
▼
Hallo,

Ich versuche mittels I2C/TWI eine Kommunikation zwischen Arduino Uno und 
atmega328p herzustellen. Auf dem Arduino läuft die Wire Library mit 
Beispielcode und am atmega die I2C Master library.
Code:
1
#include <avr/io.h>
2
#include <i2cmaster.h>          
3
#ifndef F_CPU
4
#define F_CPU 16000000UL
5
#endif
6
#include <util/delay.h>
7
int main (void) {      
8
     
9
   DDRB |= (1<<PB0);
10
   
11
   //PORTB = (1 << PB0);
12
   
13
   i2c_init();             
14
   while(1){
15
       int err = i2c_start( 2 + I2C_WRITE );
16
     if ( !err ){
17
       i2c_write('0');
18
       i2c_stop();
19
       _delay_us(500); 
20
     }else{
21
         PORTB = (1 << PB0);
22
         i2c_stop();
23
     }
24
  }
25
   return 0;                
26
}

Es geschieht jedoch nichts und die LED an PB0 geht an.
Woran könnte das liegen?
#4141692
Lesenswert?
• ▲
▼
Roman B. schrieb:


>        int err = i2c_start( 2 + I2C_WRITE );

zusammen mit dem letzten Satz aus der Arduino Doku
1
Note
2

3
There are both 7- and 8-bit versions of I2C addresses. 7 bits identify
4
the device, and the eighth bit determines if it's being written to or
5
read from. The Wire library uses 7 bit addresses throughout. If you have
6
a datasheet or sample code that uses 8 bit address, you'll want to drop
7
the low bit (i.e. shift the value one bit to the right), yielding an
8
address between 0 and 127. However the addresses from 0 to 7 are not
9
used because are reserved so the first address that can be used is 8.

Du verwendest die 7-Bit Adresse 1

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.