Beste CO'ers
Ik ben momenteel bezig met een lichtkrant tekst.
Maar voor de tekst zelf heb ik een string nodig van ongeveer 192 karakters maar heb hiervoor niet genoeg intern ram geheugen.
Weet iemand hoe ik er extra ram aan knoop?
Alvast bedankt,
Johan v. Althuis
Ps. Ik gebruik BASCOM om te programeren.
Benadski
Kom eens langs bij RevSpace of één van de andere spaces!
Je hebt 128 bytes RAM als het goed is, waarvan je een klein deel als stack gebruikt. Kun je de letters niet terugbrengen naar 5 bit in plaats van 8 bit? Misschien lastig, maar als je tijd en code over hebt is het misschien handig.
Je kan iig. niet zoals bij grotere AVR's er zomaar RAM bijhangen. Ik denk dat je op zoek moet naar serieele RAMs of iets dergelijks en dan met SPI of I2C aansturen.
Kun je dat Seriele ram en SPI I2C nog wat nader uitleggen?
Ik weet niet precies wat je daarmee bedoelt.
Alvast bedankt.
J v. althuis
Benadski
Kom eens langs bij RevSpace of één van de andere spaces!
Serieel RAM is eigenlijk nauwelijks verkrijgbaar, waarom weet niemand. Het zou genoeg toepassingsmogelijkheden kennen denk ik. Vooral bij microcontrollerapplicaties.
Enkele links:
SPI: http://www.sunplus.com.tw/products/memory/sprs.asp
I2C: http://www.semiconductors.philips.com/pip/PCF8570.html
1Wire: http://www.maxim-ic.com/quick_view2.cfm?qv_pk=2912&ln=
EDIT: Als je groter nodig hebt kan je altijd nog voor deze module gaan.
[Bericht gewijzigd door Benadski op ]
Koen Van Vlaenderen
De vergeetachtigheid bewijst grotere diensten aan het hart dan het geheugen aan het verstand.
Bastiaan
Bachelor of Engineering -- Microcontrollers AVR, PIC (asm, C), PC applicaties (C, C++), Webpages (HTML, CSS, PHP, SQL), Rail-infra engineer
Op 19 november 2003 12:27:21 schreef Benadski:
Serieel RAM is eigenlijk nauwelijks verkrijgbaar, waarom weet niemand.
Omdat RAM meestal wordt gebruikt voor snelle toegang tot data. En dat gaat dan het snelste zonder veel poeha als het parallel geschied ipv serieel.
Benadski
Kom eens langs bij RevSpace of één van de andere spaces!
Ja sneller is het wel, maar toch kost het dan veel pinnen of het wordt een complexe busstructuur. Daar is niet altijd even veel plaats voor, zeker niet bij kleine uC's. Tevens is de RAM chip groter en neemt dus meer plaats in.
Sommige kleine toepassingen hebben extra RAM nodig wat niet snel hoeft te zijn. Wat wel een vereiste is is dat de data oneindig veranderd moet kunnen worden. Dan biedt EEPROM of FRAM geen uitkomst meer.
Daarom vind ik het zo raar dat er nog zeer weinig seriele RAM chips zijn.
Roland van Leusden
It's the rule that you live by and die for It's the one thing you can't deny Even though you don't know what the price is. It is justified.
Misschien kun je hier iets mee ?
The DS1200 Serial RAM Chip is a miniature read/write memory that can randomly access individual 8-bit strings (bytes) or sequentially access the entire 1024-bit contents (burst). Interface cost to a microprocessor is minimized by on-chip circuitry, which permits data transfers with only three signals: CLK, RST-bar, and DQ.
RES
RES
Kun je niet beter deze karakters in de interne Flash plaatsen in een tabel, daarin deze 192 karakters (192 x 5 bytes = 960 bytes nodig) Ik weet niet hoeveel displays je hebt. Stel je hebt 16 displays van 5x7 dots, dan maak je een SRAM buffer van 16 x 5 kolommen = 80 bytes aan, dan telkens de karakter data ophalen uit flash op de SRAM buffer plaatsen en die leest de mux-routine telkens uit, althans zo heb ik het gedaan.
Uitleg: 192 karakters x 5 bytes, ik heb de 7 dots hoge karakter data 90 graden gedraaid staan in een tabel, aangezien je dan niet 192 x 8 bytes = 1536 bytes verbruikt.
Verschil van 1536 - 960 = 576 bytes (is niet niks voor een controller met maar 2k flash)