 |

|
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2025 12 19, 12:50. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Mikrovaldikliai » Atmega8L projektas - problemos
|
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
|
|
|
Puslapis 2 iš 2 Pereiti prie Atgal 1, 2 |
|
 |
Atmega8L projektas - problemos |
Parašytas: 2015 01 05, 17:06 |
|
|
|
|
| XgN rašo: |
| Pakeičiau dažnį į vidinį 8MHz, atitinkamai fuses nustačiau. Kompilinant išmeta warning'ų. Įrašius hex nieko naujo. Net LED neužsižiebia. Nei pirmam nei antram projekte. |
Tik nepostink cia warningu, nes paskui tau dar patars kas ka naudingo netycia! |
|
|
|
|
|
 |
 |
Atmega8L projektas - problemos |
Parašytas: 2015 01 05, 17:20 |
|
|
|
|
Šiuo atveju būtų labai naudinga
| Kodas: |
Compiling C: MIRRemote.c
avr-gcc -c -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./MIRRemote.lst -std=gnu99 -MMD -MP -MF .dep/MIRRemote.o.d MIRRemote.c -o MIRRemote.o
In file included from MIRRemote.c:51:
remote.h:29: warning: function declaration isn't a prototype
remote.h:30: warning: function declaration isn't a prototype
MIRRemote.c:56: warning: function declaration isn't a prototype
MIRRemote.c:63: warning: function declaration isn't a prototype
MIRRemote.c:62: warning: return type of 'main' is not 'int'
Compiling C: remote.c
avr-gcc -c -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./remote.lst -std=gnu99 -MMD -MP -MF .dep/remote.o.d remote.c -o remote.o
In file included from remote.c:56:
remote.h:29: warning: function declaration isn't a prototype
remote.h:30: warning: function declaration isn't a prototype
remote.c:127: warning: function declaration isn't a prototype
remote.c: In function 'RemoteInit':
remote.c:131: warning: array subscript has type 'char'
remote.c: In function '__vector_1':
remote.c:337: warning: array subscript has type 'char'
remote.c: At top level:
remote.c:358: warning: function declaration isn't a prototype
remote.c: In function 'ResetIR':
remote.c:360: warning: array subscript has type 'char'
remote.c: In function 'GetRemoteCmd':
remote.c:378: warning: array subscript has type 'char' |
|
|
|
|
|
|
 |
 |
Atmega8L projektas - problemos |
Parašytas: 2015 01 05, 17:45 |
|
|
|
|
Sitie warningai nepanasu, kad turetu itakos proco pasileidimui ir veikimui. Gali veikti blogai, bet veikti.
Anyway, stai koks dziaugsmas su AVR, kai neturi JTAG'o ir debugerio  |
|
|
|
|
|
 |
 |
Atmega8L projektas - problemos |
Parašytas: 2015 01 05, 18:31 |
|
|
|
|
XgN - kaip matai, teks pačiam programos kode "knistis", nes niekas kitas nepageidauja ten klaidų ieškoti (aš taip pat). Tai tik pritariu idėjai programą derinti gabalais, įterpiant ir savo testinį kodą - pvz. "patabaluoti" kurį nors išėjimą maždaug 1Hz dažniu. Tokiu būdu gali gana sėkmingai pasitikrinti kur programa "šokinėja", kurios paprogramės veikia arba ne ir t.t.
| Socrates rašo: |
Anyway, stai koks dziaugsmas su AVR, kai neturi JTAG'o ir debugerio  |
Dirbu su AVR beveik 20 metų, turiu kelis JTAG tool'sus, bet nei karto man jų neprireikė
Išvado "patabalavimas", informacijos išvedimas per UART (tiek hardvarinį, tiek softvarinį) veikia kur kas efektyviau, nei visokie debugeriai. Ypač kaip dirbi su realaus laiko sistemomis, kur pagrindinės programos stabdyti negalima arba ją sustabdžius viskas susijaukia. Be to kaip derinti optimizuotą mašininį kodą, kuris nuo pradinio C kodo skiriasi kaip diena ir naktis??? |
|
|
|
|
|
 |
 |
