sz3bbylA Postat Aprilie 15, 2009 Partajează Postat Aprilie 15, 2009 Nu stiu daca cineva a mai cautat pina acum asa ceva Eu mam jucat cu un lcd 2 linii 16 caractere si un 16f84a Am folosit ccs c pic si am reusit cu toate cunostintele mele sa fac un ceas cu data dar inca nu iam pus inca taste sa il pot regla Problerma e ca imi ocupa deja 68%rom, 22%ram am mai citit pe forumuri si se pare ca nu e asa de bun ideul asta si compilatorul lui tocmai din cauza ca risipeste cea mai pretioasa resursa din pic - "memoria" http://www.piclist.com/techref/microchi ... age/cs.htm Ma gindesc ca in curind cind o sa dau drumu la intreruperi si o sa dau functii butoanelor nu o sa mai am loc in pic pt program mam mai uitat pe net si am vazut "cc5x" URL si "byte craft" ca ar fi cele mai puternice in utilizarea eficienta al ramului si romului din pic cine imi poate da o varianta buna de programare dar care sa optimizeze calumea codul ?? Poate cei mai experimentati m-ar putea orienta spre un compilator care sa foloseasca ramu si romu eficient si sa nu risipeasca prea mult ?!? asta e codul dar nu stiu cum sa il mai optimizez(am luat lcd.c si am scos read din el ca sa nu mai ocupe spatiu si l-am denumit lcds.c) Link spre comentariu
Laci Postat Aprilie 15, 2009 Partajează Postat Aprilie 15, 2009 Compilatorul nu te scapa de lucru, daca te-ai cumetat sa folosesti functia printf atunci asta-i rezultatul, gandestete putin tu cum ai implementa functia printf, care nu are numar fix de argumente, si accepta toate argumentele standard pentru printf?Sfatul meu este sa cauti unde pot sa selectezi optiunea de -Os (Optimize size), sa folosesti alta functie in loc de printf(il scrii tu), si mai optimizeaza codul tau, ca-i facut cam in graba Link spre comentariu
XAN77 Postat Aprilie 16, 2009 Partajează Postat Aprilie 16, 2009 poate nu asta asteptai dar titlului topicului i se potriveste un singur limbaj, asamblerul. Pe de alta parte se poate, ocupa cam mult si programul tau, eu in pic de 1K flash am facut tot asa un ceas, citire de senzori de temperatura i2c, reglajul ceasului si a altor parametrii ca era o automatizare la acvariu (comanda lumina, incalzitoru), intradevar avea vreo 1010 locatii din flash ocupate, dar era facut in Basic, care toata lumea zice ca e mai prost/neprofesional decat C . Link spre comentariu
Cristiano Postat Aprilie 16, 2009 Partajează Postat Aprilie 16, 2009 Nu limbajul e problema, ci modul in care e folosit. Evita (dupa cum s-a mai spus) functiile standard (pentru cei ce sunt obisnuiti cu C-ul pt. PC) gen printf si foloseste pe cat posibil variabile de tipul potrivit (am vazut acolo ca ai peste tot "int" si f. multe din ele ar putea fi "unsigned char"). "Int" e pe 16 biti si cu semn, deci orice operatie (adunare, scadere, etc. plus comparatii) necesita mult mai multe micro-operatii (instructiuni ale PIC-ului si implicit memorie program) decat in cazul "unsigned char". Uite aici niste sfaturi utile: http://www.microchipc.com/HiTechCFAQ/ , se aplica pt. orice compilator de C. Link spre comentariu
sz3bbylA Postat Aprilie 20, 2009 Autor Partajează Postat Aprilie 20, 2009 mam tot uitat in program dar nu imi dau seama ce as putea schimbain css c "int" am vazut ca e 8 biti totusi undeva sigur gresescpoate m-ar ajuta ceva exemple Link spre comentariu
kit Postat Mai 24, 2009 Partajează Postat Mai 24, 2009 @Cristiano: linkul dat de tine este aur curat! Ar fi bine daca acest thread ar fi sticky, este extrem de importanta optimizarea codului de catre programator mai intai si abia apoi de catre compilator. Daca scrii corect codul in C iese ceva vis, daca nu este belea curata! Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum