Zdravím vás,
obracím se s dotazem ohledně SW řešení na toto spojení. Po HW stránce to není problém, ale u SW si nejsem jistý. Na Mega16 chci použít HW SPI, ale nevím jak s touto pamětí komunikovat co nejefektivněji. Problém je v tom, že potřebuji číst/zapisovat string až 16 znaků dlouhý. SW píšu v Bascom, který by měl tuto fci zvládat. Nemáte někdo námět k řešení? Či odkaz, na řešení, které by bylo pro mé účely zneužitelné? Sám jsem nic moc kloudného nenašel.
Tj.:
Dejme tomu, že mám proměnnou “Dim X as String * 16” a chci ji uložit do externí paměti.
A v druhém kroku opět načíst do proměnné “Dim Y as String * 16”.
administrator: přejmenováno z "Mega16 a 24LC256"
Pardon, paměť je I2C, to jsem chtěl říci.
Něco jsem zkusil vytvořit, testoval jsem to jen v simulátoru.
Program1.txt (1.43 KB)
To vypada velice dobře, dnes vyzkouším a hned dám vědět. Velice děkuji za “nakopnutí”… 
Tak jsem to ještě drobet upravil.
Program2.txt (2.06 KB)
No páni,
Tak teď je to 1:0 pro Vás. Momentálně si nejsem jistý jestli ten kód dosti dobře chápu. Hlavně tu část s proměnnou “BANK”. Vyplívá mi z toho, že se jedná o adresu umístění v paměti 24c256 ale trochu mne mate souvyslost Bank0, Bank1 s Horním a dolním Byte. Nebylo by jednodušší určovat adresu jako souřadnice ve dvou osách s hodnotou Byte? 0-255… 256x256=65536 a počítat s tím, že končí u hodnoty 32767!? Každopádně Váše příklady mi vyřešily problém se správným čtením a zapisováním do paměti.
A nebo proč neurčovat adresu přímo v proměnné word? Lze to vubec?
Zkoukni tohle, mělo by to dělat přesně to co potřebuješ.
Program3.txt (3.82 KB)
Jo! Tak to je přesně ono.
Dokonalé řešení. Jen řeknu, co zapsat a kam to zapsat. Pouze si musím pamatovat, že nemohu přesáhnout 2047 stringů k zapsání/čtení. Což je naprosto super! Tímto chci poděkovat uživateli Standa33 za jeho čas, strávený nad problémy druhých! Děkuji…
Dobrý den,
tak se vracím opět k tomuto tématu. Došel jsem k tomu, že kód je sice funkční, ale z nějakého neznámého důvodu mi funkce ReadText vrací pouze 15 znaků nebo jich naopak procedura WriteText zapíše pouze 15. Kód jsem procházel několikrát a vůbec nevím by to mohlo být. Jedná se o “Program3” zde zmíněný.
Promiň, měl jsem tam chybu, už jsem to upravil, viz obrázek.
Program3_1.txt (4.04 KB)