1 MSSP modul - změna SPI na I2C a zpět při běhu programu

Zdravim,

Čistě teoreticky, řekněme že mám procesor s MSSP modulem, tam můžu použít SPI nebo I2C mód komunikace. A co když budu mít aplikaci kde budu potřebovat použít obě komunikace??? každou v jinej čas, nebudou běhat zároveň. Bude možné v běhu programu přeinicializovat na jinej mód komunikace??? Abych uvedl příklad: třebas PIC18F4685 a na něj připojit RTC DS1307 (I2C) a LED drivery SCT2026 (SPI). LED drivery budou řídit nějakej LEDpanel, takže velkej multiplex, a mezitim vyčítat čas z RTC. takže bych chvili zobrazoval s SPI, pak přeinicializoval na I2C a vyčet čas a pak zase přeinicializovat na SPI a zobrazoval, Bude to tak možné v průběhu programu přeinicializovat ??? máte s tím někdo nějaké zkušenosti ???

Čistě teoreticky… si myslím, že to nepůjde.
Nevidím problém v změně módu kontroleru, myslím si ale, že se s změnou režimu nepopasují koncová zařízení. Prostě nějak si nedovedu představit, že by byla společná sběrnice I2C a SPI.
Na druhé straně asynchroní I2C je vcelku jednoduché udělat softwarově.

no ono maj společnej jen pin na hodiny, datový piny sou zvlášť, když pojede SPI tak data na I2C sou v klidu takže se nikdy neudělá start bit, tudíž RTC nebude na nic reagovat, a když pojede I2C, tak zařízení na SPI nebude reagovat pač má eště dva řídící piny (enable a nevim co je to druhý)… ale tak je to jen moje úvaha, takže fakt nevim,

Přepínat v programu jednotlivé módy (SPI/I2C) asi není problém - horší to bude dál - otázka je na kolik ti SPI sběrnici ovlivní pullupy 4k7 nutné pro I2C - jak známo MISO by měl být ve vysoké impedanci.
Řešení bych viděl spíš v použití typu, kde jsou tyto periferie použité odděleně, nebo vytvoření sw SPI na jiných pinech - je to jednodušší než I2C - ovšem za předpokladu, že nebudeš moct využívat pro svoje SPI přerušení.

Anebo nekombinovat a používat jednu sběrnici - jsou i RTC komunikující po SPI. Což samozřejmě padá, jestli už máš zmiňované součástky doma.

edit: než jsem to stihl odeslat, přibyly další odpovědi, to jen pokud by se zdálo , že se opakuju

jak sem psal, datové vodiče jsou samostatně a pullup na hodinovém pinu by pro SPI neměl být problém, viděl sem pár případů kde dávaj na SPI pullupy. Přemýšlel sem o procesoru s dvouma modulama MSSP, ale sou pro mě zbytečně velké a piny maj tak hustě namačkané že nevyrobím DPS,

součástky doma nemám, zatim to mám jen v hlavě, tak mám ještě možnost jakékoliv volby.

počkám ještě jestli se tu najde někdo, kdo to třebas už vyzkoušel a pak se uvidí no,

Pokud jsi zatím ve fázi plánování - tak jak jsem už psal - nekomplikoval bych to používáním několika sběrnic.