Citat:
Odin D.: To sam ja pricao za 8-bitne kad su se pojavili 16-bitni, pa za 16-bitne kad su se pojavili 32-bitni.
znas kako, ja sam ove 32bitne sve nekako preskakao do sada i koristio "samo kad moram" posto ne postoje u DIP kucistu a hederi/moduli su preskupi (ne toliko skupi koliko nedam da me neko pravi budalom i naplati mi 2x3cm pcb 10-20E) i onda mi prototyping ide sporo (ne mogu da koristim breadboard, moram da pravim pcb-ove sam, lemim stotine mikronskih pinova etc etc ..) ... dok 16bitnih ima u dip-u (28 i 40 pina koliko oces :D dovoljno za 90% posla) ... osmobitne sam nastavio da koristim da "potrosim lager" ... imas jos nesto ovih 16f690, 16f877a, 16f887, 1ff819, 628 i slicno, koji su mi ostali od pre par godina (dok nisam shvatio da uopste nisu jeftiniji od 18F ili dspic serije a sve sam kupovao po 10+) .. i to cu da istrosim, nisam kupio 16f poodavno :) a ni 18F se ne secam kada sam uzeo zadnji (doduse narucio sam pre neki dan par komada PIC18F1320 da zamenim ovaj 819 koji mi je u ovom hot bed-u posto ne mogu nikako da uguram sav kod u njega :( )
Citat:
Bitmape cifara za LCD su prozdrale vec 70% memorije.
hehe znam za taj problem. ja sam isprepravljao svoje neke funkcije sada (bas u ovom hot bed kontroleru sa 16F819) da bi oslobodio malo ram-a tako da je
Code:
const char gen1[] = "Target: 00.00C";
const char gen2[] = "Current: 00.00C";
#ifdef __GT204__
//204-GT thermistor with 10K in voltage divider
#define TEMPS 20
const unsigned int16 thermTable[TEMPS] = {
1024, 999, 984, 962, 931, 888, 834, 767, 691, 609, //0-90 //0==1009
526, 446, 372, 307, 252, 206, 168, 136, 111, 91 //100-190
//, 75, 62, 51, 43, 36, 30, 26, 22 // 200-270
};
#endif
#ifdef __RT16__
//135-104LAG-J01 thermistor with 10K in voltage divider
#define TEMPS 20
const unsigned int16 thermTable[TEMPS] = {
1024, 974, 947, 910, 861, 801, 730, 651, 570, 490, //0-90 //0==1009
414, 346, 287, 237, 195, 160, 132, 111, 90, 77 //100-190
//, 63, 54, 45, 39, 33, 28, 24, 21, 18, 16 // 200-290
};
#endif
...
postalo
Code:
#ifdef __GT204__
#define TEMPS_start 2
#define TEMPS 28
#endif
#ifdef __RT16__
#define TEMPS_start 0x3A
#define TEMPS 30
#endif
//EEPROM (256 bytes)
#rom 0x2100={
//target temp (80C
0x40, 0x1F,
//2
//204-GT thermistor with 10K in voltage divider
0x7F,0xFF, 0x03,0xE7, 0x03,0xD8, 0x03,0xC2, 0x03,0xA3, 0x03,0x78, 0x03,0x42, 0x02,0xFF, 0x02,0xB3, 0x02,0x61, //0-90 //0==1009
0x02,0x0E, 0x01,0xBE, 0x01,0x74, 0x01,0x33, 0,252, 0,206, 0,168, 0,136, 0,111, 0,91, //100-190
0,75, 0,62, 0,51, 0,43, 0,36, 0,30, 0,26, 0,22, // 200-270
//135-104LAG-J01 thermistor with 10K in voltage divider
//0x3A
0xFF,0, 0x03,0xCE, 0x03,0xB3, 0x03,0x8E, 0x03,0x5D, 0x03,0x21, 0x02,0xDA, 0x02,0x8B, 0x02,0x3A, 0x01,0xEA, //0-90 //0==1009
0x01,0x9E, 0x01,0x5A, 0x01,0x1F, 0,237, 0,195, 0,160, 0,132, 0,111, 0,90, 0,77, //100-190
0,63, 0,54, 0,45, 0,39, 0,33, 0,28, 0,24, 0,21, 0,18, 0,16, // 200-290
//0x76
'H','E','A','T',' ','B','E','D',' ','C','O','N','T','R','O','L',
//0x86
#ifdef __encoder__
' ',' ',' ',' ',' ','v','4','.','2','e',' ',' ',' ',' ',' ',' ',
#else
' ',' ',' ',' ',' ','v','4','.','2',' ',' ',' ',' ',' ',' ',' ',
#endif
//0x96
'T','a','r','g','e','t',':',' ',' ',' ','0','0','.','0','0','C',
//0xA6
'C','u','r','r','e','n','t',':',' ',' ','0','0','.','0','0','C',
//0xB6
0
}
#define init1 0x76
#define init2 0x86
#define gen1 0x96
#define gen2 0xA6
Tako da umesto
Code:
gen1[i]
koristim
Code:
read_eeprom(gen1+i)
... malo je sporije je ustedelo flash :D, sva sreca ovaj ima 256 bajtova eeproma, na zalost nije dovoljno ... fali mi jos jedno 500 bajtova flash-a tako da cu da ipak turim ovaj 18F i da resim problem, mrzi me da gubim vreme .... izgubio sam na ovo 2 dana ... i to ne 16h, izgubio sam preko 30h u ta dva dana pokusavajuci da provalim o cemu je rec ... provali kod:
Code:
return j * 1000 - (dataValue * 1000 / range);
u slucaju da je dataValue priblizno jednako ili jednako range OVO NE RADI kako je ocekivano!!! nesto tu kompajler izglupira i valjda odradi dataValue/range prvo pa tu nesto iz zaokruzuje pa pomnozi sa 1000 i svejedno dobijem da mi temperatura ide 57, 58, 69, 60, 61, 62... 68, 79, 70, 71 .. nogu sam odgrizo sebi da nadjem sta me ...
kada se napise:
Code:
return (j * 1000 - (dataValue * 1000.0 / range));
i tada radi ok !!! naravno pojede jedno 20 bajtova vise zato sto tu radi float mnozenje i deljenje umesto integer .. ali ga odradi kako treba ... tako da ma koliko sam ja sacuvao flash-a time sto sam radio uglavnom sa integerima (cuvam temperaturu kao "prava temperatura * 100" i racunam sve kao *100 i tako dobijem kvazi xxx.xx brojeve) to ne radi bas kako treba..
Citat:
Brzina cipa vec na granici mogucnosti da odradi sve sto treba (a to sto treba i nije nesto mnogo), sav kod kresem i potkresavam vec nekolko dana da bi se ugurao u raspolozive resurse a da mu se funkcionalnost ne smanji bitno, tj. da user ne oscjeca iritirajuce lagovanje prilikom koriscenja. Funkcije su toliko skresane da ni ja koji sam ih pisao bez citanja komentara (koji vise i nisu komentari vec literarno djelo) ne mogu provaliti sta rade.
hah, pa kad si pustio klijenta da bira mcu :D ... nego, nije bas neka razlika u brzini izmedju atmega16 i atmega32, osim vece memorije ne secam se da je razlika u brzini tu .. jedino ako ti nije uvalio attiny ?
Citat:
Cijena tog vremena i potkresavanja nadzilazi razliku u cijeni izmedju ATmega16 i intel-Atom platformi. Znaci za cijenu ovog uguzivanja - od koga nema nikakve koristi - mogao je sklepati color terminal sa tastaturom i dzojstikom umjesto budjavog encodera i skucenog lcd displeya.
Eto kad covjek razmislja po principima iz 80-tih godina i misli da je manje - bolje.
ma ... meni da je neko pokazao par sitnica na vreme ne bi ja izgubio ovoliko vremena sa osmobitnim mcu-ovima, ja sam poceo sa njima tamo nege 1989 i to je bilo vreme 51 i posle se pojavio pic (84) oni "fancy" likovi su koristili motorolu i to je to ... sve "jace" je bilo "jezivo skupo" ... i meni je to ostalo tako u secanju, kada sam pre par godina ponovo dobio dovoljno slobodnog vremena za igru, nastavio sam u tom ritmu "manje je mnooogo jeftinije", skontao da mi 16F serija za dosta stvari radi posao i nisam ni probao 18F a kamoli dspic ili 32mx .. i naravno kupovao sam u radio klubu (posto jeli tada '89 to je bilo jedino mesto gde si mogao da nadjes takvu egzotiku). onda mi je drugar spomenio mikroelektroniku, kupih od njih easypic3 i ladno provalim da imaju 16f za ~3 puta manje pare nego u rk-u i tu se skroz zbunim, na zalost imali su samo 15f877a u prodaji tada i 18f4550 koji je kao imao usb sto mi nije bilo zanimljivo te sam nastavio sa 877a .. i tek posle godinu dve pokusavajuci da kupim pickit2 (posto sam provalio da easypic nece da radi sa "normalnim" alatima vec samo sa mikroe kompajlerom) naletim na bugare i provalim da su kod njih piconje jos iskusno mnogo jeftinije nego kod mikroe, pogledam ceo cenovnik i provalim da 18F nisu uopste skuplji a da su ozbiljno "slobodniji" za rad .. i tek tada skontam koliko sam glup .. u medjuvremenu se nakupilo raznih 16F* koje sam narucivao iz usa, engleske i slicno, donosili "braca, tetke, drugari".... sad povremeno turim po neki 16F kad mislim da ce da mi odradi posao - cisto da ih potrosim, i evo npr, ovaj mi se na* ... izgubio sam minimum 10 dana vise vremena na njega umesto da sam turio neki 18F i odradio to levom nogom :( ...
ono sto je i dalje problem je trough hole .. ili bar soic ... ali kad mi uvale tqfp/qfl (o qfn necu ni da pricam) dodje mi da vristim ... pre neki dan sam pricao 20 min sa britom iz ftdi-a oko 2232H chipa (uzeo modul od njih pokusavam da ga implementiram u jedan moj projekat - mnooogo iskusan chip mada mi se cini da bi bolje prosao sa onim cyrus-om al ..) i na kraju krene neka spika oko community-a, hobby korisnika i sta bi bilo iskusno, ja mu kazem - vidi qme, napravite jedan 8pinac DIP koji je ono 1 kanal usb2usart, znaci kao ovi najmanji cipovi koje imate, samo u dip pakovanju, ne treba fifo, ne trebaju ledare, nista, samo daj rx/tx sa jedne strane d+/d-/vusb/vss sa druge strane, i dajte ako vam treba neki externi kondenzator izbacite pinove za njih i to je to .... ima da se prodaju ko alva ... on meni, "razmisljali smo mi o tome, ali nije nama to trziste, mi hocemo da se ftdi trosi u embeded sistemima ovo ono" ... idioti, sa jednim takvim cipom su mogli da zavladaju hobby marketom a vec imaju sve, samo da ga stave u dip umesto u qfn hebo ih qfn to zalemis i onda gledas u jednu tacku nedelju dana dok lecis opekotine od vruceg vazduha i vadis trunje iz ociju