Hallo, ich hab schon ein wenig programmiert. Auch auf einem ATMega. Doch jetzt komm ich nicht weiter. Ich habe mir zum üben und testen ein NET-I/O Board von Pollin bestellt. Nun wollte ich eine einfach Software dafür entwickeln. Angefangen habe ich damit, das ich die LEDs leuchten lassen wollte. Doch es funktioniert nicht. Und jetzt stellt sich mir die Frage warum nicht: Initalisierung: void enc_init(void) { const uint8_t MAC_ADR[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; enc_start(); uint8_t reset = 0xff; spi_send(&reset,1); while((readETHReg(ESTAT)&(1<<CLKRDY))!=1); USART_String("Fertig"); writeETHReg(MAADR0, MAC_ADR[0]); writeETHReg(MAADR1, MAC_ADR[1]); writeETHReg(MAADR2, MAC_ADR[2]); writeETHReg(MAADR3, MAC_ADR[3]); writeETHReg(MAADR4, MAC_ADR[4]); writeETHReg(MAADR5, MAC_ADR[5]); enc_stop(); } Schreiben der PHY Register: void writePHYReg(uint8_t reg, uint16_t data) { if(reg > PHLCON) { USART_String("Uengueltiges PHY-Register"); return; } selectBank(BANK2); writeETHReg(MIREGADR, reg); writeETHReg(MIWRL, (uint8_t)data); writeETHReg(MIWRH, ((uint8_t)(data>>8))); } Das senden per SPI funktioniert meines Errachtens (mit dem Oszilloskop nachgeprüft. Sieht gut aus denke ich). Auch die Serielle Schnittstelle funktioniert. Der Aufruf aus der Main: writePHYReg(PHLCON, 0xAB8); Habe ich etwas übersehen? Besten Dank
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.