hi, hat jemand schon einmal mit micro wire in c auf dem AVR gepielt (nicht CodeVision)? Ich suche Anregungen für 'nen Treiber. Reiner
Hi Reiner SPI und microwire sind fast identisch. Unterscheiden sich eigentlich nur bzgl CPOL u CPHA einstellung ! Das hab ich so in erinnerung praktisch ausprobiert hab ichs nicht ! Hast du das denn schon dahingehend geprüft ? Oder verwendest Du einen AVR ohne Hardware SPI ?
Wie? Wieso fast identisch? Einfach seriell out am Controller mit seriell in verbinden, wie bei einer SIM-Karte - das ist alles???? Selbst ohne SPI ist das ja kein Hindernis. Ich wollte einen Dallas/Maxim Temperatursensor an einen AT90S8515 hängen, um einen Motor zu überwachen. Reiner
Hi Reiner >Wie? Wieso fast identisch? s.o Kann LSB oder MSB first sein Kann auf fallende oder steigende Flanken reagieren usw... Wird mit dem SPI Control? Register eingestellt >Einfach seriell out am Controller mit seriell in verbinden, ><wie bei einer SIM-Karte - das ist alles???? Kann ich jetzt nichts zu sagen kenn ich nicht. >Selbst ohne SPI ist das ja kein Hindernis. Software SPI will auch erst geschrieben werden ;-] <Ich wollte einen Dallas/Maxim Temperatursensor an einen <AT90S8515 hängen, um einen Motor zu überwachen. Einfach das benötigte Datenformat ( Maxim Datenblatt ) anschauen und das HW SPI entsprechen einstellen. MISO->Data out ( MAX ) MOSI<-Data IN SCKL->(MAX) Da sollte es eigentlich an quellcode im net nicht mangeln. Phagsae
>>Software SPI will auch erst geschrieben werden ;-] hier ist die Softspi! ist für eine 74HC165 an drei Pins des PORTA #define DAT165 BIT(3) #define SCK165 BIT(5) #define RCK165 BIT(6) DDRA = SCK165 | RCK165; // Outputs, undefined are inputs UCHAR read_dipswitch(void){ UCHAR data; PORTA &= ~SCK165; // clk low PORTA &= ~RCK165; // load dip switches in '165 PORTA |= RCK165; data = 0; // clear result first for(i=0;i<8;i++){ // read 8 bits data <<= 1; // shift left PORTA &= ~SCK165; // clk low PORTA |= SCK165; // clk high if(!(PINA & DAT165)) // Bit invertiert testen data |= 1; } return(data); } Reiner
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.