C Control PRO STARTER SET MEGA 128 198484 ユーザーズマニュアル

製品コード
198484
ページ / 200
126
C-Control Pro Mega Series
© 2005 Conrad Electronic
5.4.8.9
I2C Beispiel
Beispiel: EEPROM 24C64 lesen und schreiben ohne I2C_Status Abfrage
// I2C Initialization, Bit Rate 100kHz
main(void)
{
    word address;
    byte data,EEPROM_data;
    address=
0x20
;
    data=
0x42
;
    I2C_Init(I2C_100kHz );
    
// write data to 24C64 (8k x 8) EEPROM
    I2C_Start();
    I2C_Write(
0xA0
);                               
// DEVICE ADDRESS : A0
    I2C_Write(address>>
8
);                         
// HIGH WORD ADDRESS
    I2C_Write(address);                            
// LOW WORD ADDRESS
    I2C_Write(data);                               
// write Data
    I2C_Stop();
    AbsDelay(
5
);                                   
// delay for EEPROM Write Cycle
    
// read data from 24C64 (8k x 8) EEPROM
    I2C_Start();
    I2C_Write(
0xA0
);                               
// DEVICE ADDRESS : A0
    I2C_Write(address>>
8
);                         
// HIGH WORD ADDRESS
    I2C_Write(address);                            
// LOW WORD ADDRESS
    I2C_Start();                                   
// RESTART
    I2C_Write(
0xA1
);                               
// DEVICE ADDRESS : A1
    EEPROM_data=I2C_Read_NACK();
    I2C_Stop();
    Msg_WriteHex(EEPROM_data);
}
5.4.9
Interrupt
Der Controller stellt eine Vielzahl an Interrupts zur Verfügung. Einige davon werden für
Systemfunktionen verwendet und stehen dem Anwender nicht zur Verfügung. Folgende Interrupts
können vom Anwender genutzt werden:
Tabelle Interrupts
Interrupt Name
 Beschreibung
 INT_0
 externer Interrupt0
 INT_1
 externer Interrupt1
 INT_2
 externer Interrupt2
 INT_3
 externer Interrupt3 (
nur Mega128
)
 INT_4
 externer Interrupt4 (
nur Mega128
)
 INT_5
 externer Interrupt5 (
nur Mega128
)
 INT_6
 externer Interrupt6 (
nur Mega128
)
 INT_7
 externer Interrupt7 (
nur Mega128
)
 INT_TIM1CAPT 
 Timer1 Capture