Deska s STM32F103C8T6 - komunikace SPI a I2C

Tvoříte zajímavý projekt? Pochlubte se s ním.
Pravidla fóra
Vkládejte prosím jen HOTOVÉ projekty, které chcete představit ostatním.
Odpovědět
petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Reputation: 0
Kontaktovat uživatele:

Deska s STM32F103C8T6 - komunikace SPI a I2C

Příspěvek od petan » 25 črc 2017, 10:20

Má někdo zkušenosti s deskou s procesorem STM32, známou taky jako "STM32F103C8T6 Minimum System Board"?
Jde mi o komunikaci SPI a I2C.

Komunikace s jedním zařízením na každé sběrnici mi funguje. Ale potřeboval bych rozchodit dvě zařízení na SPI a dvě na I2C.

zbysek
Site Admin
Příspěvky: 125
Registrován: 22 úno 2017, 15:18
Reputation: 0

Re: Deska s STM32F103C8T6 - komunikace SPI a I2C

Příspěvek od zbysek » 25 črc 2017, 14:57

A je problém u konkrétní desky, nebo jen nevíte, jak se s těmito sběrnicemi pracuje?

U I2C máte vše připojené na stejné vodiče. Jen dochází k adresaci.
U SPI máte sdílené vodiče + pro každé zařízení vlastní "select" vodič SS.

petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Reputation: 0
Kontaktovat uživatele:

Re: Deska s STM32F103C8T6 - komunikace SPI a I2C

Příspěvek od petan » 25 črc 2017, 15:49

zbysek píše:
25 črc 2017, 14:57
U I2C máte vše připojené na stejné vodiče. Jen dochází k adresaci.
U SPI máte sdílené vodiče + pro každé zařízení vlastní "select" vodič SS.
Jo, to vím, jak sběrnice pracují. Jde o to, jak to přepínat. I2C jsem zatím tolik neřešil - to možná rozchodím.

Ale potřebuju přepínat komunikaci s displejem a detektorem. Oboje mám propojeny pomocí MOSI, MISO, SCK a ke každému mám sólo CS signál. Na displej používám knihovnu Adafruit. Jak vůbec přepínat komunikaci mezi zařízeními. Možná budu muset měnit i rychlost sběrnice a mód. Musím před komunikací změnit nastavení, nebo si vytvořit dvě instance SPI? Byl bych vděčný za nějaký easy příklad - jenom takovej nástřel.

Zatím jsem to jen oťukával. Navíc na desce s STM32 procesorem a ten je trochu jinačí proti Atmelům.

zbysek
Site Admin
Příspěvky: 125
Registrován: 22 úno 2017, 15:18
Reputation: 0

Re: Deska s STM32F103C8T6 - komunikace SPI a I2C

Příspěvek od zbysek » 25 črc 2017, 20:02

Pokud ta zařízení mají vlastní knihovnu, tak by mělo stačit vytvořit pro každé zařízení vlastní instanci s nastaveným SS. Záleží ale také na tom, jak jsou implementované knihovny - jestli si například před komunikací ověří, jestli komunikují se správným zařízením apod. Ale měly by.

Pokud budete psát vlastní řešení, tak je to vlastně o přepínání dvou pinů a komunikace na SPI. Princip je naznačený třeba zde: http://www.learningaboutelectronics.com ... roller.php.

Docela pěkně je SPI popsané tady: https://www.arduino.cc/en/Reference/SPI. Řeší se tam i změna módů apod.

S vaší deskou ale zkušenosti nemám, tak asi víc neporadím.

petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Reputation: 0
Kontaktovat uživatele:

Re: Deska s STM32F103C8T6 - komunikace SPI a I2C

Příspěvek od petan » 25 črc 2017, 23:22

Už se mi podařilo rozchodit na sběrnici I2C RTC a Vlhkoměr SHT21 bez knihoven. Barometr mám nějakej pojebanej už od Číňana. Při připojení SDA na sběrnici mi ji to shodí - přestanou komunikovat i hodiny. Zejtra na to mrknu na osciloskopu.

SPI bych nejradši taky rozchodil bez knihoven, ale displej bych rozhodně nedal. Takže používám Adafruit_GFX_AS a Adafruit_ILI9341_STM. K tomu chci připojit ... tramtadadááá ... detektor blesků AS3935. Ten musí komunikovat maximální rychlostí 2 MHz, v MODE1 a kdoví co ještě. Zatím jsem to ještě úplně laborovat nezkoušel. Ani vlastně nevím jak komunikuje displej, když to celý šteluju přes knihovny...

STM32 má nevýhodu, že si nenechá úplně všechno líbit - s těma knihovnama je to kříž. Navíc jsem s tím včera začal - nikdy předtím jsem STM32 neměl v ruce. A s Arduinem jsem postavil jen ten sodobar. Ale zas na druhou stranu, není to taková lemra líná jak Arduino (poměr cena/výkon).


V příloze je takovej nástřel.. Nahoře je čas a datum, pod tím teplota a vlhkost (průměr z poslední minuty), podtím jednotlivé náměry z kterých se počítá průměr (dva řádky), ve třetím řádku jsou jednotlivé průměry z minut, a ve spodním řádku je na druhým a třetím místě průměr z posledních pěti minut (teplota a vlhkost). To se vykresluje do grafu - graf jakoby couvá - teď jsem to zapnul, tak sjou skoro všude nuly.Ráno udělám aktualizaci. Snad mi to tu v noci nebouchne :D
Přílohy
WP_20170725_23_16_00_Pro.jpg
WP_20170725_23_16_00_Pro.jpg (297.53 KiB) Zobrazeno 3929 x

petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Reputation: 0
Kontaktovat uživatele:

Re: Deska s STM32F103C8T6 - komunikace SPI a I2C

Příspěvek od petan » 26 črc 2017, 18:29

Jedem grafy 8-) Jde vidět, jak člověk zadejchá místnost přes noc - stoupá vlhkost.
Asi ještě přidám nějaký čidlo kvality vzduchu...ale jsou drahý potvory. Uvidím, jak se mi podaří rozchodit tu komunikaci přes SPI...
Přílohy
WP_20170726_06_08_08_Pro.jpg
WP_20170726_06_08_08_Pro.jpg (391.75 KiB) Zobrazeno 3915 x

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host