Problem s Atmega8
Moderátor: Moderátoři
Problem s Atmega8
Dobrý deň, som začiatočník s programovaním AVR, mám Atmega8 a programátor biprog, programujem v AVR studiu.
Včera sa mi podarilo rozbehať prvý program(blikač), potom som všetko vypol a dnes ráno keď som všetko zase pozapájal, napísal si nový program(iná varianta blikača), dal som build a nahrať do Atmegy, diodky prestali blikať(bol tam stále ten program zo včera), akoby sa tam niečo nahralo, ale stále to je ten istý program zo včera. Vôbec mi tam nechce nahrať nečo iné, stále beži to isté zo včera.
Neviete v čom by mohol byť problém?
Ďakujem
Včera sa mi podarilo rozbehať prvý program(blikač), potom som všetko vypol a dnes ráno keď som všetko zase pozapájal, napísal si nový program(iná varianta blikača), dal som build a nahrať do Atmegy, diodky prestali blikať(bol tam stále ten program zo včera), akoby sa tam niečo nahralo, ale stále to je ten istý program zo včera. Vôbec mi tam nechce nahrať nečo iné, stále beži to isté zo včera.
Neviete v čom by mohol byť problém?
Ďakujem
Ták konečne som na to došiel, AVR studio ma akosi po založení nového projektu stále odkazovalo na .hex súbor projektu zo včera, a ten nahrávalo do Atmegy. Keďže s tým začínam postupne dochádzam na nastavenia programu. Podľa mňa je to nejaký bug, noo nič nieje dokonalé. Bol by som rád, keby že mi niekto čo má skúsenosti s AVR studiom napísal či sa to dá nejak nastaviť aby sa to menilo automaticky.
U mě je to samé, i když mám nový projekt, stejně mi to háže ten starý (když to nepřepíšu)
Pokud něco chcete a neodpovídám,pošlete SZ ![Smile :)](./images/smilies/icon_smile.gif)
https://chiptron.cz - novinky ze světa elektro (Arduino, Raspberry Pi, ESP8266, STM32, ESP32...)
Peťus
![Smile :)](./images/smilies/icon_smile.gif)
https://chiptron.cz - novinky ze světa elektro (Arduino, Raspberry Pi, ESP8266, STM32, ESP32...)
Peťus
Já mám asi jiné zkušenosti.
I když jsou v AVR Studiu nějaké mouchy, tak začátečník na ně nemůže prakticky nikdy narazit.
AVR Studio velmi pohodlně překrývá Make soubory, které by začátečníkovi dělaly problémy. Programování je tak velmi pohodlné a intuitivní. Není se třeba ničeho bát, stačí jenom umět číst a myslet... (Ale to je u všeho)
Programátor je samostatná část, která si pamatuje své nastavení. Jméno souboru je vždy uloženo těsně nad tlačítkem "Program" na kartě, která se objeví při spuštění programátoru. Je to dostatečně viditelné...
Autoři možná počítali s tím, že někdo bude vícekrát pálit výsledek své včerejší práce a zatím už postupně pracovat na novém projektu
- to je prostě produktivita práce ![Very Happy :D](./images/smilies/icon_biggrin.gif)
I když jsou v AVR Studiu nějaké mouchy, tak začátečník na ně nemůže prakticky nikdy narazit.
![Wink :wink:](./images/smilies/icon_wink.gif)
AVR Studio velmi pohodlně překrývá Make soubory, které by začátečníkovi dělaly problémy. Programování je tak velmi pohodlné a intuitivní. Není se třeba ničeho bát, stačí jenom umět číst a myslet... (Ale to je u všeho)
Programátor je samostatná část, která si pamatuje své nastavení. Jméno souboru je vždy uloženo těsně nad tlačítkem "Program" na kartě, která se objeví při spuštění programátoru. Je to dostatečně viditelné...
Autoři možná počítali s tím, že někdo bude vícekrát pálit výsledek své včerejší práce a zatím už postupně pracovat na novém projektu
![Very Happy :D](./images/smilies/icon_biggrin.gif)
![Very Happy :D](./images/smilies/icon_biggrin.gif)
No narazil som na pre mňa nevysvetliteľný problém(typický začiatočník)
Mám program, 2 tlačítka, 2 diódy. Ak mám v prvých dvoch podmienkách tl==0 a ta==0 všetko funguje ako má, stlačím tlačítko a diódy svietia. Ale ak zmením podmienky na tl==1 a ta==1 zasvieti a reaguje iba dióda určená tlačítku tl. tlačítka mám zapojené na 5V cez rezistor a stlačením ho vyskratujem na GND. V čom môže byť problém?
Zdroják :
int main( void )
{
#define tl (PINB & (1<<PB1))
#define ta (PINB & (1<<PB0))
char a=0,b=0;
DDRB = 0b00000000;
DDRC = 0b00000111;
while(1)
{
if (tl==1)
{
a=1;
}
else a=0;
if (ta==1)
{
b=1;
}
else b=0;
if(a==1)
{
PORTC = 0b00000001;
a=0;
}
else
{
PORTC = 0b00000000;
}
if(b==1)
{
PORTC = 0b00000010;
b=0;
}
else
{
PORTC = 0b00000000;
}
}
return 0;
}
Mám program, 2 tlačítka, 2 diódy. Ak mám v prvých dvoch podmienkách tl==0 a ta==0 všetko funguje ako má, stlačím tlačítko a diódy svietia. Ale ak zmením podmienky na tl==1 a ta==1 zasvieti a reaguje iba dióda určená tlačítku tl. tlačítka mám zapojené na 5V cez rezistor a stlačením ho vyskratujem na GND. V čom môže byť problém?
Zdroják :
int main( void )
{
#define tl (PINB & (1<<PB1))
#define ta (PINB & (1<<PB0))
char a=0,b=0;
DDRB = 0b00000000;
DDRC = 0b00000111;
while(1)
{
if (tl==1)
{
a=1;
}
else a=0;
if (ta==1)
{
b=1;
}
else b=0;
if(a==1)
{
PORTC = 0b00000001;
a=0;
}
else
{
PORTC = 0b00000000;
}
if(b==1)
{
PORTC = 0b00000010;
b=0;
}
else
{
PORTC = 0b00000000;
}
}
return 0;
}