parallel gebruik

Arduino specifieke Software
Berichten: 21
Geregistreerd: 06 Aug 2012, 21:13

parallel gebruik

Berichtdoor PE1bia » 09 Okt 2012, 09:47

Goedemorgen allemaal

Het gebruik van de Arduino mega krijg ik steeds beter onder de knie maar nu loop ik toch weer vast.
Ik wil een parallel poort van de ATmegachip gaan gebruiken maar ik kom daar niet aan uit.
Is er ergens info te vinden hoe dat kan of is dit eigenlijk wel mogelijk.
Ik wil dus een poort bv. A de 8bits tegelijk inlezen dat dat vergelijken.
Iemand die mij verder kan helpen?

Met dank voor je reactie

Joop PE1BIA

Advertisement

Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: parallel gebruik

Berichtdoor pjh » 09 Okt 2012, 18:49

Volgens mij heb je een 74HC165 nodig. Zal nog even checken of het klopt, maar met deze IC, kun je 8 bits parallel inlezen en deze serieel aan je arduino doorgeven. Het is een soort omgekeerde shiftregister als een 74HC595.

Met een data, clock en latch-lijn, en door het aan elkaar koppelen van meerdere hc165's, kun je op 3 arduino pinnetjes, 8, 16, 24. Etc paralelle pinnetjes uitlezen.

Wat ik nog steeds wilde doen, is zo'n 16 x keypad op een hc165 aansluiten. Misschien nu goed moment om te kijken of hetis wat je bedoelt. Ik heb er eerder 'oudere' geheugenchips mee uitgelezen.

Berichten: 21
Geregistreerd: 06 Aug 2012, 21:13

Re: parallel gebruik

Berichtdoor PE1bia » 09 Okt 2012, 20:43

Dag PJH
Ja, die manier van werken heb ik ook gezien maar het lijkt me wat omslachtig.
Ik vind het vreemd dat je dat niet rechtstreeks kunt doen.
Wel moet het mogelijk zijn om een stukje assembler er er tussen te zetten
maar dan kun je dit toch verdr niet verwerken.Jammer maar het is zo.
Bedankst voor je reactie.

Joop

Gebruikers-avatar
Berichten: 188
Geregistreerd: 23 Dec 2011, 00:12

Re: parallel gebruik

Berichtdoor Duality » 10 Okt 2012, 10:25

de atmega chip heeft ook pin ports, dat zijn 8 bit bussen, die aan de pinnen hangen, daar kan je gelijk 8 bits heen schrijven of van lezen :)
zoek arduino port manipulation :)

Berichten: 21
Geregistreerd: 06 Aug 2012, 21:13

Re: parallel gebruik

Berichtdoor PE1bia » 10 Okt 2012, 17:32

Dag Duality

Ja dat weet ik maar als ik die wil besturen dan moet ik dat in assembler doen.
En dat was nou net niet de bedoeling.

Joop

Gebruikers-avatar
Berichten: 188
Geregistreerd: 23 Dec 2011, 00:12

Re: parallel gebruik

Berichtdoor Duality » 11 Okt 2012, 14:12

is het aansturen assembly ? wist ik niet lol ik dacht dat het gewoon c was ...
Code: Alles selecteren
    DDRD = 0b00000010; //a zero is a input, the reason for the 1 is serial.
    DDRB = 0b11111100;//0xFC; //on portb we set the first two pins to input and mask the rest.
    Data = ((PIND & 0xFC)>>2) | ((PINB & 0x03)<<6);

    //we set the pins we need to output a 1 is a output.
    DDRD = DDRD | 0b11111110;
    DDRB = DDRB | 0b00000011;//0x03;
    //we write the data to the i/o pins.
    PORTD = Data<<2;
    PORTB = Data>>6;


source:http://thefreeduality.tk/?page_id=185

Berichten: 21
Geregistreerd: 06 Aug 2012, 21:13

Re: parallel gebruik

Berichtdoor PE1bia » 01 Nov 2012, 23:55

Dag allemaal. Het gaat steeds beter maar nu het volgende:

Met dit stukje programma kan ik schrijven naar een poort
Hoe kan ik nu lezen van van deze poort?
Het kan via een schuifregister maar het moet toch mogelijk
zijn om alles in een keer uit te lezen

int joop = 0x0f;
void setup ()
{
DDRD = B11111111;
}
void loop()
PORTD = joop;

Nu schrijf ik de hex waarde 0x0f direct naar de poort.
Ik weet dat ik, om te lezen, de poortrichting nu eerst moet omdraien maar wat dan.
Iemand een oplossing?

groet Joop

Gebruikers-avatar
Berichten: 188
Geregistreerd: 23 Dec 2011, 00:12

Re: parallel gebruik

Berichtdoor Duality » 02 Nov 2012, 01:10

lezen is zeer makkelijk.
eerst zet je direction register naar input.
Code: Alles selecteren
DDRD = 0x00;

en vervolgens lees je het uit.
Code: Alles selecteren
value = PIND;

Berichten: 21
Geregistreerd: 06 Aug 2012, 21:13

Re: parallel gebruik

Berichtdoor PE1bia » 02 Nov 2012, 12:01

Maar wat bedoel je met "code selecteer alles"?
joop

Gebruikers-avatar
Berichten: 188
Geregistreerd: 23 Dec 2011, 00:12

Re: parallel gebruik

Berichtdoor Duality » 03 Nov 2012, 04:26

wat bedoel je?

Volgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: uwakoca en 14 gasten