Heute habe ich begonnen, meine PICs mit MPLAB X zu programmieren, und eine Codevorlage mit mehreren Dateien und Stellen zum Ausfüllen von Code gefunden. Bevor ich eine einzelne Datei mit meinem Code darin hatte. In dieser Vorlage, in der ich meine Konfigurationsbits ablegen soll, befindet sich folgender Text:
/* TODO Fill in your config bits here. Remove #if 0 to embed config words. */
#if 0
/* General syntax for configuration word 1 - Check your device .h file
for an up to date listing of available macros.*/
__CONFIG(FOSC_INTOSC & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & BOREN_OFF);
/* If the device has multiple configuration words, the second macro defines
the second configuration word. Again check your device .h file
for an up to date listing of available macros. */
__CONFIG(WRT_OFF & PLLEN_OFF & STVREN_OFF & BORV_19 & LVP_OFF);
#endif
Ich verstehe nicht wirklich, was das "Entfernen von #if 0, um Konfigurationswörter einzubetten" ist. bedeutet ... Das ist wahrscheinlich etwas wirklich Einfaches. Ich habe versucht zu googeln und das Compiler-Handbuch zu durchsuchen, aber keine guten Ergebnisse erzielt. Soweit ich verstehen kann, wird der Code zwischen #if 0 und #endif nie kompiliert. Was bedeutet diese Einbettung? Hat es etwas mit dem Setzen der Konfigurationsbits im Code im Vergleich zu danach zu tun?
/* */
wird nicht verschachtelt. Wenn Sie also einen großen Codeblock umgeben/* */
, in dem bereits ein/* */
Kommentar enthalten ist, wird das Ganze nicht korrekt auskommentiert. Ein sauberer Ansatz für diese Bibliothek wäre jedoch gewesen,#if defined EMBED_CONFIG_WORDS
anstelle von#if 0
und dann (möglicherweise in einer separaten Konfigurationsdatei oder so etwas) eine Zeile wie//#define EMBED_CONFIG_WORDS
mit einem Kommentar zu verwenden, der besagt: "