Antal in och ut???USB som har massvis med utgångar och ingångar, digital och analogt
Programmera parallellporten? Som en arduino?
- tecno
- Inlägg: 27252
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: Programmera parallellporten? Som en arduino?
- tecno
- Inlägg: 27252
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: Programmera parallellporten? Som en arduino?
Al_Bundy skrev:I/O.tecno skrev:Och var kommer PARALLELL porten in i bilden?
Och vad har då detta med Arduino att göra dvs P-porten?
Re: Programmera parallellporten? Som en arduino?
Ja, USB-anslutna I/O-kort finns.
T.ex. http://www.kjell.com/sortiment/el/elekt ... ini-p87245
(Notera dock att beskrivningen säger att det finns DLL:er för att kommunicera med den, det innebär möjligen att det bara funkar under Windows om nu inte nån tredje part tagit fram drivrutiner till andra operativ.)
Men hur ska en Arduino läsa hårddisken? Jag menar, hur ska den vara fysiskt kopplad till hårddisken? Arduinon lär väl behöva prata med ett program i datorn som läser hårddisken åt den?
T.ex. http://www.kjell.com/sortiment/el/elekt ... ini-p87245
(Notera dock att beskrivningen säger att det finns DLL:er för att kommunicera med den, det innebär möjligen att det bara funkar under Windows om nu inte nån tredje part tagit fram drivrutiner till andra operativ.)
Men hur ska en Arduino läsa hårddisken? Jag menar, hur ska den vara fysiskt kopplad till hårddisken? Arduinon lär väl behöva prata med ett program i datorn som läser hårddisken åt den?
Re: Programmera parallellporten? Som en arduino?
>>Men hur ska en Arduino läsa hårddisken? Jag menar, hur ska den vara fysiskt kopplad till hårddisken? Arduinon lär väl behöva prata med ett program i datorn som läser hårddisken åt den?
Det är de jag behöver hjälp med. Jag vill att efter jag har "installerat" programmet på arduinon så ska arduinon läsa hårdisken på min dator via USB-kabeln.
Ja, exakt. Arduinon måste prata med ett program i datorn som läser hårddisken. Men går det? Finns det något bibliotek för det t.ex C? Jag hade mer tänkt som att datorn ska kunna betrakta arduinon som en dator.
Ungefär som när man drar över filer från en annan dator.
Det är de jag behöver hjälp med. Jag vill att efter jag har "installerat" programmet på arduinon så ska arduinon läsa hårdisken på min dator via USB-kabeln.
Ja, exakt. Arduinon måste prata med ett program i datorn som läser hårddisken. Men går det? Finns det något bibliotek för det t.ex C? Jag hade mer tänkt som att datorn ska kunna betrakta arduinon som en dator.
Ungefär som när man drar över filer från en annan dator.
Re: Programmera parallellporten? Som en arduino?
Det är väl bara att PC'n läser filen och skickar den text du vill ha på displayen över serieporten till Arduinon ?
Re: Programmera parallellporten? Som en arduino?
Så skulle det också gå. Men hur då?
Om arduninon är redan igång och gör det den ska. Kan jag skicka då information via USB-kabeln till arduinon då så den får läsa det jag skickar?
EDIT: Fel av mig. Vi säger att jag har programmerat arduinon så den väntar på ett svar från mig. Är det då möjligt att jag kan skicka data igenom USB-kabeln till arduinon och den får läsa datan då?
Om arduninon är redan igång och gör det den ska. Kan jag skicka då information via USB-kabeln till arduinon då så den får läsa det jag skickar?
EDIT: Fel av mig. Vi säger att jag har programmerat arduinon så den väntar på ett svar från mig. Är det då möjligt att jag kan skicka data igenom USB-kabeln till arduinon och den får läsa datan då?
Re: Programmera parallellporten? Som en arduino?
Duh, det är ju ganska exakt *det* Arduinon faktiskt är...Al_Bundy skrev:Jag bara undrar om det finns typ ett kort man kopplar in i USB som har massvis med utgångar och ingångar, digital och analogt. Sen kan man styra dessa med ett programmeringsspråk.
Du kan såklart använda USB anslutningen för att prata med PC:n i ditt egna program
som du lägger in i Arduinon - den är inte endast till för att programmera Arduinon...
/johan
Re: Programmera parallellporten? Som en arduino?
Här är en grundläggande tutorial i hur seriell kommunikation görs med Arduino:
http://www.ladyada.net/learn/arduino/lesson4.html
/johan
http://www.ladyada.net/learn/arduino/lesson4.html
/johan
Re: Programmera parallellporten? Som en arduino?
EDIT: Du han före.
Hur gör man då?
Finns det något speciellt program eller?
Så här hade jag tänkt men det blir svårt om det rör sig om mängder av data.
1. Vi säger att vi betraktar USB-porten på arduinokortet som en vanlig pin precis som de andra "pinnarna" på kortet. Jag programmerar så USB-pin väntar på en 5 volts spänningsfrekvens under ett visst tidsintervall. Som en morsekod.
2. Sen programmerar jag USB porten på själva datorn med ett programmeringsspråk som ska läsa en textfil och sedan omvandla det till en kod som man skickar via en frekvens. Detta är det svåra eller omöjliga delen.
Det skulle vara perfekt om man kunde "flytta" exakt det man vill att arduinon ska läsa, direkt vis USB-porten på datorn så arduinon behöver bara läsa direkt från USB. Men hur vet jag inte.
Hur gör man då?
Finns det något speciellt program eller?
Så här hade jag tänkt men det blir svårt om det rör sig om mängder av data.
1. Vi säger att vi betraktar USB-porten på arduinokortet som en vanlig pin precis som de andra "pinnarna" på kortet. Jag programmerar så USB-pin väntar på en 5 volts spänningsfrekvens under ett visst tidsintervall. Som en morsekod.
2. Sen programmerar jag USB porten på själva datorn med ett programmeringsspråk som ska läsa en textfil och sedan omvandla det till en kod som man skickar via en frekvens. Detta är det svåra eller omöjliga delen.
Det skulle vara perfekt om man kunde "flytta" exakt det man vill att arduinon ska läsa, direkt vis USB-porten på datorn så arduinon behöver bara läsa direkt från USB. Men hur vet jag inte.
Re: Programmera parallellporten? Som en arduino?
En gång till:
Här är en grundläggande tutorial i hur seriell kommunikation görs med Arduino:
http://www.ladyada.net/learn/arduino/lesson4.html
/johan
Här är en grundläggande tutorial i hur seriell kommunikation görs med Arduino:
http://www.ladyada.net/learn/arduino/lesson4.html
/johan
Re: Programmera parallellporten? Som en arduino?
Jag läste den. Men du han före mig på att svara 
Tack i alla fall!

