Da ne bude da pricam gluposti. Sa picom sam odradio nekoliko projekata, no najviše mi je živaca popapao PIC24FJ256GB110. To je zbirka slagalice strave i užasa. Radio sam HOST USB na tom MCU, no to je nešto što sam bičem natjerao da ridi, no prokleti RTC mi je ukrao dobrih tjedan dana živaca.
Naime taj MCU ima hardware grešku kod linija za RTC clock, i da to dobro radi treba povući X2 liniju RTC kristala sa 2 Mhohm na VCC. Inače oslilitaor RTC-a radi tek u nekih 45% slučajeva. U ostalih 55 ne želi oscilirati...
Da, jadno i glupo, no u dokumentaciji to ne postoji... Već kad sam izgubio živce sa tim RTC-om i malo zabio nos u razvoje ploče microchipa skuzio sam da imaju taj prokleti nelogicni otporik na plocama, a nisu ga naveli niti u jednoj dokumentaciji...
To se kod Atmela ne može dogoditi... Kad me iznevjeri periferija račnala onda stvarno ne znam o kojim duhovima programiranja govoriti, jer nažalost ne pišem bugove u programu, no pic sam po sebi voli zabiti takav bug da me zabloli glava od tog MCU-a...
Smart Windshield Wiper......Help...!
Moderators: pedja089, stojke369, [eDo], trax
- InTheStillOfTheNight
- Odlično uznapredovao
- Posts: 938
- Joined: 01-06-2006, 17:54
- Location: Zagreb
Re: Smart Windshield Wiper......Help...!
InTheStillOfTheNight
Re: Smart Windshield Wiper......Help...!
Hm... Sad me natera u razmisljanje... Takve mi se stvari jos nisu desavale...
- InTheStillOfTheNight
- Odlično uznapredovao
- Posts: 938
- Joined: 01-06-2006, 17:54
- Location: Zagreb
Re: Smart Windshield Wiper......Help...!
Nije to jedina stvar koja me zezala kod PIC-a. Ovo za 24fj256 sam pisao u
MPLAB_IDE_8_50, MPLABC30 Combo_v3_23b_Lite
Ne znam kojim se inače alatima koriste ljudi koji programiraju za PIC. Ja sam koristio gore navedeno i prevodilac je katastrofa. Još se ja nekako mogu snaći dok se držim svih pravila C-a, pa opet on voli napraviti glupost u HEX fileu. U nekim slučajevima moguće je napisati #include *.c file u mainu i ovaj to bez problema prevede. Ponekad mi za return(i+j); vraća samo j, pa onda te varijable moram zbrojiti u ramu prije return-a funkcije. Već sam zaboravio što me sve nije zezalo kod tog PIC-a no njegov RTC stvarno je dobio krunu.
Slučajno sam imamo njihovu razvojnu ploču i nakon 5 dana išao snimiti njihov hardware na kojem radi taj RTC. Da to nisam imao vjerojatno nikad ne bi osposobio RTC. Najtužnije je to što otpornik nije nacrtan u orginalnoj dokumentaciji te microchipove ploče.
Nevjerojatno je kako me ništa od ovoga ne zeza u životu. Većinu stvari radim za ARM LPC23XX, LPC24xx, te čitav AVR, 8051 i prevodilci su jako dobri. U AVR studio sam u 5 godina pronašao samo jedan bug koji je detaljno opisan u dokumentaciji WINAVR-a, i dogodi se u specifičnoj situaciji kada koristim MEGA32, te pozovem fdevopen za preusmjeravanje printf funkcije na com_putchar.
Kod keil-a za ARM nisam niti našao nekakav propust u prevodilcu. Bez problema ispišem 100k programa i nikad mi se ne dogodi da nešto ne radi. Naravno da tokom programiranja ispravljam svoje bugove i greške, ali bar znam da mi alat ne laže i da me ne zavarava pa se mogu osloniti na to kako ja nisam u pravu a ne prevodilac. Svaka greška koja se pojavi znam da je moja greška u programu i vrlo lako je pronađem.
Kod PIC-a više nisam u ništa siguran. Ako sam se do sada oslanjao na povjerenje compilera i kod svih projekata koje sam odradio to se pokazalo kao pozitivno pisanje programa onda mi nije jasno kako kod pica to izgleda totalno negativno. Umjesto da se borim sa boljom logikom programa i boljim programerskim rješenjima, ja se moram boriti sa compilerom koji mi laže i svako malo spremi mi svoje novo izmenađenje iz liste RADNOM odabranih bugova.
MPLAB_IDE_8_50, MPLABC30 Combo_v3_23b_Lite
Ne znam kojim se inače alatima koriste ljudi koji programiraju za PIC. Ja sam koristio gore navedeno i prevodilac je katastrofa. Još se ja nekako mogu snaći dok se držim svih pravila C-a, pa opet on voli napraviti glupost u HEX fileu. U nekim slučajevima moguće je napisati #include *.c file u mainu i ovaj to bez problema prevede. Ponekad mi za return(i+j); vraća samo j, pa onda te varijable moram zbrojiti u ramu prije return-a funkcije. Već sam zaboravio što me sve nije zezalo kod tog PIC-a no njegov RTC stvarno je dobio krunu.
Slučajno sam imamo njihovu razvojnu ploču i nakon 5 dana išao snimiti njihov hardware na kojem radi taj RTC. Da to nisam imao vjerojatno nikad ne bi osposobio RTC. Najtužnije je to što otpornik nije nacrtan u orginalnoj dokumentaciji te microchipove ploče.
Nevjerojatno je kako me ništa od ovoga ne zeza u životu. Većinu stvari radim za ARM LPC23XX, LPC24xx, te čitav AVR, 8051 i prevodilci su jako dobri. U AVR studio sam u 5 godina pronašao samo jedan bug koji je detaljno opisan u dokumentaciji WINAVR-a, i dogodi se u specifičnoj situaciji kada koristim MEGA32, te pozovem fdevopen za preusmjeravanje printf funkcije na com_putchar.
Kod keil-a za ARM nisam niti našao nekakav propust u prevodilcu. Bez problema ispišem 100k programa i nikad mi se ne dogodi da nešto ne radi. Naravno da tokom programiranja ispravljam svoje bugove i greške, ali bar znam da mi alat ne laže i da me ne zavarava pa se mogu osloniti na to kako ja nisam u pravu a ne prevodilac. Svaka greška koja se pojavi znam da je moja greška u programu i vrlo lako je pronađem.
Kod PIC-a više nisam u ništa siguran. Ako sam se do sada oslanjao na povjerenje compilera i kod svih projekata koje sam odradio to se pokazalo kao pozitivno pisanje programa onda mi nije jasno kako kod pica to izgleda totalno negativno. Umjesto da se borim sa boljom logikom programa i boljim programerskim rješenjima, ja se moram boriti sa compilerom koji mi laže i svako malo spremi mi svoje novo izmenađenje iz liste RADNOM odabranih bugova.
InTheStillOfTheNight
- InTheStillOfTheNight
- Odlično uznapredovao
- Posts: 938
- Joined: 01-06-2006, 17:54
- Location: Zagreb
Re: Smart Windshield Wiper......Help...!
Ispričavam se na off topicu... a već kad sam spomenu PIC, morao sam završiti misao...
InTheStillOfTheNight
Re: Smart Windshield Wiper......Help...!
Što da ti kažem, moj komentar možeš predpostaviti.InTheStillOfTheNight wrote:Umjesto da se borim sa boljom logikom programa i boljim programerskim rješenjima, ja se moram boriti sa compilerom koji mi laže i svako malo spremi mi svoje novo izmenađenje iz liste RADNOM odabranih bugova.
Radio sam s PIC MCU-ima ali nisam nikad naišao na neki bug, osim onih koje sami kreiramo. Dobro me savjetovao jedan poznanik da ako želim rad s HPL-ima treba dobar, to najčešće znači i skup, compiler.
Ono oko HW buga za oscilator je drugo. U to ne ulazim. Čudno da nisi probao kontaktirati firmu. Nevjerujem da ti nebi odgovorili i pomogli.
P.S. Izvinite na off topic-u.
Today's scientists have substituted mathematics for experiments, and they wander off through equation after equation, and eventually build a structure which has no relation to reality.
- Nikola Tesla
- Nikola Tesla
- InTheStillOfTheNight
- Odlično uznapredovao
- Posts: 938
- Joined: 01-06-2006, 17:54
- Location: Zagreb
Re: Smart Windshield Wiper......Help...!
Opet offtopic, nije baš uredu što to raspisujemo u ovoj temi koja nema veze s tim..
Nisam kontaktirao Microchip jer mi se u životu nikad nije dogodilo da je kriv netko drugi. Uvijek sam ja bio kriv za sve što ne radi. Kao početnik dobro sam se nazezao sa svakakvim greškama, pogotovo u ISR rutinama i C-u pod opmimizacijom programa. U tim nekim situacijama potrebno je jako dobro poznavati C da bi se izbjegli duhovi ISR-a nakon što to prevodilac prevede na asm. Kada me zezao ovaj RTC napao sam taj dio sa svih strana i svim mogućnostima koje su mi bile na raspolaganju : C, asm, debug i zapravo dobro sam sve radio na inicijalizaciji RTC registara, ali nisam mogao niti pomisliti da postoji hardware propust na tom PIC-u. Proučio sam čitav RTC i nigdje ništa nije navedeno... Da @buco znam tvoj komentar -> "Piši u assembleru".
No nije to samo tako reći. Ja programiram sve živo i neživo, ovisno o situaciji i MCU koji se nalaže kao projekt. Dakle svaki projekt je vremenski ograničen i ne mogu pisati u assembleru za svaki MCU jer to bi trajalo i trajalo... Jedino da je nešto specifično što želim napraviti bolesno dobro, svakako da bi to radio u asm.
I naravno isprika na trećem off topicu
Nisam kontaktirao Microchip jer mi se u životu nikad nije dogodilo da je kriv netko drugi. Uvijek sam ja bio kriv za sve što ne radi. Kao početnik dobro sam se nazezao sa svakakvim greškama, pogotovo u ISR rutinama i C-u pod opmimizacijom programa. U tim nekim situacijama potrebno je jako dobro poznavati C da bi se izbjegli duhovi ISR-a nakon što to prevodilac prevede na asm. Kada me zezao ovaj RTC napao sam taj dio sa svih strana i svim mogućnostima koje su mi bile na raspolaganju : C, asm, debug i zapravo dobro sam sve radio na inicijalizaciji RTC registara, ali nisam mogao niti pomisliti da postoji hardware propust na tom PIC-u. Proučio sam čitav RTC i nigdje ništa nije navedeno... Da @buco znam tvoj komentar -> "Piši u assembleru".
No nije to samo tako reći. Ja programiram sve živo i neživo, ovisno o situaciji i MCU koji se nalaže kao projekt. Dakle svaki projekt je vremenski ograničen i ne mogu pisati u assembleru za svaki MCU jer to bi trajalo i trajalo... Jedino da je nešto specifično što želim napraviti bolesno dobro, svakako da bi to radio u asm.
I naravno isprika na trećem off topicu
InTheStillOfTheNight