 |
Forumas » Elektronika žaliems » apie atmega 16
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
 |
apie atmega 16 |
Parašytas: 2015 07 12, 21:52 |
|
|
|
|
| hencia rašo: |
| *Ričardas rašo: |
| Jep... Atsiprašau, geras pastebėjimas, perlenkiau. Bet esmė išlieka ta pati. |
Beje, negalima naudoti funkcijos _delay_ms(i); su kintamuoju - tikrai neveiks. O reikia naudoti, kaip *Ričardas parašė (su for) |
Todel kad toj vietoj irasius kintamaji i velinimo funkcija taptu progresine, kas is esmes yra kvaila. Bet nereiskia, kad visai neveiktu. |
|
|
|
|
|
 |
apie atmega 16 |
Parašytas: 2015 07 13, 13:50 |
|
|
|
|
| Socrates rašo: |
| hencia rašo: |
| *Ričardas rašo: |
| Jep... Atsiprašau, geras pastebėjimas, perlenkiau. Bet esmė išlieka ta pati. |
Beje, negalima naudoti funkcijos _delay_ms(i); su kintamuoju - tikrai neveiks. O reikia naudoti, kaip *Ričardas parašė (su for) |
Todel kad toj vietoj irasius kintamaji i velinimo funkcija taptu progresine, kas is esmes yra kvaila. Bet nereiskia, kad visai neveiktu. |
Jei gerai pamenu GCC tiesiog nekompiliuoja... Taip, kad neveiktų. |
|
_________________ Nėra geriau už IBM/Lenovo ThinkPad! |
|
|
|
 |
 |
apie atmega 16 |
Parašytas: 2015 07 13, 15:01 |
|
|
|
|
| *Ričardas rašo: |
| Socrates rašo: |
| hencia rašo: |
| *Ričardas rašo: |
| Jep... Atsiprašau, geras pastebėjimas, perlenkiau. Bet esmė išlieka ta pati. |
Beje, negalima naudoti funkcijos _delay_ms(i); su kintamuoju - tikrai neveiks. O reikia naudoti, kaip *Ričardas parašė (su for) |
Todel kad toj vietoj irasius kintamaji i velinimo funkcija taptu progresine, kas is esmes yra kvaila. Bet nereiskia, kad visai neveiktu. |
Jei gerai pamenu GCC tiesiog nekompiliuoja... Taip, kad neveiktų. |
Idomu tada kokia klaida ismeta? |
|
|
|
|
|
 |
 |
apie atmega 16 |
Parašytas: 2015 07 13, 22:19 |
|
|
|
|
| hencia rašo: |
| *Ričardas rašo: |
| Jep... Atsiprašau, geras pastebėjimas, perlenkiau. Bet esmė išlieka ta pati. |
Beje, negalima naudoti funkcijos _delay_ms(i); su kintamuoju - tikrai neveiks. O reikia naudoti, kaip *Ričardas parašė (su for) |
Ir iš kur gi tokia informacija?
Ką tik pabandžiau vietoje konstantos kintamąjį įrašyti. Ir kompiliuojasi, ir viskas korektiškai veikia. Aišku, programa visai kita. Mikrovaldiklis ATMEGA16A-AU, kompiliatoriaus versija avr8-gnu-toolchain-3.4.5.1522. |
|
|
|
|
|
 |
 |
apie atmega 16 |
Parašytas: 2015 07 14, 12:00 |
|
|
|
|
| gintaras_bar rašo: |
| hencia rašo: |
| *Ričardas rašo: |
| Jep... Atsiprašau, geras pastebėjimas, perlenkiau. Bet esmė išlieka ta pati. |
Beje, negalima naudoti funkcijos _delay_ms(i); su kintamuoju - tikrai neveiks. O reikia naudoti, kaip *Ričardas parašė (su for) |
Ir iš kur gi tokia informacija? Ką tik pabandžiau vietoje konstantos kintamąjį įrašyti. Ir kompiliuojasi, ir viskas korektiškai veikia. |
- aišku, kad teoriškai C kompiliatorius taip pat perduoda reikšmę į funkciją, nepriklausomai ar ten konstantė ar kintamasis, čia spėju turima galvoje "ilgi int", tuomet aišku, kad jų neperduos teisingai, galima išsisukti tik su vidiniu ciklu (for?).
 |