Tack i alla fall!
Re: Programmera parallellporten? Som en arduino?
Det är nog dags att du börjar läsa på lite.
1: C-språket kan inte läsa/skriva till io-portar (ej heller JAVA, eller något annat högnivåspråk), för att göra det måste du ha någon form av bibliotek, med funktioner som gör just detta.
dessa funktioner kan du sedan anropa i ditt C-program (ditt program kan ju naturligtvis vara skrivet i vilket språk som helst, typ OCCAM, B, A, BASIC, FORTRAN, COBOL osv).
En förutsättning är att du har bibliotek som kan hantera portarna.
Det finna alltså inga instruktioner i C för att hantera portar och liknande.
2: Du kan inte manipulera portarna direkt i något av de moderna operativsystemen, till det krävs speciella drivrutiner, vilka har dessa funktioner.
När det gäller Windows, så tenderar dessa drivrutiner att kosta en del.
3: för att kunna kommunicera över USB, krävs att din externa enhet har en USB-stack, samt att du skrivit programvara för att kommunicera via denna stacken.
Därefter kan du nästan göra vad somhelst.
4: för att kommunicera via USB på en PC, krävs att du skriver någon form av program som gör exakt det du vill, det gfinns garanterat inga bibliotek som gör vad du vill.
Nå för att se på din frågeställning, du vill att din externa enhet "beställer" textfiler från PC'n för att seda visas på någon form av display, (i mitt tycke en fullständigt onödig sak, bättre att lägga texterna i den externa enheten direkt).
För att kunna göra detta, måste du:
1: skriva ett program för PC'n (det finns garanterat inga färdiga), som med jämna mellanrum frågar din externa enhet om den behöver något, om den externa enheten behöver något, letar PC-programmet fram detta och skickar över det till din externa enhet.
2: skriva ett progeram för din externa enhet, vilket ligger och väntar på att USB-stacken skall generera ett interrupt (eller motsvarande) för att tala om att den har fått nånting från PC'n.
Om det är en förfrågan, så svarar ditt program förmodligen med ett filnamn, om det inte är en förfrågan, så tar programmet i så fall förmodligen emot någon form av fil, i ett förhoppningsvis lämpligt format, som du sedan då förhoppningsvis kan visa på displayen.
Dock kan liksom inte riktigt förstå meningen med detta, förutom ren träning i programmering.
1: C-språket kan inte läsa/skriva till io-portar (ej heller JAVA, eller något annat högnivåspråk), för att göra det måste du ha någon form av bibliotek, med funktioner som gör just detta.
dessa funktioner kan du sedan anropa i ditt C-program (ditt program kan ju naturligtvis vara skrivet i vilket språk som helst, typ OCCAM, B, A, BASIC, FORTRAN, COBOL osv).
En förutsättning är att du har bibliotek som kan hantera portarna.
Det finna alltså inga instruktioner i C för att hantera portar och liknande.
2: Du kan inte manipulera portarna direkt i något av de moderna operativsystemen, till det krävs speciella drivrutiner, vilka har dessa funktioner.
När det gäller Windows, så tenderar dessa drivrutiner att kosta en del.
3: för att kunna kommunicera över USB, krävs att din externa enhet har en USB-stack, samt att du skrivit programvara för att kommunicera via denna stacken.
Därefter kan du nästan göra vad somhelst.
4: för att kommunicera via USB på en PC, krävs att du skriver någon form av program som gör exakt det du vill, det gfinns garanterat inga bibliotek som gör vad du vill.
Nå för att se på din frågeställning, du vill att din externa enhet "beställer" textfiler från PC'n för att seda visas på någon form av display, (i mitt tycke en fullständigt onödig sak, bättre att lägga texterna i den externa enheten direkt).
För att kunna göra detta, måste du:
1: skriva ett program för PC'n (det finns garanterat inga färdiga), som med jämna mellanrum frågar din externa enhet om den behöver något, om den externa enheten behöver något, letar PC-programmet fram detta och skickar över det till din externa enhet.
2: skriva ett progeram för din externa enhet, vilket ligger och väntar på att USB-stacken skall generera ett interrupt (eller motsvarande) för att tala om att den har fått nånting från PC'n.
Om det är en förfrågan, så svarar ditt program förmodligen med ett filnamn, om det inte är en förfrågan, så tar programmet i så fall förmodligen emot någon form av fil, i ett förhoppningsvis lämpligt format, som du sedan då förhoppningsvis kan visa på displayen.
Dock kan liksom inte riktigt förstå meningen med detta, förutom ren träning i programmering.
Re: Programmera parallellporten? Som en arduino?
Äldre datorer har parallellport och de körs ofta i XP.
Vill du styra en XP-dators parallellport i Java kan du
läsa på den här sidan: http://www.oocities.org/Juanga69/parport/install.html
Annars finns något som heter JNI (Java Native Interface)
Du kan anropa egenskrivna C snuttar från JAVA.
http://mindprod.com/jgloss/jni.html
Vill du styra en XP-dators parallellport i Java kan du
läsa på den här sidan: http://www.oocities.org/Juanga69/parport/install.html
Annars finns något som heter JNI (Java Native Interface)
Du kan anropa egenskrivna C snuttar från JAVA.
http://mindprod.com/jgloss/jni.html
Re: Programmera parallellporten? Som en arduino?
"En förutsättning är att du har bibliotek som kan hantera portarna.
Det finna alltså inga instruktioner i C för att hantera portar och liknande."
Jag har ett par äldre datorer i drift, med hemskrivna program.
Jag har inget minne av att det är några speciella bibliotek inblandade.
Programmet skriver och läser direkt på parallellporten.
Det finna alltså inga instruktioner i C för att hantera portar och liknande."
Jag har ett par äldre datorer i drift, med hemskrivna program.
Jag har inget minne av att det är några speciella bibliotek inblandade.
Programmet skriver och läser direkt på parallellporten.
Re: Programmera parallellporten? Som en arduino?
I pre-WinXP kunde man skriva direkt till hårdvaran. I kompilern fanns det Inport och Outport kommandon och jag minns att man kunde kolla 3 specifika platser i minnet efter LPT1, 2 & 3 bas-adressor. Samma med COM-portar för den delen.