-
-
Neuer Benutzer
Öfters hier
Danke für die Antwort.
Zum 2. Treffer: Ich möchte den I2C-Bus versuchen zu verstehen, deshalb nutzt es mir nichts wenn ich das mit Libraries löse.
Zum 1. Treffer: PIC --> EEPROM, ich brauche aber PIC --> PIC
-------
Ich habe auf einer russischen (!) Seite diesen Code gefunden.
Leider sind die Kommentare unverständlich....
Was meint ihr dazu?
PS: Mache ich etwas falsch wenn ich SCL und SDA über 1.8kOhm an Speisung anschliesse?
#include <p18f252.h>
long int k;
void i2c_wait (void) //îæèäàíèå ôëàãà SSPIF ïîñëå áèòà àäðåñà è ïîñëå áèòà ñòîï
{
while(PIR1bits.SSPIF==1)
{
PIR1bits.SSPIF=0; //ñáðîñ ôëàãà
}
}
void i2c_start(void) //ñòàðò I2C áèò SEN ñòàâèì â 1 è ïåðåõîäèì â îæèäàíèå SSPIF
{
SSPCON2bits.SEN=1;
i2c_wait();
}
void main()
{
TRISB=0x00;
PORTC=0;
PORTB=0b00111000;
TRISC=0b00011000; // RC3 RC4 êàê âõîäû
SSPCON1= 0b00101000; // âêë ìîäóëü MSSP,âêë âåäóùèé ðåæèì
SSPADD=39; // ðàñ÷èòàí äëÿ ÷àñòîòû 100 êÃö
PORTCbits.RC6=1; //âûâîäèì LCD èç ñáðîñà
i2c_start(); //çàïóñê(ñòàðò) I2C
SSPBUF=0x78; //àäðåñ, êàê â äîêóìåíòàöèè 0õ78 èëè 0õ7À-ðåçóëüòàòà íåò
i2c_wait(); //æäåì ôëàã SSPIF ïîñëå ñòàðòà
//òóò ïèøó ïåðåäà÷ó êîìàíä è äàííûõ êàê ïîëîæåíî ñ êîíòðîëüíûìè áàéòàìè è îæèäàíèåì ôëàãà
SSPCON2bits.PEN=1; //ñòîï I2C
i2c_wait(); //îæèäàíèå SSPIF
}
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen