zhresil som...
balu na home
balu na home
Sobota Září 12 09:17:35 CEST 2015
dakujem za podrobnu analyzu. Onedlho budem mat konecne nejaky cas na
bastlenie, rad by som sa naucil programovat.
Nastroje na mac existuju, nasi softwaristi z nejakeho dovodu pouzivaju
vylucne mac, kompiluje sa to ale na ine procesory a pre linux. Urcite to
nebude problem.
Mimochodom tak o tyzden budem v Bratislave, mozeme pri pive prebrat tu
displejovu sagu :-)
b.
On 12/09/2015 00:21, Jan Waclawek wrote:
> Nie zle na uvod... ;-)
>
> Namety na dalsiu samostatnu pracu:
>
> Pochopitelne cele to arduino treba co najskor poslat do p. Urcite sa aj pre
> mac najde normalny editor, binarna distribucia balika avr-gcc/binutils,
> make a spol., a avrdude. Jasne, ze to nie je priorita c.1, ale ta sloboda
> stoji za to, aj kebyze to pride az v kroku 2 ci 3. Vacsina z toho niekde v
> tom arduinovom bordeli je, ale asi by bolo lepsie nainstalovat si to
> samostatne v aktualnych verziach. Ta binarka avr-gcc bude asi najvacsi
> oriesok. Ak hodis dotaz na mikrozone.sk, mozno si ho tam niekto (menovite
> nick brano) vsimne a poradi.
>
> Casovac si prehod na CTC mod, kde ho netreba reloadovat v preruseni. Je to
> malickost, ale potesi.
>
> V preruseni od casovaca len odpal prvy prenos SPI a povol prerusenie od
> SPI; ostatne ries potom v preruseni od SPI. Dovod je ten, ze takto sa
> zbytocne zasier^H^H^Htavujes v tom timerovom preruseni a minas cas, ktory
> Ti potom moze chybat ked budes pisat tu komunikaciu, bo v AVRku nie su
> prerusenia prerusitelne (teda prekladac to vie zariadit ale to nie je
> dobre tak robit ak na to nemas nejaky velmi dobry dovod). V poslednom
> preruseni od SPI potom hodis ten latch. Som presvedceny, ze toto tiez
> zvladnes lavou zadnou.
>
> Ak je vsetka praca urobena v preruseniach, v hlavnej slucke sa tradicne
> zaspava; aj ked ten displej bude zrat ako diva svina a znizenie spotreby
> mcu je irelevantne, je dobre sa naucit to robit bo doba si vyzaduje setrit
> energiou (aj ked, uplne uprimne, ja osobne som to este v ziadnom programe
> neurobil... ;-) ).
>
> Okamzite zabudni na char a na int a uz vobec nepouzivaj nejaky byte a
> String a podobne bazmegy. Nauc sa pouzivat char vyhradne pre ascii znaky a
> retazce (const char line0[] = "abcdefghijklmnop"; ), a
> uint8_t/uint16_t/uint32_t pre prirodzene cisla (intN_t pre cele, ale so
> znamienkovymi opatrne). Slusnost kaze na zaciatok #include <stdint.h> v
> ktorom su definovane, aj ked toto je v takmer kazdom headeri takze sa to
> nepriamo #includne aj tak; slusnost je ale slusnost.
>
> Ano, sucasny avr-gcc vie optimalizovat jednobitove zmeny v perifernych
> registroch (t.j. typu PORTB |= 1 << PB4; ci DDRD &= ~(1 << PD1); apod.) na
> cbi/sbi kde sa to da; verzie pred 4.0 to nevedeli, boli na to makra, ale
> to Ta nemusi zaujimat, to je len taka historicka poznamka.
>
> Zapis DDRD = B11111110 nepoznam resp. nerozumiem, ako je mozne ze sa to
> prelozi ak len nejaky magor neurobil header v ktorom je #define pre
> vsetkych 256 8-bitovych konstant (u arduina by ma to neprekvapilo, je to
> dostatocne idiotsky napad na to aby to tam bolo); v GCC je na binarne
> konstanty implementovany nestandardny prefix
> https://gcc.gnu.org/onlinedocs/gcc/Binary-constants.html#Binary-constants
> takze by sa to malo zapisovat DDRD = 0b11111110 (a ak chces, aby to bolo
> prenositelne na iny prekladac, co asi nechces, tak to radsej zapises
> hexadecimalne - programator v hexa "vidi" binar, naopak nie, takze ten
> binar je castokrat vnimany ako menej citatelny).
>
> Po case by si sa mal naucit dat konstantne data do FLASH, bo RAM je vzacna.
> Na to su historicky dva sposoby - s avr-gcc pred 4.7 treba pouzit metodiku
> suvisiacu s PROGMEM (vid
> http://www.nongnu.org/avr-libc/user-manual/pgmspace.html ), v novsom
> existuje tzv. named address space __flash
> https://gcc.gnu.org/onlinedocs/gcc/Named-Address-Spaces.html . V pripade
> zaujmu dodam podrobnosti.
>
> Ak ches byt zasypany informaciami, tak:
> http://www.avrfreaks.net/forum/newbie-start-here
> http://www.avrfreaks.net/forums/tutorials (na starom avrfreaks bolo
> poltucta najdolezitejsich z nich vo forme pdf, ale to teraz neviem najst,
> mozno to uz definitivne zhltol "upgrade" redakcneho systemu avrfreaks (co
> je mimochodom varovanie k aktualnej kauze mcu))
> http://www.nongnu.org/avr-libc/user-manual/FAQ.html
> No a pochopitelne manual ku gcc ako takemu, ale to je pokrocile citanie...
>
> Hej tie shift/latch/current-source (nebodaj este aj mux) budice su ozaj
> luxus, pred tymi X rokmi sme najprv snivali (a skladali zo
> 74/ULN/odporov), potom sme ich kupovali snad rovno od Toshiby lebo nikto
> iny este vtedy take nerobil - raz Ti to porozpravam, cely ten pribeh s
> displejmi je story za vsetky drobne, ale je niekolko rokov dlhy... :-)
>
> wek
>
Další informace o konferenci Hw-list