Sari la conținut
ELFORUM - Forumul electronistilor

iar LPT ... ma innebuneste


Vizitator Marus_Rockeru

Postări Recomandate

Vizitator Marus_Rockeru

Este vorba despre interfata LPT - SPI (PIC).

PIC-u este MASTER iar LPT-u tre sa primeasca.

La partea de PIC am rezolvat-o ... ca e simplu....pui in SPBUF byte-u si gata, il trimite.

Nu stiu cum sa fac la PC-u sa primesca ce trimite ala.

Am reusit sa accesez portu LPT si sub WinXP (firar masa a dr@cu) dar ce sa fac mai departe ? cum sa "prind" byte-u care-l trimite PIC-u ?

Vreau o idee macar , nu program ...

Din ce am gasit eu pina acu rezulta ca ar fi 2 metode:

1. cu Intreruperi

2. sa citesc in continuu Portu (aiurea - se incalzeste processoru)

 

Stie cineva cum as putea sa folosesc Intreruperi (IRQ) in Delphi 6 sub WinXP ? ... cica pentru LPT ar fi IRQ7. Si mai e si chestia aia pe care n-o inteleg cu IRQ Via Ack Line

 

.... :prayer:

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

Top autori în acest subiect

Nu inteleg cum naiba vrei sa ai comunicatie intre LPT si serial (SPI ) , in mod normal poti sa interfatezi LPT-ul cu un port al PIC-ului dar pe comunicatie paralela sau poti sa comunici cu PC-ul pe RS232 , pe SPI sau I2C de la PIC si LPT de la PC este o prostie , in sensul ca ai nevoie de un soft ptr PC care sa stie sa decodeze comunicatiile SPI sau I2C , poti sa faci acest soft ca nu este mare lucru dar este doar pierdere de timp . Parerea mea foloseste RS232 sau comunica paralel-paralel cu PIC-ul.

Link spre comentariu

Driverele windows sunt un lucru foarte mare (pentru care se plateste de altfel f. bine). Nu vreau sa te descurajez insa singurul lucru care poti sa-l faci e sa citesti periodic portul (dupa o temporizare de bun simt) si ar rezulta oarecum un fel de citire pe intrerupere.O solutie mai simpla ar fi intradevar un convetor usb-serial si apoi serial-spi.

Link spre comentariu
Vizitator Marus_Rockeru

Nu inteleg cum naiba vrei sa ai comunicatie intre LPT si serial (SPI )

Pai ... uite aici http://www.qsl.net/om3cph/dds/wobbler.html am facut chestia asta (asa cum este aici ) si merge perfect ....

Pe urma mi-a venit ideea sa-l imbunatatesc, am schimbat multe alea (nu mai folosesc TLC-u) si trebuie sa fac si programul care ruleaza pe PC.

Deci n-are cum sa fie prostie daca Prof. OM3CPH a facut asa :smt003

Parerea mea foloseste RS232

La montajul asta am inlocuit TLC-ul cu convertorul A/D din pic ca sa mai simplific lucrurile.

Nu vreau sa le complic iar adaugind un MAX232 cind se poate face acelasi lucru si pe LPT care compatibil TTL.

Eu nu inteleg cum spune-ti voi (toata lumea) ca e usor sa folosesti RS232... :rolleyes:

In aplicatia mea, am nevoie sa trimit un byte de la PIC la PC.

Bineinteles ca trebuie sa fac un program pe PC care sa emuleze SPI din PIC. (probleme : 1. nu ma lasa windowsu sa accesez porturile / 2. nu stiu sa folosesc IRQ-urile (si toate astea in Delphi))

Eu vreau sa accesez portu la nivel de bit ! cum e si la PIC; pun ceasu de la PIC (care e master) pe un pin de la LPT care sa declanseze IRQ-u ala nenorocit si in rutina lui sa citeasca starea de la un alt pin (DATA) si sa-l memoreze undeva.

Modul de lucru al RS232, adica chestia aia cu BAUD-ul nu vreau sa o folosesc ... :axe: (nu ma intrebati de ce)

 

Cercetarea continua ... :partyman:

Link spre comentariu

Nu orice aplicatie ce necesita seriala merge cu adaptor pe USB. De fapt cele ce incearca sa ajunga direct la portul "fizic" nu merg deloc.

Irelevant, mai ales in conditiile in care el trebuie sa-si scrie software-ul. Accesul unei aplicatii direct la hardware e o practica paguboasa, mostenita de pe vremea DOS-ului. Nu se justifica, mai ales ca pentru lucrul cu portul serial exista o sumedenie de dll-uri, plus documentatie buna in MSDN. Pentru Delphi stiu sigur ca exista o componenta VCL pentru portul serial, tmsasync32 parca se numea. Gogu stie mai multe, inclusiv locul de unde poate fi descarcata. In caz ca nu o gaseste, o pot pune eu la dispozitie, cand ajung la lucru. Partea ca "nu-mi place portul serial ca foloseste baud rate" e doar un moft.
Link spre comentariu

Sa sti ca nu se foloseste niciunde chestia asta interfatare intre device-uri unul pe comunicatie paralel si unul pe comunicatie seriala decat daca nu ai incotro sau dac iti place sa te complici , daca ai acces numai la LPT foloseste un port de la PIC pentru a trimte byte-ul si ai comunicatie paralel , nu mai ai nevoie de setari si decodari SPI , iar in softul de PC monitorizezi doar LPT-ul ; De ce tii neaparat sa folosesti SPI ???

Link spre comentariu

