mainMaster.c-Dateireferenz

#include <avr/io.h>
#include <string.h>
#include "i2cmaster.h"

Include-Abhängigkeitsdiagramm für mainMaster.c:

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  tstMenue
struct  tstZeile

Makrodefinitionen

#define NDISPLAY_ADD   0x40
#define TITELKURZ   12
#define TITELLANG   17

Aufzählungen

enum  enTWIRegisterAdr {
  INBUFFER = 1, OUTBUFFER, INCOUNTER, OUTCoOUNTER, PAKETREQID,
  STATUS, GPIO
}
enum  enElemtenTypen { VARIABLE, MENUE, TEXT }

Funktionen

void i2c_writeData (uint8_t *data, uint8_t size)
int main (void)


Makro-Dokumentation

#define NDISPLAY_ADD   0x40

Definiert in Zeile 18 der Datei mainMaster.c.

Wird benutzt von main().

#define TITELKURZ   12

Definiert in Zeile 19 der Datei mainMaster.c.

#define TITELLANG   17

Definiert in Zeile 20 der Datei mainMaster.c.


Dokumentation der Aufzählungstypen

enum enElemtenTypen

Aufzählungswerte:
VARIABLE 
MENUE 
TEXT 

Definiert in Zeile 23 der Datei mainMaster.c.

00023 {VARIABLE, MENUE, TEXT};

enum enTWIRegisterAdr

Aufzählungswerte:
INBUFFER 
OUTBUFFER 
INCOUNTER 
OUTCoOUNTER 
PAKETREQID 
STATUS 
GPIO 

Definiert in Zeile 22 der Datei mainMaster.c.

00022 { INBUFFER=1, OUTBUFFER, INCOUNTER, OUTCoOUNTER, PAKETREQID, STATUS, GPIO };// Adressen der Register


Dokumentation der Funktionen

void i2c_writeData ( uint8_t *  data,
uint8_t  size 
)

Definiert in Zeile 92 der Datei mainMaster.c.

Benutzt i2c_write().

Wird benutzt von main().

00093 {
00094         uint8_t i=0;
00095 
00096         for( i=0; i<size; i++)
00097         {
00098                 i2c_write(*data++);
00099         }
00100 
00101 }

int main ( void   ) 

Definiert in Zeile 44 der Datei mainMaster.c.

Benutzt tstZeile::element, tstZeile::elementType, i2c_init(), i2c_start(), i2c_start_wait(), i2c_stop(), i2c_write(), I2C_WRITE, i2c_writeData(), tstZeile::id, tstMenue::id, INBUFFER, INCOUNTER, MENUE, NDISPLAY_ADD, tstZeile::parent, tstZeile::pos und tstMenue::titel.

00045 {
00046     unsigned char ret;
00047     
00048 
00049     DDRB  = 0xff;                              // use all pins on port B for output 
00050     PORTB = 0b00000011;                        // (active low LED's )
00051 
00052     i2c_init();                                // init I2C interface
00053         
00054                 
00055         tstMenue menue;
00056         menue.id = 1;
00057         memcpy(menue.titel,"I2C Einstellungen", 18);
00058         tstZeile tabZeile;
00059         tabZeile.id = 1;
00060         tabZeile.pos = 1;
00061         tabZeile.element = 0;
00062         tabZeile.elementType = MENUE;
00063         tabZeile.parent = 0;
00064 
00065                 /* schreibe Daten in den INFifo des DisplayControllers */
00066     ret = i2c_start(NDISPLAY_ADD + I2C_WRITE);       // set device address and write mode
00067                 PORTB = 0b00000110;
00068     if ( ret ) {
00069                                 PORTB = 0b00001110;
00070         /* failed to issue start condition, possibly no device found */
00071         i2c_stop();
00072         PORTB = 0b00011100;                            // activate all 8 LED to show error */
00073     }else {
00074                                 PORTB = 0b00111000;
00075         /* issuing start condition ok, device accessible */
00076                                 i2c_write(INBUFFER);
00077                                 i2c_writeData((uint8_t*)&tabZeile, sizeof(tabZeile));
00078                                 i2c_writeData((uint8_t*) &menue, sizeof(menue));
00079         i2c_stop();                            // set stop conditon = release bus
00080                                 PORTB = 0b01110000;
00081                 }
00082     
00083                 /* schreibe die Anzahl der gesendeten Daten */
00084                 i2c_start_wait(NDISPLAY_ADD + I2C_WRITE);       // set device address and write mode
00085                 i2c_write(INCOUNTER);
00086                 i2c_write(sizeof(tabZeile) + sizeof(menue));
00087                 i2c_stop();
00088 
00089     for(;;);    
00090 }


Erzeugt am Thu Oct 18 23:22:14 2007 für nDisply von  doxygen 1.5.1-p1