Dobrý večer, prosím Vás o radu:
Mám tento program, který má pouze svítit s diodou, ne blikat, pouze svítit.
Nefunguje mi to, poradí mi prosím někdo?
#include <avr/io.h>
void delay(unsigned int num)
{
unsigned int i,j;
for (j = 0; j < 1000; j++)
for (i = 0; i < num; i++)
;
}
int main (void)
{
DDRB == _BV(PB0); // DDR = "Data Direction Register"
PORTB == ~(_BV(PB0));
}
Děkuji
bony
Fórum › Mikrokontroléry
Pouze svit diody v ATmega8
NETmane, ahoj, děkuji....
no...nedela to nic, nesviti, neblika, nic...
tento program mi blika s diodou, to je ok:
#include <avr/io.h>
void delay(unsigned int num)
{
unsigned int i,j;
for (j = 0; j < 1000; j++)
for (i = 0; i < num; i++)
;
}
int main (void)
{
DDRB |= _BV(PB0); // DDR = "Data Direction Register"
while (1)
{
PORTB &= ~(_BV(PB0));
delay(500);
PORTB |= _BV(PB0);
delay(500);
}
return 0;
}
ale jak to udelat, aby dioda jen a stale svitila, prosim moc moc o Radu.....
dekuji
no skus to zapojit bez procesora...
ale nie skus odtial vyhodit to delay alebo jedno s tychto 2riadkov
PORTB &= ~(_BV(PB0));
delay(500);
PORTB |= _BV(PB0);
delay(500);
neviem ktory presne aspon si teda myslim
alebo teda skus ten delay nastavit na 10 malo by to blikat tak rychlo ze by si to ani nemal vidiet
s tim delay ano, ale neni to profi, ted zkousim neco jako:
#include <avr/io.h>
void stop()
{
while (1);
}
void main()
{
_BV(PB0)==0xFE;
stop();
}
ale nejde to, i kdyz vyndam jeden z tech radku, tak to nejde....chjo
Tak, teď jsem zkoušel tento program:
a nic se neděje..dioda nesvítí i když jsem upravil == na =
Prosím o raduuuu
#include <avr/io.h>
void stop()
{
while (1);
}
void main()
{
DDRB |= _BV(PB0);
PORTB = 0xFE;
stop();
}
To bony : super ze ti to ide ale ak pouzivate ten program hore tak to mate zbytocne komplikovane asi by stacilo iba:
#include <avr/io.h>
int main (void)
{
DDRC |= (1 << PC0); //nastavenie output portu PortC 0
for (;;) {
PORTC |= (1 << PC0); // vysle na portC log. 1
}
return 0;
}
tento program zabere urcite menej pamate ako ten vas a kludne by nemusela byt pouzita nekonecna slucka s pouzitim for(;;) ... ak to ma len svietit. Ale to len taky dodatok k tejto teme.
Ahoj,
řeším podobný problém, diodě se nechce blikat :).
Používám čip atmega16, který mám s napájením napojený na avr-dragon.
Budu rád, když mě s tím někdo poradí, ale daleko raději bych byl, kdyby mě někdo nasměroval na nějaké stránky(i zahraniční), nebo doporučil v hodnou literaturu, doma mám knížky ben(C pro mikrokontrolery, práce s mikrokontrolery atmel avr ATmega16 a popis procesorů a instrukčních souborů), ale je to jako, kdybych je začal číst od zadu. V Cčku se dobře pohybuju, ale co se týče přístupu k mikrokontroleru, nevím o tom vůbec nic (co je todle: &= ~ a |= _).
Jsem ztoho velmi nervní, nikde jsem nedokázal najít informace, které by mě pomohli se dál pohnout, mořím se s tím více než měsíc a jenom připojení bylo pro mě velkým problémémem. Kdyby byl někdo ochotný mě věnovat chvilku času, tak tady přikládám icq: 224284590.
Tady je kód:
#include <avr/io.h>
void delay(unsigned int num)
{
unsigned int i,j;
for (j = 0; j < 1000; j++)
for (i = 0; i < num; i++)
;
}
int main (void)
{
DDRB |= _BV(PB0); // DDR = "Data Direction Register"
while (1)
{
PORTB &= ~(_BV(PB0));
delay(500);
PORTB |= _BV(PB0);
delay(500);
}
return 0;
}
Mockrát díky.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Pomalé rozsvícení diody BASCOM — založil Kamil
ATmega8 a tlačítko — založil bony
ATMEGA8 a interrupt v C — založil pavelt
Atmega8 časovač2 — založil Pavol007
Atmega8 a FT230X — založil Mol
Moderátoři diskuze