"Irelevant" (uneori) este doar un sfat de... principiu.In masura in care cineva vrea sa rezolva punctiform o problema, este... irelevant modul in care o face. Ah, daca intreaga omenire se va baza pe solutia sa, devine o... chestie.Mda, este o chestie de... agnosticism, dar multi (inclusiv eu) urasc portul serial. Ar trebui insa sa se obisnuiasca cu el sau... sa-l uite (mult mai bine dupa umila mea parere, oricum in curand nu o sa se mai gaseasca; de fapt nici paralelul nu are un viitor mai lung).

Link spre comentariu
Vizitator Marus_Rockeru

Sa sti ca nu se foloseste niciunde chestia asta interfatare intre device-uri unul pe comunicatie paralel si unul pe comunicatie seriala decat daca nu ai incotro sau dac iti place sa te complici , daca ai acces numai la LPT foloseste un port de la PIC pentru a trimte byte-ul si ai comunicatie paralel , nu mai ai nevoie de setari si decodari SPI , iar in softul de PC monitorizezi doar LPT-ul ; De ce tii neaparat sa folosesti SPI ???

De ce are pisica coada ?Dar cea are SPI-ul ? are draci pe el ? :crazy:

"Irelevant" (uneori) este ... etc.

Ce tare ... :smt003 nimeni nu mi-a dat o informatie ajutatoare pina acu ... ( ma refer la electronica nu la filozofie )Mersi oricum ... mai am putin si le descopar singur... :supz:
Link spre comentariu

Am si eu o intrebare... Esti cumva oltean pur? masterpic are dreptate. Tu incerci sa reinventezi roata. Nu are rost sa faci decodarea SPI din softul de pc. De ce nu iti faci tu un "protocol" de comunicare in care sa ii trimiti date si sa primeasca date pe cativa pini (nu neaparat intreg portul), lucru care este mult mai usor de facut decat decodarea SPI.Am lucrat in Delphi acum ceva ani si gasisem o librarie care putea fi folosita pe XP pentru accesarea LPT-ului, dar nu puteam folosi niciuna din intreruperile disponibile ale LPT-ului (PortIO parca se numea), ci doar read/write. Eu zic ca mai degraba sa implementezi o "coada" in PIC si faci un pool la un interval fix cu softul de PC care clampane un bit, declanseaza o intrerupere a pic-ului si acesta trimite catre PC prima valoare din coada. In cazul acesta PC-ul devine Master, dar din punctul de vedere al SPI-ului PC-ul este tot client. Alta solutie nu cred ca ai (numai sa scrii/modifici un driver de imprimanta si OS-ul o sa vada adaptorul tau ca imprimanta. Asa o sa ai acces la intreruperi dar te vei lega la cap aiurea)Sper ca am fost suficient de clar.Filipone

Link spre comentariu

"Irelevant" (uneori) este doar un sfat de... principiu.In masura in care cineva vrea sa rezolva punctiform o problema, este... irelevant modul in care o face. Ah, daca intreaga omenire se va baza pe solutia sa, devine o... chestie.Mda, este o chestie de... agnosticism, dar multi (inclusiv eu) urasc portul serial. Ar trebui insa sa se obisnuiasca cu el sau... sa-l uite (mult mai bine dupa umila mea parere, oricum in curand nu o sa se mai gaseasca; de fapt nici paralelul nu are un viitor mai lung).

Desi sunt sigur ca s-a inteles ce am vrut sa spun, voi explica mai clar si pentru cei care se prefac ca nu inteleg. Pe lumea asta exista niste standarde, care au un scop anume: sa te scuteasca de o munca inutila (fie ca munca asta presupune accesarea directa a unui dispozitiv in Windows ori alt sistem de operare mai evoluat fara a folosi un driver, fie ca presupune interfatarea portului paralel cu cel SPI). Asadar "irelevant" era nu doar un sfat de principiu, ci unul de bun simt. Portul serial va mai exista inca multi ani, poate nu in PC-uri, dar in mediul industrial cu siguranta, si de aceea vor mai exista si interfete USB-serial (sau "altceva"-serial). Chestia ca unuia ii place sau nu un anume tip de comunicatie este, desigur, subiectiva (mie de ex. nu-mi place I2C), dar asta nu inseamna ca nu trebuie sa-l foloseasca. In cazul de fata este vorba doar de un moft, de aceea eu nu-mi voi bate capul deloc cu interfatarea SPI-paralel, deoarece ar fi un efort inutil atat pentru mine, cat si pentru altii care urmaresc discutia. Mai mult, ar insemna o incurajare a unor practici paguboase de proiectare.

Ce tare ... nimeni nu mi-a dat o informatie ajutatoare pina acu ... ( ma refer la electronica nu la filozofie )Mersi oricum ... mai am putin si le descopar singur...

Cei mai multi am incercat sa-ti dam niste sfaturi. Nu vrei sa le iei in considerare, ok.
Link spre comentariu
Vizitator Marus_Rockeru

Project Wobbler.exe raised exception class EPrivilege with message 'Privileged instruction'. Process stopped. Use Step or Run to continue. :smt003

 

adica l-am dat dr@cu... :partyman:

 

Multumesc pe acesta cale domnului Bill Gates care a facut un windows asa de bun "Windows XP". Este o noua tehnologie incredibila ! Deschide noi orizonturi pentru programatori ... :crazy:

Link spre comentariu
Vizitator Marus_Rockeru

:jerk: ... cred ca a trecut o luna de cind ma chinui sa trimit un byte de la PIC la PC.

Gata , am renuntzat la SPI , si la tot .... imi fac propria mea interfatza ! :smt092

Link spre comentariu

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