coCo
11.09.2006, 14:18
Hi,
ich hab mal angefangen meinen Mega32 mit C zu programmieren. Jetzt hab ich aber schon ein paar Probleme die ich net lösen kann :(
Ich wollt ein Blinklicht machen und habe folgendes "produziert":
#include <avr/io.h>
#include <avr/delay.h>
int main(void)
{
DDRC |= (1<<PC0);
while(1) {
PORTC |= (1<<PC0);
_delay_ms(100);
PORTC &= ~(1<<PC0);
_delay_ms(100);
}
}
Die LED blinkt zwar, aber so schnell, dass man es kaum sieht. Auch wenn ich den Parameter von _delay_ms() auf 1000 ändere, passiert nix auf dem steckbrett-.-
Und noch eine andere Frage: Auf mikrocontroller.net hab ich gelesen, dass man einen Pin folgendermaßen auf Ausgang schalten kann:
DDRC |= (1<<PC0);
Mit PORTC |= (1<<PC0); kann man den Pin dann auf High setzen und mit PORTC &= ~(1<<PC0); wieder auf Low, bei mir is das aber genau umgekehrt. Woran könnte das liegen?
MfG
ich hab mal angefangen meinen Mega32 mit C zu programmieren. Jetzt hab ich aber schon ein paar Probleme die ich net lösen kann :(
Ich wollt ein Blinklicht machen und habe folgendes "produziert":
#include <avr/io.h>
#include <avr/delay.h>
int main(void)
{
DDRC |= (1<<PC0);
while(1) {
PORTC |= (1<<PC0);
_delay_ms(100);
PORTC &= ~(1<<PC0);
_delay_ms(100);
}
}
Die LED blinkt zwar, aber so schnell, dass man es kaum sieht. Auch wenn ich den Parameter von _delay_ms() auf 1000 ändere, passiert nix auf dem steckbrett-.-
Und noch eine andere Frage: Auf mikrocontroller.net hab ich gelesen, dass man einen Pin folgendermaßen auf Ausgang schalten kann:
DDRC |= (1<<PC0);
Mit PORTC |= (1<<PC0); kann man den Pin dann auf High setzen und mit PORTC &= ~(1<<PC0); wieder auf Low, bei mir is das aber genau umgekehrt. Woran könnte das liegen?
MfG