Atmega8L projektas - problemos |
Parašytas: 2015 01 05, 19:02 |
|
|
|
|
Debugerio prireikia, kai darai kazka rimtesnio, nei kad parasymas i UART'a ar LED'uku pablyksinimas. Kai prasideda dideli kiekiai informacijos atminty, kruva pointeriu, DMA ir panasiai, tai tik su debugeriu gali pagaut kas ir kur atsiranda. Tiesiog smulkiuose hobistiniuose darbeliuose to nereikia, bet tai nereiskia, kad siuo atveju debugeris nepadetu.
O ir siaip... rasinet papildoma kodo gabala, kad pamatyt, jog isvadas veikia? 2015 metais?  |
|
|
|
|
|
 |
 |
Atmega8L projektas - problemos |
Parašytas: 2015 01 05, 20:35 |
|
|
|
|
Atsiprašau už offtopiką, aš tik patikslinsiu savo mintį ir daugiau šios temos netęsiu.
| Socrates rašo: |
| Debugerio prireikia, kai darai kazka rimtesnio, nei kad parasymas i UART'a ar LED'uku pablyksinimas. Kai prasideda dideli kiekiai informacijos atminty, kruva pointeriu, DMA ir panasiai, tai tik su debugeriu gali pagaut kas ir kur atsiranda. Tiesiog smulkiuose hobistiniuose darbeliuose to nereikia, bet tai nereiskia, kad siuo atveju debugeris nepadetu. |
Aš nekalbu apie ARM'us, ten be debugerio tikrai būtų riesta. Aš kalbu apie Atmelio AVR'us, kur nėra jokių DMA (tiesa, XMEGA lyg ir turi, bet aš su juo nedirbu ir neplanuoju to daryt, kai yra ARM) ir didelių informacijos apimčių. O AVR'us aš naudoju ne smulkiems hobi projektams, toli gražu ne smulkiems
| Socrates rašo: |
O ir siaip... rasinet papildoma kodo gabala, kad pamatyt, jog isvadas veikia? 2015 metais?  |
Ne taip mane supratai. "Tabaluojantis" išvadas reiškia, kad programa atėjo į tam tikrą vietą, jei reikia išsiaiškinti kur ji "grybauja". Ir nematau tokiame tikrinime nieko blogo nei 2015, nei 2030 metais Tai pats paprasčiausias būdas patikrinti kaip šokinėja programa, po ranka teturint tik multimetrą ar LED'ą su srovę ribojančia varžyte. Tik tam aš naudoju oscilografą ar itin retais atvejais, kai reikia kelis išvadus vienu metu matyti, loginį analizatorių.
Tačiau jokiu būdu nebandau teigti, jog mano pasirinktas būdas pats geriausias. Čia "skonio", įpročio ir finansinių galimybių reikalas. Svarbu, kad naudojamos priemonės leistų pasiekti reikiamą rezultatą per galimai trumpesnį laiką ir su minimaliu žilų plaukų skaičiumi  |
|
|
|
|
|
 |
 |
Atmega8L projektas - problemos |
Parašytas: 2015 01 05, 22:30 |
|
|
|
|
Panašu, kad kompiliatoriaus įspėjimai nėra kritiniai: AS 6.1 s4kmingai sugeneruoja .hex.
Avino tiklapyje yra testinis IR kodas pabandymui:
[url]http://extremeelectronics.co.in/code-libraries/using-ir-remote-with-avr-mcus-part-ii/[/url]
Tik vietoj LCD galima panaudoti LED'us - t.y. užžiebti, jei priimtas DV kodas nenulinis, kažkaip taip paskutinis ciklas:
[code]
while(1)
{
cmd=GetRemoteCmd(1);
if(!cmd)
{
PORTB = 1;
}
else
{
PORTB = 0;
}
;
}[/code]
Tada turėtų paaiškėt, ar negerai su IR biblioteka ar su pagr. kodu. Klausimuose publika, vienok, skundžiasi, kad priginalus kodas nevisad veik taip kaip reikia. Kvarcas vis tik būtinas; vidinis generatorius nebūtinai užtikrins teisingus taimingus.
NB: distancinis turėtų būti NEC, ne RC5. |
|
|
|
|
|
|
 |
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 |
 |
Must have farming mods
Farming simulator modhub,
Best farming simulator mods |
|

|
 |