Hi, ich versuche SPI zum laufen zu bekommen. Aber es kommt weder CLK noch sointein Signal raus. Messen tu ich mit Logicanalyzer. Der Codee wird auch ausgeführt, bin schrittweise durchgegangen. Hab ich noch ne Einstellung uebersehen? Mein Code: //einstellen des Modes PERIPHSEL0 = 0x6902; // parallel port: mode 6, serial port1: mode 2 // und init des SPI void spi_init(void){ int i; SYS_PRCR = SYS_PRCR & ~0x0080; //take out of reset IDLE_PCGCR = IDLE_PCGCR & ~0x0002; //enable clock SPI_REG_CCR = SPI_REG_CCR & ~0x8000; //disable clock SPI_REG_CDR = 0x0363; //clk=115200 hz SPI_REG_CCR = SPI_REG_CCR | 0x8000; //enable clock SPI_REG_DCR1 = 0x0000; SPI_REG_DCR2 = 0x0000; for(i=0; i<0xFFF; i++) { } } // und senden der Daten void spi_tx(Int16 value){ unsigned short i; //8 bit write SPI_REG_CMD1 = 0x0000; //1 character SPI_REG_DAT2 = value << 8; SPI_REG_DAT1 = 0x0000; SPI_REG_CMD2 = 0x003A; //CS0, 8 bits per character, write i=0; while(SPI_REG_STAT1 & 0x0002 == 0) { if(i++ == 0xFFFF) {break;} } //wait for CC=1 i=0; while(SPI_REG_STAT1 & 0x0001 != 0) { if(i++ == 0xFFFF) {break;} } //wait for BUSY=0 }
Hmm, Ich habe gerade festgestellt, daß DATA ein Signal ausgibt, aber CLK und CS nicht.
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.