Sari la conținut
ELFORUM - Forumul electronistilor

Ce v-ati dori de la un limbaj de programare pentru PIC?


sifor

Postări Recomandate

Ai simplificat doar pt. BASIC, ceea ce ar putea duce pe unii in eroare.

Ai dreptate, am trisat putin :) Dar ... pe de alta parte, mai astept exemple si din alte parti ... ;)

Ok, arata-mi unul unde diferenta de complexitate este in favoarea BASIC si se datoreaza exclusiv limbajului. Eventual pe privat, ca sa nu plictisim lumea.

Nu avem de ce plictisi lumea, cine e interesat de limbaje de programare va fi interesat sa le vada si calitatile/defectele, ori asta se vede cel mai bine din exemple. Hai sa incerc, de data asta cu un exemplu mai complex: pointeri la functii (si cum se descurca BASIC-ul cu asta, in conditiile in care in general nu are notiunea de pointer):

 

#include <uart.h>typedef void (*pvoid)( void );void f1( void ){}void f2( void ){}pvoid ftable[] = { f1, f2 };void main( void ){  int i;  uart_init();  if( uart_read_int( &i ) == READ_OK ) // test de eroare    ftable[i]();  else    error();}
(Nota: nu stiu daca exista vreun BASIC care suporta ce scriu eu mai jos :) Dar daca ar fi sa scriu cod in BASIC, cam asa mi-as dori sa se poata scrie)

 

def sub f1end subdef sub f2end subread i from uart or gosub error()on i gosub f1, f2
In constructia de mai sus, "or gosub" are semantica de "daca operatia nu a avut succes, du-te la subrutina specificata". Chiar, sunt curios daca exista asa ceva in vreun limbaj.

Apropo, faptul ca BASIC-ul nu prea are pointeri in general ii reduce flexibilitate, dar pe de alta parte il face mult mai friendly. O groaza de erori de programare se datoreaza folosirii aiurea a pointerilor.

Intr-un post anterior zici sa nu ne gandim la implementarea compilatoarelor (care pot sau nu sa stie singure ce librarii sa includa), acum zici ca de fapt diferenta e facuta de compilator ... in fine, uite si un exemplu de compilator de C care are multe functii incluse (seriala, I2C, SPI, etc): http://www.ccsinfo.com/specific.shtml

Hmmmm. Nu prea cred ca ma contrazic chiar asa cum spui tu. Una e implementarea, altul e limbajul. C-ul de care spui tu are o gramada de lucruri utile. Insa NU POATE include automat librariile de care are nevoie daca e ANSI compliant. Pentru ca ANSI C nu are notiunea de librarii built-in; sunt externe si trebuie tratate ca atare. Limitare data de limbaj, care se transmite implicit in compilator.

Nu vad cum as putea folosi emulatorul daca as compila in linie de comanda (sau cu makefile) codul.

Am folosit si folosesc in continuare emulatoare din linia de comanda. Depinde de tool-urile existente pentru microcontroller-ul respectiv.

P.S.: Raman la parerea ca diferenta nu o face limbajul, ci implementarea compilatorului.

Excelent. E bine sa existe mai multe pareri; atunci se argumenteaza si lumea isi poate face o idee de ansamblu. Asa ca nu ne ramane decat s-o tinem tot asa :)

P.S.2: As fi curios sa aflam si de la altii asteptarile lor de la un limbaj/compilator pt. microcontrollere.

Si eu! Haideti, mai veniti cu pareri, ca tare sunt curios.

Link spre comentariu
  • Răspunsuri 15
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

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 cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări