ich schau mir das heute nochmal in aller ruhe an
Heist ich sach ihm if(portxy=1) then port(z)== 1 (hiernur stilisiert) und klick dann port xy an und sehe ds port z ebenfalls ein schwarzes kästchen (=1) bekommt
Ich hatte gehofft auch testen zu können wie sich PWM und I²C verhalten. Das wird da etwas schwerer aber fürn anfang reichts danke
edit
Code:
#include <avr/io.h>
#include <inttypes.h>
#ifndef F_CPU
#define F_CPU 3686400UL /*Quarz mit 3.6864 Mhz */
#endif
#include <avr/delay.h> /* definiert _delay_ms() */
/* Einfache Funktion zum Entprellen eines Tasters */
inline uint8_t debounce(volatile uint8_t *port, uint8_t pin)
{
if ( ! (*port & (1 << pin)) )
{
/* Pin wurde auf Masse gezogen, 100ms warten */
_delay_ms(100);
if ( ! (*port & (1 << pin)) )
{
/* Anwender hat Zeit zum Loslassen des Tasters gegebn */
_delay_ms(100);
return 1;
}
}
return 0;
}
int main(void)
{
DDRB &= ~( 1 << PB0 ); /* PIN PB0 auf Eingang (Taster) */
PORTB |= ( 1 << PB0 ); /* Pullup-Widerstand Aktivieren */
if (debounce(&PINB, PB0)) /* Falls Taster an PIN PB0 Gedrückt */
{
PORTD = PIND ^ ( 1 << PD7 ); /* LED an PinD7 an bzw ausschalten */
}
PORTB = (1<<PB4);
}
sollte hier nich zumindest Pin4 an PortB = 1 sein? Dauerhaft?
Code:
c:/winavr/bin/../avr/include/avr/delay.h:36:2: warning: #warning "This file has been moved to <util/delay.h>."
../io.c: In function 'main':
../io.c:40: warning: control reaches end of non-void function
und warum passt ihm das nich?
Also in der Simulation wird nichts 1 und hat auch nich den Status 1.. infoquelle ist das AVR GCC Tutorial, da is auch der code her
Lesezeichen