Ich habe den AVR- und PIC-Mikrocontroller-Code seit einigen Jahren für die Arbeit modifiziert, aber noch nie etwas von Grund auf neu geschrieben. Ich verstehe das ziemlich gut.
Ich fange jetzt an, meinen eigenen Code zu schreiben und habe Probleme beim Einstieg. Ich habe mich gefragt, wie andere Leute anfangen, Code zu schreiben, und ob es ein Buch oder ein Tutorial gibt, das die Leute dazu empfehlen würden.
Beginnen Sie mit der Codierung Ihrer Initialisierungsfunktion, unterbrechen Sie dann die Timer und dann die Haupt-while (1) -Schleife? Ich frage mich, wie Sie am besten beginnen können.
Danke
Mein Lieblings-AVR-Tutorial von Grund auf in C ist https://www.mainframe.cx/~ckuethe/avr-c-tutorial/
Jeder hat seinen eigenen Stil für kleine eingebettete Systeme. Hier ist meins:
Ich verwende gerne viele C-Dateien, wobei der Name jeder Datei ein Präfix für Funktionen darstellt. Zum Beispiel
led_init()
undled_tick()
sind beide inled.c
. Dies hält die Dinge modular und hilft bei der Portabilität.Ich verwende eine
common.h
Header-Datei, um Typen zu definieren, aber einzelne Includes für jedes Modul.Ich neige dazu, einen einzelnen Freerunning-System-Timer (in a
systime.c
) zu verwenden und dann Module zu einersystime_get()
Funktion aufrufen zu lassen , um die aktuelle Zeit in System-Ticks oder Millisekunden abzurufen. Jedes Modul kann dann mithilfe derX_tick()
Funktionen Ereignisse über Software-Timer planen .common.h:
uart.h:
uart.c:
led.h:
led.c:
Haupt c:
Hier sind zwei "reale" Projekte, die diesen Stil für AVR und MSP430 verwenden .
quelle