Microchip PICxxxx - USB - Scambio dati da PC

Dec 28, 2007 5 Replies
[OT] Inizio [OT] In vista di una imminente, vicina e per certi aspetti "già in corso" operazione di prepensionamento dei vari std. RS232 ( a me tanto cari .... e compagni d'infanzia....) Mi sto chiedendo se qualcuno di voi ha mai utilizzato un linguaggio di programmazione o ambiente di lavoro su piattaforma PC (Windows o Linux) in grado di gestire operazioni di lettura e scrittura sulle porte USB, e se quel qualcuno avesse voglia di raccontarci qualche esperienza ...... Qual'è il miglior ambiente di lavoro? Linguaggio di programmazione? etc... etc... [OT] Fine [OT]

La parte non [OT] di questa domanda, è che le informazioni che ne conseguono, sono sicuramente interessanti per tutti coloro (io compreso) che frequentano questo NG, e che sono interessati ad una fattiva messa in opera di un sistema basato su PIC (o QUALSIASI ALTRA MIGLIORE FAMIGLIA) interfacciato al PC mediante modulo I2C.



Mi scuso per la ripetizione qualora questo argomento fosse già stato affrontato sul NG molto tempo fa, ma sono rimasto assente dalle conversazioni da circa 2 anni (principalmente a causa della cicogna con il cestello), ed ho scaricato soltanto oggi i soli ultimi 1000 messaggi consentiti dal browser.



Saluti. iw5dei


iw5dei ha scritto:

Il pensionamento (non sono sicuro su quel "pre") è già iniziato da parecchi anni e l'USB ha soppiantato seriale e parallela in molte applicazioni. Dubito però che questi standard, sia hardware che protocollo, andranno in pensione definitivamente... Credo che per semplicità e affidabilità hanno ancora qualcosa da dire.

Non mi sembra poi molto OT come richiesta. Io per un paio di progettini ho utilizzato un 18F4550 con USB in versione CDC (Communication Device Class) che simula un'interfaccia seriale. È comodissima se hai già software o rountine già scritte per seriale o semplicemente se ti trovi a tuo agio con questo modo di vedere le cose. L'ambiente che ho usato è quello di Microchip con il loro compilatore C (MCC18). Tutto semplicissimo in quanto si tratta di modificare per le proprie esigenze del codice già scritto.

Una volta che sei connesso al PC via USB, col PIC di cui sopra hai a disposizione una USART, una I2C e persino un'interfaccia parallela... Non ho molto da riportare, dato che ho usato il codice di esempio scaricato dal sito Microchip ed ha funzionato tutto quasi al primo colpo. Quasi perchè avevo deciso di usare un quarzo diverso da quello consigliato, dimenticandomi di aggiustare il prescaler. Inoltre il web è stracolmo di siti che spiegano passo passo come procedere in maniera molto più dettagliata di quanto potrei fare io.

Cmq mi accodo alla richiesta, dato che anch'io sarei interessato ad altri pareri su eventuali concorrenti di Microchip.

Mi sa che sottovaluti la potenza di San Google. Prova a fare una ricerca tipo HOBBY ELETTRONICA NEWSGROUP + l'argomento che ti interessa, oppure andando direttamente a

formatting link

Ciao

Pasu

Postato da Alice Newsgroup: lo usi da web ma con le funzioni del newsreader http://newsgroup.alice.it Gerarchie it, italia, it-alt, tin, it.binari. Unico!

"Pasu" ha scritto nel messaggio news:9127225.1198948969789.JavaMail.newsgroup@sc-ng-1... [CUT]

Su questo sono anch'io d'accordo, la mia era solo un osservazione per restare al passo con i tempi, infatti non ho necessità immediate da mettere in opera, solo l'intenzione di approfondire l'argomento, magari con qualche "prova su strada".

Normalmente, mi dedico all'elettronica di potenza, dove per me la parte di controllo è solo un optional tipo "air-bag lato passeggero suocera", personalmente non ho mai lavorato con la serie PIC18 (al massimo sono arrivato ai 28 pin. di un 16F747), il mio preferito è il 16F819 ma dove posso cerco di sfruttare al meglio possibile le risorse di un 8 pin piuttosto che lasciare un 100 pin con 99 non connessi.

Infatti la ragione per cui ho messo in dubbio l'essere o non essere [OT] era che non mi riferivo all'ambiente e linguaggio di programmazione da utilizzare per generare il codice eseguibile del microcontrollore, ma ad un ambiente di lavoro e relativo linguaggio da utilizzare su piattaforma PC per comunicare con il dispositivo. Faccio un esempio: Durante il normale ciclo di lavoro dell'unità MCU ho una PORTB di 8 bit configurata come ingresso sulla quale sono applicati gli stati logici B'10011101' voglio poter interrogare dal PC, attraverso appositi pin, via USB lo stato della PORTB ed avere dunque sul PC una variabile temporanea che contenga il valore B'10011101', magari facendo un programma che mi apre una finestra con un tasto grafico che se premuto viene inviato il comando di lettura dal PC alla MCU.

Capisco che sarebbe un problemino da snipped-for-privacy@re.suit.comp.lang.* , ma tutto sommato credo che riguardi un interesse comune a molti colleghi di questi paraggi. Con vari linguaggi di programmazione, ho avuto un ottimo rapporto fino agli anni '90, ma solo sulle piattaforme testuali di MS-DOS, UNIX, con l'affermarsi delle interfacce grafiche e Win sempre più invadente per non essere obsoleto ho cessato l'attivita' (all'epoca per hobbistica e didattica), e' per questo che ho rivolto una domanda forse un po' fuori luogo ma fondamentalmente per preferire di essere aiutato da persone come me, voi (o noi se preferite), piuttosto che da ragazzini di 13 anni, prodigi, da film americano, con occhiali, problemi di inserimento nella società, ed incollati alla tastiera 48 ore al giorno (anche questa non è un offesa, quasi gelosia, per certi versi avrei voluto essere uno di loro).

[CUT]

Tempo fa ho trovato interessante l'architettura ARM7, commercialmente è anche molto competitiva nei confronti di Microchip (che a mio avviso sta monopolizzando il mercato sulla brutta impronta di Microsoft) e ci sono diversi costruttori che la implementano, tutto ciò è valido per i prodotti della stessa categoria dei PIC18, mentre sulle MCU di piccolo taglio Microchip è conveniente malgrado abbia problemi di competitor.

Lo conosco, già usato anche in altre circostanze, confesso che per pigrizia non l'ho controllato, è molto più comodo leggere notizie nel browser, salvarle, evidenziarle, importa, esporta, etc...etc... e poi credevo che come argomento fosse più gettonato dal pubblico qui presente tale da non essere molto invasivo.

[CUT] Ciao Simone iw5dei

iw5dei ha scritto:

agli=20

non=20

Piu' o meno la stessa cosa, ho ritardato l'uso di windows fino=20 all'ultimo (sono passato da un mese all'XP dopo anni di 98). E l'unico=20 linguaggio visuale che ho studiato, diciamo sommariamente e parecchi=20 anni fa, e' il delphi (evoluzione del vecchio turbopascal).=20 Probabilmente nel frattempo hanno fatto delle "classi" (si chiamano=20 cosi' gli "oggetti", simili alle subroutine ma con caratteristiche=20 aggiuntive) in grado di accedere all'usb.

In ogni caso per nostra fortuna esistono dei cavetti convertitori=20 usb/rs232 (con relativi driver per windows) che li fanno vedere come=20 porte seriali aggiuntive (com3 ecc), per cui da programma non cambia null= a.

ciao Claudio_F

"Claudio_F" ha scritto nel messaggio news:4776d459$0$36442$ snipped-for-privacy@reader5.news.tin.it... iw5dei ha scritto:

agli

io invece ho pprovato a utilizzare un PDIUSBD12(detto D12) che richiede un firmware da parte di un microcontrollore, il D12 infatti gestisce solo il layer elettrico,il layer del protocollo basso, pacchetti sync ecc

pur essendomi rifatto a vari esempi in rete non sono riuscito ad andare + avanti di tanto...purtroppo non sono riuscito neanche a implementare l'enumerazione

la comunicazione almeno in parte c'era,infatti nei registri del mio micro vedevo i dati corrispondenti alla richiesta dell'host di mandare il device descriptor

qui dopo avere ricevuto i primi 8 bit l'host avrebbe dovuto mandare un reset e mettere il device in modo addrssed,purtroppo non sono riuscito a veder es eciò avvenisse

anzi,a dire la verità non riuscivo neanche verificare se il device scrivesse qualcosa sul bus,o se ogni commutazione fosse dovuta all'host.....i vari USB sniffer non mi anno aiutato ,credo che per indagare a fondo servisse un analizzatore di protocollo usb boh ciao

"blisca" ha scritto nel messaggio news:47781144$0$37193$ snipped-for-privacy@reader3.news.tin.it...

non

un

micro

reset

es

scrivesse

USB

PS il tutto con processore freescale a 16bit e uso di in circuit debug

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required