Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
microcontrollertechnik:vorgaben_fuer_die_softwareentwicklung [2022/02/26 02:49]
tfischer
microcontrollertechnik:vorgaben_fuer_die_softwareentwicklung [2024/06/20 00:25] (aktuell)
mexleadmin [Bewertung]
Zeile 34: Zeile 34:
                  AVR-USB-PROGI Ver. 2.0                  AVR-USB-PROGI Ver. 2.0
  
-Software:        Atmel Studio Ver. 7.0.1417+Software:        Microchip Studio Ver. 7.0.1417
  
 Funktion:        Diese Programm sol eine einfaches Beispiel der Ein- und Ausgabe am MiniMEXLE sein. Funktion:        Diese Programm sol eine einfaches Beispiel der Ein- und Ausgabe am MiniMEXLE sein.
Zeile 61: Zeile 61:
  
 =============================================================================*/ =============================================================================*/
-</code>+</sxh>
  
 ++++ ++++
Zeile 156: Zeile 156:
 ++++Beispiel für Konstanten| ++++Beispiel für Konstanten|
  
 +{{tablelayout?tableSort=1&tableSearch=1}}
 |<fc #800000>**SCHLECHT**</fc>| <sxh c; first-line: 1> |<fc #800000>**SCHLECHT**</fc>| <sxh c; first-line: 1>
 // Konstanten // Konstanten
Zeile 203: Zeile 204:
   * Variablen beginnen mit Kleinbuchstaben.   * Variablen beginnen mit Kleinbuchstaben.
   * Falls Sie aus mehreren Wörtern zusammengefügt sind, so werden die folgenden Wörter **ohne Unterstrich**  direkt angefügt, aber groß geschrieben. Dies wird auch als "BinnenMajuskel" oder "camelCase" bezeichnet.   * Falls Sie aus mehreren Wörtern zusammengefügt sind, so werden die folgenden Wörter **ohne Unterstrich**  direkt angefügt, aber groß geschrieben. Dies wird auch als "BinnenMajuskel" oder "camelCase" bezeichnet.
-  * Vermeiden Sie zu allgemeine Namen, wie anzahl, uebergabewert oder string. Sinnvoller sind Namen, wie anzahlBuchstaben, stunden, ausgabeString. Durch die Autovervollständigung (Vorschläge unter dem eingegebenen Text) sind auch längere Namen schnell einzugeben, bzw mit Cursortasten und TAB auswählbar.+  * Vermeiden Sie zu allgemeine Namen, wie anzahl, uebergabewert oder string. Sinnvoller sind Namen, wie ''anzahlBuchstaben''''stunden''''ausgabeString''. Durch die Autovervollständigung (Vorschläge unter dem eingegebenen Text) sind auch längere Namen schnell einzugeben, bzwmit Cursortasten und TAB auswählbar.
   * Nutzen sie auch bei Zählvariablen aussagekräftige Namen.   * Nutzen sie auch bei Zählvariablen aussagekräftige Namen.
-  * Auch kann eine zu allgemeine Deklaration kann zu Problemen führen. Schlecht ist z.B. "int a;"+  * Auch kann eine zu allgemeine Deklaration kann zu Problemen führen. Schlecht ist z.B. ''int a;''
-  * Es bietet sich an bei der Definition bereits zu initialisieren. Gut ist also "bool a=1;".+  * Es bietet sich an bei der Definition bereits zu initialisieren. Gut ist also ''bool a=1;''.
 ++++Beispiel für Variablen| ++++Beispiel für Variablen|
  
Zeile 274: Zeile 275:
     return 0;     return 0;
 } }
-</sxh>      In diesem Beispiel wäre der Funktionsname schluesselPosition statt schluesselPositionFinden auch geeignet gewesen.  \\ Weiterhin bietet es sich an hier auch einen Zeiger auf das Array und die Werte für erste und letzte Position als Parameter der Funktion zu übergeben, um diese flexibler anwenden zu können.  |+</sxh>      In diesem Beispiel wäre der Funktionsname ''SchluesselPosition'' statt ''schluesselPositionFinden'' auch geeignet gewesen.  \\ Weiterhin bietet es sich an hier auch einen Zeiger auf das Array und die Werte für erste und letzte Position als Parameter der Funktion zu übergeben, um diese flexibler anwenden zu können.  |
  
 ++++ ++++
Zeile 441: Zeile 442:
 ... ...
     switch(i) {     switch(i) {
-        case 126...9 : doOne;   break;    // Einzelne Zahlen können mit Komma getrennt und Gruppen mit '...' kombiniert werden +        case 1
-        case 3:            doThree;           // ohne Break werden alle folgenden Befehle bis zum nächsten Break ausgeführt+        case 2:                               // Einzelne Zahlen können mit case's untereinander ... 
 +        case 6 ... 9:      doOne;   break;    // ... und Gruppen mit '...' kombiniert werden 
 +        case 3:            doThree;           // Ohne Break werden alle folgenden Befehle bis zum nächsten Break ausgeführt
         case 4:            doFour;                     case 4:            doFour;            
         case 5:            doFive;          case 5:            doFive; 
Zeile 621: Zeile 624:
 ++++ ++++
  
-  * _delay_ms() und _delay_us() sind zu 99% nicht notwendig. Verwenden Sie stattdessen Interrupts, bzw. Timer. Es können z.B. durch Interrupts Takte angelegt werdentakt10ms, takt100ms, takt1s. Diese können dann im main() Verzweigungen in einer Zustandsmaschine auslösen.+  * _delay_ms() und _delay_us() sind zu 99% nicht notwendig. Verwenden Sie stattdessen Interrupts, bzw. Timer. \\ Es sollten durch Interrupts Takte angelegt werden, z.B. takt10ms, takt100ms, takt1s welche nur im ''main()'' abgefragt werden.  
 +  * Häufig bietet es sich an, in den Takten dann auch Verzweigungen in einer Zustandsmaschine aufzubauen (z.B. mit Zustandsvariablen wie ''outputState'': ''<nowiki>switch(outputState) {case initOutput: outputState++; ... break; case startOutput: outputState++; ... break; }</nowiki>'').
   * Wenn Sie Zahlen in Variablen speichern und diese auch mathematisch weiterverwenden, so wandeln Sie diese Variable erst bei der Ausgabe in das ASCII-Format um.   * Wenn Sie Zahlen in Variablen speichern und diese auch mathematisch weiterverwenden, so wandeln Sie diese Variable erst bei der Ausgabe in das ASCII-Format um.
 ++++Beispiel für Variablen mit Ausgabe| ++++Beispiel für Variablen mit Ausgabe|
Zeile 651: Zeile 655:
 ====== Bewertung ====== ====== Bewertung ======
  
-Zur Bewertung lege ich {{microcontrollertechnik:bewertung_ws21_prjxx.xlsx|diese Checkliste (xls-File)}} als Maßstab an.+Zur Bewertung lege ich {{microcontrollertechnik:bewertung_ss24_prj99.xlsx|diese Checkliste (xls-File)}} als Maßstab an.