Vai al contenuto
PLC Forum


Dip switch in pull down mi abbassano tensione su uscite


Darlington

Messaggi consigliati

2 ore fa, Darlington scrisse:

Il problema degli altri compilatori (almeno, quel che ho notato io), è che partono con l'idea che tu impari a compilare per partenogenesi:

 

S usi un compilatore "C" come, ad esempio PICC o HiTech, si parte dal presupposto che chi lo usa conosc il "C", linguaggio fondamentale per chi programma e che non si impara su di un tutorial di poche pagine. Io dopo oltre 30 anni che uso "C" tengo sempre a portata di mano la bibbia dei famosi Ritchie & Kernigam.

Imparare il "C" è un investimento, un po come imparare l'assembler una cinquantina di anni fa.

 

Il problema con i linguaggi ladder diagram è che magari si riesce velocemente a far funzionare qualche cosina semplice, ma se si vuol fare qualche cosa di molto performante non si può.

Link al commento
Condividi su altri siti


Quoto quanto affermato da Livio e aggiungo che ci si deve anche evolvere.

Con LD micro perdi la possibilità di usare tanti altri pic interessanti è più moderni di quelli supportati.

Altro manuale che tra l'altro si può scaricare gratuitamente è Tricky C. Sono solo 657 pagine.

Io ne ho una copia su ogni pc che uso.

Elettronica In ha pubblicato un tutorial (un po' scarsino) su MikroC for Pic, e di esempi in rete se ne trovano molti.

 

L'uscita che toglava, non penso sia un bug di LDmicro :whistling:

Link al commento
Condividi su altri siti

Non direi un bug, la stessa cosa si ha anche con un siemens 1200, mi ê capitato che se guardavi lo stato on line del segmento  era attivo e l'uscita fisica disattiva...

Link al commento
Condividi su altri siti

del_user_97632

Beh in effetti l'assembly dei PIC non e' dei piu intuitivi, tuttavia questi micro sono nati con mplab e compilatore mpasm, da cui forse ancora oggi ottieni le massime prestazioni, e ad ogni istruzione sai esattamente cosa fai. Il C per PIC da quel che so non e' un gran che, per certi modelli che la memoria flash interna a disposizione e' piccolina, rischi che ti venga prodotto troppo codice surplus, e sprechi spazio. Con tutto che il C per me e' il meglio per lavori firmware, ed il pane del mio lavoro, sui PIC preferisco andare di assembly ma solo con programmi semplici. Per esecuzioni sempre da pochi megahertz ma piu complicatine vado certamente su AVR, gcc, e so che il codice prodotto e' ottimale, e con alcune opzioni gcc  anche minimale.

Link al commento
Condividi su altri siti

4 ore fa, dott.cicala scrisse:

Quoto quanto affermato da Livio e aggiungo che ci si deve anche evolvere.

 

D'accordo ma la programmazione già di suo è un argomento che mi è sempre stato ostico.

 

Se poi non trovi qualche tutorial scorrevole, ancora peggio; un libro da 600 pagine per chi si avvicina ad un linguaggio è una mazzata, mentre invece cominciare con un tutorial semplice ma non scritto con i piedi, ed in caso di dubbi andarsi a cercare la risposta tra le 600 pagine del manuale già è una cosa più accettabile.

 

Per dire, ho avuto meno problemi a studiarmi il funzionamento di un condizionatore per auto quando ho smontato l'impianto clima da una Citroën AX 1.1 iniezione per trapiantarlo sulla mia, che è un 1.0 carburatore e gli impianti elettrici differivano troppo per fare un "porting" diretto dell'impianto, inoltre non avevo il compressore originale e ho dovuto cercarne uno compatibile per caratteristiche e staffaggi, inoltre il clima originalmente era progettato per l'R12 ed io lo ho retrofittato all'R134, e via discorrendo.

 

4 ore fa, dott.cicala scrisse:

L'uscita che toglava, non penso sia un bug di LDmicro :whistling:

 

Per bug intendevo dire che il compilatore avrebbe dovuto avvertire della cosa, mentre se vai in simulazione e lì lo stato delle uscite rimane sempre 1, mentre tutti gli altri registri del programma incrementano regolarmente secondo programma appunto, ti aspetti che la stessa cosa accada sull'hardware reale.

 

Non c'è neanche la giustificazione del cambiamento di stato troppo veloce per notarlo, perché la simulazione avviene a meno della metà della reale velocità di esecuzione, come in praticamente tutte le simulazioni software.

Link al commento
Condividi su altri siti

10 ore fa, _angelo_ scrisse:

Beh in effetti l'assembly dei PIC non e' dei piu intuitivi,

Cosa?

Ma allora l'assembler di un vecchio 80386 cos'è? per non parlare poi delle famiglie pentium e seguenti, tanto per stare in intel.

Io trovo che, essendo cpu RISC, l'assemler dei PIC è elementare cme quello del PDP11.

 

Quote

Il C per PIC da quel che so non e' un gran che,

 

Assolutamente no. Ho dei programmi da parecchi kbyte, al limite della capacità del micro, che girano molto ben ottimizzati.

Ho fatto dei regolatori che girano velocissimi; l'ottimizzazione del codice macchina dioende anche da come si è organizzata la struttura del programma.

Bisogna usare un buon compilatore come PICC o HiTech.

Tra l'altro con PICC hai la direttiva "asm ......endasm" con cui puoi inserire direttamente nel "C" righe in asm per ottimizzare al massimo, se fosse necessario, il codice.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...