hat hier jemand Erfahrung mit dem SCT der in einigen LPC vorhanden ist? Ich möchte auch eine IR FB für Panasonic nachbauen, und habe dafür mal einen LPC824 rausgekramt. Der ist sehr sparsam und im SCT Cookbook von NXP hatte ich da auch eine RC5 IRSend/Receive Anwendung gesehen, sollte also ganz einfach sein. Aber wie ich feststellen musste, ist NXP in seinem Beispielcode auch nicht viel besser als die Mitbewerber. Für die eine Anwendung habe ich drei Beispiele gefunden die alle unterschiedlich realisiert sind. Für den LPC824 gab es ein LPCXpresso Projekt, das war wohl die halbherzige Umsetzung eines Keil Projektes für den LPC812 und funktionierte nicht. Der 824 hat noch einen InputMux der gesetzt werden muss, das kann irgendwie nicht funktioniert haben. Über den gleichen Fehler bin ich vor kurzem schonmal gestolpert, da hatte ich WS2812 mit dem SCT angesteuert und Code vom LPC812 als Start benutzt. Aber das war vor Weihnachten, mein Gedächtnis ist nicht mehr das Beste... Ich habe das in Mbed eingebaut, da ist aber für den LPC824 eine sehr alte CMSIS Beschreibung drin. In den AppNotes werden unterschiedliche Versionen benutzt, einmal mit CMSIS und Registerprogrammierung mit Magic Numbers und einmal LPCOpen mit einfachen Wrapperfunktionen und defines für Bits. Die Namen hat NXP wohl auch mehrfach geändert. Sehr verwirrend für den Einstieg, aber dieser SCT ist sehr leistungsfähig, es lohnt sich sich damit zu beschäfftigen. In LPCXPresso gab es mal eine grafische Hilfe für die State Machines, aber die wurde nicht weiterentwickelt und ist in MCUXPresso wegoptimiert worden. Gibt es hier noch LPC Experten die auch den SCT einsetzen? Und weitere Resourcen mit Beispielen?
ok, wenn die Beispiele so haarsträubende Fehler enthalten, dann ist es kein Wunder das sich niemand für die LPC interessiert. Nochmal das original Beispiel in MCUXPresso geladen, funktioniert nicht. MRT (Timer) wird benutzt, aber nicht aktiviert. SWM soll initialisiert werden, funktioniert nicht weil Bitnummern statt Positionen verordert werden:
1 | Chip_Clock_EnablePeriphClock( (CHIP_SYSCTL_CLOCK_T) ( SYSCTL_CLOCK_SWM | // enable SWM clock |
2 | SYSCTL_CLOCK_GPIO | // enable GPIO port clock |
3 | SYSCTL_CLOCK_IOCON )); //enable IOCON clock |
INMUX wird nicht gesetzt, damit SCT nicht getriggert. Das kann so niemals gelaufen haben. Im gpio code wird mit ~ operator auf bool gearbeitet wo schon der Compiler meckert, 8 Bit Masken für 32 Bit Register, usw. So ein schöner Controller, aber was soll man mit so einem Software Support machen? Da mecker noch mal einer über STM und HAL. Jaja, alles selber schreiben. Aber wie kann man als Hersteller sowas veröffentlichen?
Alte LPC800/812/8xx kannst du getrost mit der Zwille in eine Erdumlaufbahn schiessen. Damit kannst du dann Generationen von Aliens beschaeftigen. Eine etwas "uebersichtlichere" Peripherie haette den Teilen wohl besser getan, als diese "Featuritis".
Johannes S. schrieb: > So ein schöner Controller, aber was soll man mit so einem Software > Support machen? Da mecker noch mal einer über STM und HAL. > Jaja, alles selber schreiben. Aber wie kann man als Hersteller sowas > veröffentlichen? Sei doch froh, denn das Silizium ist offenbar gut gelungen und die Firmware kannst du selber machen. Das, was du brauchst, ist das Referenzmanual und genug Zeit zu lesen desselben. Alles andere ist zweit- oder gar drittrangig. Ja, ich rede hier vom Selbermachen ohne Copy&Paste. Das ist auf alle Fälle besser, als sich selber mit Beispielcode des Herstellers an dessen Galeere anzunageln. Wichtig ist in diesem Falle, daß du die Funktionalität eben dieses STC verstehst und diese für dein Vorhaben ausnutzen kannst. Ach ja, ich hatte vor vielen Jahren mal eine Fernbedienung mittels eines PIC16 und in Assembler "umprogrammiert". Mit einem LPC hast du es da viel bequemer. Also jammere nicht so sehr. W.S.
Die anderen Devices der LPC8xx sind einfach und gut, da sind die STM32 eher ein Schock. Für Umsteiger von AVR würde ich die immer noch empfehlen, die einfachen Sachen wie GPIO, UART, SPI und I2C hat man mit wenigen Bits im Griff. Nur die SCT sind eine Nummer härter, da hilft das RefMan auch nur bedingt weiter weil man das Konzept und die Abläufe erstmal verstehen muss. Funktionierende Beispiele sind da ein guter Einstieg, und warum die Qualität da so mässig ist, kann ich nicht verstehen. Das AN11538 ist von 2016, sowas muss man doch pflegen wenn da solche Klopper drin sind. Ich habe mir gestern noch ein NXP Video von dem SCT Entwickler angetan, kaum zu verstehen (Wolldecke im Mund) und 5s Folie von oben bis unten mit wirrem Code vollgekritzelt, erklären geht anders. Und die SCT gibt es nun auch schon seit vielen Jahren und sind ja auch immer noch in aktuellen Designs drin, aber mehr als PWM wird scheinbar nicht damit gemacht, und das können andere schöner.
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.