PIC 16F88 AUSART och SPI samtidigt?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

PIC 16F88 AUSART och SPI samtidigt?

Inlägg av Kaggen »

Har suttit och kollat lämpliga PIC:ar till mitt projekt. 16F88 verkade vara rena drömmen, A/D, AUSART, SPI + massa minne och inte allt för många ben. När jag så tittade lite närmare på pinkonfigurationen upptäckte jag till min fasa att samma pinne/ben används till både RX och SDO. Detta ställer ju onekligen till lite problem för mig.

Tanken är att jag skall läsa ett SPI EEPROM och samtidigt skicka innehållet till en dator via RS232. Jag skulle ju iofs kunna läsa in en bunt bytes från EEPROM:et och buffra upp dom i PICens RAM och skicka som "paket" genom att göra något fyndigt protokoll.

Frågan är då, hur kopplar jag bäst ihop detta rent fysiskt med en MAX RS232 krets? Kopplar jag RX/SDO pinnen till MAX:en via ett lämpligt motstånd? SDI på EEPROMet är väl alltid "högohmigt" så den kan väl kopplas direkt till SDO pinnen på PICen?

Kod: Markera allt

        EEPROM (SDI)
                |
                |    x Ohm
                |    _____
PIC (RX/SDO)----|----|____|-----(MAX 232)
Alternativt så implementerar jag SPI i mjukvara och kör 16F688 istället och spar in lite ben.
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Jag röstar på att ha dem på olika pinnar. Allt annat är en "fullösning".
En mjukvaruvariant av SPI är inte speciellt jobbigt att greja.
dangraf
Inlägg: 530
Blev medlem: 9 juni 2003, 15:30:56
Ort: göteborg

Inlägg av dangraf »

Att köra en mjukvarulösning går. Men jag vet av egen erfarenhet att det är inte roligt att komma på i efterhand att man vill köra fler interrupt eller ha koll på fler saker under tiden man kommunicerar genom mjukvara. T.ex om du ska logga värden från AD omvandlare eller liknande. Så det beror ju lite på vad du tänkt göra. Ska du enbart läsa från ett minne och skicka till 232 hade jag kört på en mjukvarulösning. Men annars hade jag försökt få processorn att lösa det hårdvarumässigt.
Skriv svar