|
|
|
|
|
 |
 |
apie atmega 16 |
Parašytas: 2015 07 14, 13:01 |
|
|
|
|
| gintaras_bar rašo: |
Ir iš kur gi tokia informacija?
Ką tik pabandžiau vietoje konstantos kintamąjį įrašyti. Ir kompiliuojasi, ir viskas korektiškai veikia. Aišku, programa visai kita. Mikrovaldiklis ATMEGA16A-AU, kompiliatoriaus versija avr8-gnu-toolchain-3.4.5.1522. |
Specialiai išmėginau ir aš. Su WinAVR gcc kompiliuojasi ir viskas veikia, o su AVR Toolchain (iš AVR Studio) - klaida:
| Citata: |
| __builtin_avr_delay_cycles expects a compile time integer constant |
Taip kad jau senai naudoju seną, gerą:
| Kodas: |
void delay_ms( int ms )
{
for (int i = 0; i < ms; i++)
{
_delay_ms(1);
}
} |
|
|
|
|
|
|
 |
apie atmega 16 |
Parašytas: 2015 07 14, 14:22 |
|
|
|
|
| hencia rašo: |
.. su AVR Toolchain (iš AVR Studio) - klaida:
| Citata: |
| __builtin_avr_delay_cycles expects a compile time integer constant |
|
- galiu teigti, kad #include *.h byloje neteisingai aprašyta minima funkcija, argumento tipe nereikia raktažodžio "const".
 |
|
|
|
|
|
 |
apie atmega 16 |
Parašytas: 2015 07 14, 15:14 |
|
|
|
|
| vvv2 rašo: |
| hencia rašo: |
.. su AVR Toolchain (iš AVR Studio) - klaida:
| Citata: |
| __builtin_avr_delay_cycles expects a compile time integer constant |
|
- galiu teigti, kad #include *.h byloje neteisingai aprašyta minima funkcija, argumento tipe nereikia raktažodžio "const".
 |
Na, tas bibliotekas ne aš rašiau, su kitu kompiliatorium naudojamos jo bibliotekos, tai vadinasi AVR Studio Toolchain'e yra klaidų  |
|
|
|
|
|
 |
apie atmega 16 |
Parašytas: 2015 07 14, 16:53 |
|
|
|
|
| vvv2 rašo: |
| hencia rašo: |
.. su AVR Toolchain (iš AVR Studio) - klaida:
| Citata: |
| __builtin_avr_delay_cycles expects a compile time integer constant |
|
- galiu teigti, kad #include *.h byloje neteisingai aprašyta minima funkcija, argumento tipe nereikia raktažodžio "const".
 |
Ten kaiptik teisingai parasyta. Tai yra apsauga nuo durniu, kad nebutu problemu i delay f-ja irasius kintamaji, kuris pries kompiliacija nera zinomas. |
|
|
|
|
|
 |
 |
apie atmega 16 |
Parašytas: 2015 07 15, 15:40 |
|
|
|
|
| hencia rašo: |
Taip kad jau senai naudoju seną, gerą:
| Kodas: |
void delay_ms( int ms )
{
for (int i = 0; i < ms; i++)
{
_delay_ms(1);
}
} |
|
Taigi... Kam ieškoti problemų? Kompiliuoja, nekompiliuoja... Man su avr-gcc ir AVR Studio <delay.h> nekompiliavo, klaidos nepamenu, bet nekompiliavo.
Nelabai ką aš daugiau ir naudoju nei AVR Studio, tad kaip kitur nežinau.
Bet juk visada paprasčiau apsidrausti ir kodą rašyti kiek tik įmanoma "bullet proof"... Plius ir bibliotekos apribojimų nereikia tada paisyti. |
|
_________________ Nėra geriau už IBM/Lenovo ThinkPad! |
|
|
|
 |
 |
