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