Hallo Ich möchte am Programmanfang alle definierten Variablen auf 0 setzen. In Assenbler macht man das ja, indem man indirekt adressiert den RAM auf 0 setzt. Wie macht man das mit dem C18 Compiler, ohne jede C Variable einzeln anzufassen? Ich würde also einfach den GESAMTEN RAM z.B. eines 18F2620 auf 0 setzen wollen. Der geht ja über mehrere Pages... Wie genau mache ich sowas mit dem C18 Compiler? Danke und Gruß Thomas
In C muß das jeder Compiler automatisch machen. Alle globalen Variablen sind 0, wenn Du nichts anderes angibst. Nur lokale, nicht statische Variablen sind bei jedem Funktionseintritt zufällig. Peter
Hi Komisch, ich habe global in "udata" Bitfelder definiert und die Bits sind nach Programmstart gesetzt. Da steht teilweise FF drin. Da muß ich aber nochmal genau nachschauen, was da passiert.... Gruß Thomas
Es könnte sein, daß Dein Compiler nicht der Norm (ISO/IEC 9899) entspricht, die für C-Compiler gilt. Dieser Standard wird oft auch C99 genannt. Peter
Gast
#2280103
schau dir mal das linker-scriptan, da wird das eingestellt
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.