I2C - Arduino STM32 Nucleo L476RG
David Obdrzalek
David.Obdrzalek na mff.cuni.cz
Neděle Prosinec 2 17:30:59 CET 2018
S i2c na STM bohuzel neporadim, ale muzu aspon vysvetlit, jak to je s umistenim
knihoven (coz plati pro Arduino obecne bez ohledu na jadro pouzite desky):
Pokud je v IDE vybrana spravna deska, tak se pouzijou ty knihovny, ktere k te desce
patri a neni potreba je nekde dohledavat rucne nebo zkoumat, jestli jsou od AVR nebo
od me desky.
Pro knihovny, jez jsou soucasti "oficialni distribuce" to je v adresari:
1. bud kdyz je to nejake standardni Arudino Uno, mini atd., tak jsou tam, kde je to
IDE instalovane, napr. C:\Program Files\Arduino\hardware\arduino\avr\libraries
2. nebo kdyz to je nejaka deska s jinym jadrem, treba SAM, ESPxxx nebo STMxxx, tak
se cela podpora desky instaluje do adresare pod mym uzivatelskym profilem, konkretne
%USERPROFILE%\AppData\Local\Arduino15\packages a tam se tomu udela nejaky
podadresar. Budou tam pak i vsechny zakladni knihovny jako je tahle debatovana Wire.
(ta cesta se da okopirovat do File manageru, neni potreba zjistovat, kde ten profil
mam)
Pro dodatecne pridane knihovny (at uz z Projekt / Pridat knihovnu / Spravovat
knihovny nebo Pridat .ZIP knihovnu nebo uplne rucne) to je v adresari danem
umistenim uzivatelovych skriptu (nastavene v IDE menu Soubor / Vlastnosti / Umisteni
projektu), kde se vytvori podadresar libraries.
Hlavni je, ze se knihovny hledaji automaticky podle toho, kterou desku si nastavim v
menu Nastroje / Vyvojova deska. Akorat je matouci, ze to je na vice ruznych mistech,
pricemz knihovny pro a AVR a pro jina jadra jsou uplne jinde.
Pro kontrolu je mozne v nastaveni IDE zapnout detailni hlasky z kompilace a
nahravani (v dialogu Soubor / Vlastni na to jsou dve zaskrtavatka "Zobrazit vice
informaci vystupu"), pak se do te dolni casti v IDE pise hromada hlasek a da se tam
vykoukat, co vsechno se predhazuje kompilatoru, vcetne cest ke knihovnam.
D.O.
On 2 Dec 2018 at 14:41, Jirka Mww wrote:
> Tomáši díky,
> ale já nevím, kde wire lib z STM32duino najít. Přestože jsem STM32duino
> nainstaloval do Arduino IDE tak mám v adresáři
> c:\Program Files\Arduino\hardware\arduino\avr\libraries\Wire\ pořád jen
> původní wire knihovnu pro AVR.
> desku napájím jen z USB portu, napětí jsem zatím neřešil, ten RTC DS3231
> by
> měl být i na 3.3V.
>
> Zdravi
> Jirka Sloupenský OK1MWW
>
>
> ne 2. 12. 2018 v 13:38 odesílatel Tomas Urbanek <turbyho na me.com> napsal:
>
> > Pokud pouzivas stm32duino tak by i2c melo byt kompatibilni s arduinem,
> > tudiz vetsina knihoven pro i2c zarizeni funguje bez problemu. Samozrejme je
> > nutne pouzivat “wire” lib z stm32duino a ne verzi pro avr. Na nucleu je i2c
> > vyvedeno shodne s arduinem. Taky nezapomen, ze nucleo je 3.3v.
> >
> > T
> >
> > 2. 12. 2018 v 12:39, Jirka Mww <jirka.mww na gmail.com>:
> >
> > Dobry den
> > diky za odpoved. Mam ten SW napsan a odladeny na Arduinu Pro mini, ale to
> > ma malo pameti na to, co potrebuji.
> > Doinstaloval jsem do Arduino IDE tu desku STM32 Nucleo a SW normalne bezi
> > az na komunikaci
> > s tim RTC obvodem, ktery pouziva I2c standartni Arduiono wire knihovnu.
> > Nemam zadnou zkusenost s Cube MX ani s jinym SW pro programovani ST
> > procesoru .
> > Arduino pozivam pro ruzna domaci udelatka a ted jsem narazil na totalni
> > neznalost .
> > Chtel bych to nejak rychle dodelat, moc se mi nechce se kvuli jednomu
> > malemu projektu ucit
> > celou novou oblast techniky.
> >
> > ne 2. 12. 2018 v 12:08 odesílatel Jaroslav Buchta <
> > jaroslav.buchta na hascomp.cz> napsal:
> >
> >> Jak to programujete?
> >> Pro zacatecniky je asi opravdu idealni CubeMX konfigurator, to nucleo tam
> >> vyberete, naskonfigurujete I2C, vidite obrazek, na kterych pinech to je a
> >> pouzijete HAL funkce pro cteni a zapis... Jednodussi nez arduino, pokud
> >> nechcete moc optimalizovat na vykon, tak to i uspokojive funguje (nerad
> >> uznavam :D)
> >> Zkusil jsem to a I2C1 je na pinech PB6,7 ale da se to omezene premapovat,
> >> I2C periferie jsou tam ale celkem 3.
> >>
> >> Dne 02.12.2018 v 11:28 Jirka Mww napsal(a):
> >>
> >> Dobrý den,
> >>
> >> potřebuji zaznamenávat větší množství dat s časovým razítkem takže
> mi
> >> nestačí obyčejné Arduino. Našel jsem tady destičku se subjektem,
> >> nainstaloval příslušné knihovny a desku úspěšně programuji. Potřebuji
> ale
> >> přes I2C připojit obvod reálného času, který mi s malým Arduinem chodí,
> ale
> >> tady si nevím rady jak nadefinovat piny pro SDA a SCL. Nevím, jakou
> použít
> >> knihovnu wire ani nevím, kam ten RTC obvod vlastně připojit. Deska má
> >> jakési "kompatibilní Arduino piny" ale na těch mi to nefunguje. V
> číslování
> >> pinů mezi Arduinem a to deskou mám totalní chaos.
> >> Chtěl bych poprosit o nějaké nasměrování.
> >>
> >>
> >> Zdravi
> >> Jirka Sloupenský OK1MWW
Další informace o konferenci Hw-list