apie atmega 16 |
Parašytas: 2015 07 15, 15:56 |
|
|
|
|
| Socrates rašo: |
| Ten kaiptik teisingai parašyta. Tai yra apsauga nuo durnių, kad nebūtų problemų įrašius kintamąjį, kuris nėra žinomas. |
- Paprastai tokiu atveju C/C++ tradicija Jums pareikšti pastabą (warning) apie neapibrėžtą kintamąjį..
p.s.
.. panašaus lygio "nesąmonę" nuo durnių padarė ir ms, į naują VS C++ įdėjo masyvo ribų tikrinimą vykdymo metu "pagal nutylėjimą", teko kažkiek pasikankinti, kol radau sukietėjimo priežastį..
 |
|
|
|
|
|
 |
 |
apie atmega 16 |
Parašytas: 2015 07 15, 16:24 |
|
|
|
|
| vvv2 rašo: |
| Socrates rašo: |
| Ten kaiptik teisingai parašyta. Tai yra apsauga nuo durnių, kad nebūtų problemų įrašius kintamąjį, kuris nėra žinomas. |
- Paprastai tokiu atveju C/C++ tradicija Jums pareikšti pastabą (warning) apie neapibrėžtą kintamąjį..
p.s.
.. panašaus lygio "nesąmonę" nuo durnių padarė ir ms, į naują VS C++ įdėjo masyvo ribų tikrinimą vykdymo metu "pagal nutylėjimą", teko kažkiek pasikankinti, kol radau sukietėjimo priežastį..
 |
Teisingai MS daro, o tai paskui lipa atmintys viena ant kitos ir luzta viskas. Jei nori daryt dinamiskai - naudok rodykles ir susideliok apsaugas pats  |
|
|
|
|
|
 |
 |
apie atmega 16 |
Parašytas: 2015 08 23, 02:04 |
|
|
|
|
| *Ričardas rašo: |
| a1girdas rašo: |
| Citata: |
| o viduj ten yra koks 8MHz RC su dalikliu is 8 |
tai jam išvis dzin, kas ten išorėje: ar 4Mhz, ar kas tik nori.
bet man kitkas keista: konstruktorius įsigijo ir naudoja atmega, bet nežino, ar viduje gaminamas taktas, ar išorėje. kaip taip gali būti? juk čipas su vidiniu rezonatoriummi ir kainuoja geroookai kitaip ir markiruojamas atitinkamai, argi ne? |
ATmega serija beveik visos turi vidinį taktinį generatorių (net tiesa pasakius nebuvau susidūręs, kuri neturėtų), ATtiny serija irgi dauguma turi. Kainos jų dėl to nė kiek ne didesnės.
|
Parodyk man attiny kuris naudoja isorini kvarca ? |
|
|
|
|
|
 |
apie atmega 16 |
Parašytas: 2015 08 23, 11:51 |
|
|
|
|
| Attiny 2313. durneli tu. Kol Superis nedalino patarimu galima buvo ji ignoruot, bet dabar manau reiktu kazka organizuot ir blokuot ji, visgi pastoviai neteisingi patarimai niekam naudos neatnes, o zalos gali... |
|
|
|
|
|
 |
apie atmega 16 |
Parašytas: 2015 08 23, 18:34 |
|
|
|
|
| dusiata rašo: |
| Attiny 2313. durneli tu. Kol Superis nedalino patarimu galima buvo ji ignoruot, bet dabar manau reiktu kazka organizuot ir blokuot ji, visgi pastoviai neteisingi patarimai niekam naudos neatnes, o zalos gali... |
Parodyk atmega kuri neturi vidinio generatorio |
|
|
|
|
|
|
 |
Google paieška forume |
|
|
 |
Naujos temos forume |
|
 |
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
 |
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
 |
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
 |
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
 |
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
 |
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
 |
ATS Trailers
American Truck Simulator Mods,
ATS Trucks,
ATS Maps |
 |
RDR2 Mods
Euro Truck Simulator 2 Mods,
WOT Mods,
RDR2 Maps |
|