Hallo, ich habe folgendes Problem:
Ich habe eine LED am PORTB PB0 welche wenn der Ausgang gesetzt ist NICHT
leuchtet.
Bei meinem Programm wird anfangs der Watchdog gesetzt anschließend
werden die Ports gesetzt und dann der Prozessor abgeschaltet.
1 | int main( void )
|
2 | {
|
3 | wdt_enable(WDTO_120MS); //Watchdog akivieren
|
4 | clock_prescale_set(clock_div_2);
|
5 | DDRB = 0b00010111;
|
6 | PORTB = 0b11101101;
|
7 |
|
8 | sleep_mode();
|
Das Problem ist, dass beim initialisieren des Portes immer ein Peak
entsteht, der wenn man das selbe in Assembler schreibt, bei der ASM
Variante "ASM noPeak" nicht entsteht.
//ASM noPeak
/*
ldi TEMP , 0b00010111
ldi _TEMP , 0b11101101
out PORTB , _TEMP
out DDRB , TEMP ; Port B initialisieren
*/
//ASM Peak
/*
ldi TEMP , 0b00010111
out DDRB , TEMP ; Port B initialisieren
ldi _TEMP , 0b11101101
out PORTB , _TEMP
*/
Gibt es eine Möglichkeit das Port in C so zu intialisieren ,dass dieser
Peak ebenfalls nicht entsteht?
Danke Norton