Dela port

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
doggy
Inlägg: 18
Blev medlem: 5 januari 2008, 22:24:24
Ort: Örebro

Dela port

Inlägg av doggy »

Jag håller på och bygger ett litet projekt och har lite funderingar.

Jo, det är så att jag använder 2 PWM-portar för att styra en motor, nu behöver jag dela den porten
med en keypad. Keypadden använder hela 8-bitars porten och den används endast vid system uppstart, dvs innan motorstyrningen skall användas.

Jag funderar på vilket som är det bästa sättet att förhindra att signaler skickas till motorstyrkretsen
när keypaden används. Jag tänkte avvara en pinne på en annan port för att kunna styra enable/disable
pwm output till motorstyrkretsen.


Signalframtillmotorn endast om ((PWM A || PWM B) && ENABLED) :)

Tacksam för tips!
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Dela port

Inlägg av bearing »

Jag ser inte något problem med det.

Keypaden kan antagligen kopplas på annat sätt som tar färre IO (men kanske mer hårdvara och kod), ifall du vill slippa enable-tråden.
doggy
Inlägg: 18
Blev medlem: 5 januari 2008, 22:24:24
Ort: Örebro

Re: Dela port

Inlägg av doggy »

ok, jag funderar på hur man löser det med någon form av extern "and-logik". Kan man använda en vanlig andgate till sånthära?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Dela port

Inlägg av sodjan »

Eller en processor med fler pinnar...
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Dela port

Inlägg av Icecap »

Att dela portpinnar på detta vis är dåligt design till att börja med! Vissa funktioner kan man fint dela med men motorstyrning osv. är inte bra.

Sodjans råd om en µC med fler pinnar är helt rätt men finns det specifika problem med detta (jag kan inte tänka mig vad det skulle vara) finns det andra sätt att expandera portpinnar på, man kan ta ett skiftregister till utläsning och ett till inläsning, det kan ta upp till 4 pinnar i anspråk och då kan man i teorin expandera så långt man vill.
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Dela port

Inlägg av bearing »

Med extra hårdvara och annan kod för att läsa tangenterna går det som sagt med färre I/O. Vet inte vilken den bästa lösningen är. Här är en:
Bild
http://www.mikerj.clara.net/keypad.html

Andra länkar:
http://en.wikipedia.org/wiki/Charlieplexing
Novel Switch Interface Scheme Reduces Microprocessor Pin Count
doggy
Inlägg: 18
Blev medlem: 5 januari 2008, 22:24:24
Ort: Örebro

Re: Dela port

Inlägg av doggy »

Tackar för tipsen!
Skriv svar