I2C - Arduino STM32 Nucleo L476RG
Jan Waclawek
konfera na efton.sk
Úterý Prosinec 11 10:48:14 CET 2018
No dobre, a mozete prosim vysvetlit ten jav co pozoruje pan kolega Jirka
Mww?
Preco sa nezachova obsah premennej savedTime pri resete?
wek
----- Original Message ---------------
>Pokud pouziva stm32duino tak je to nadstavba nad HALem od ST. A kod je zcela otevreny. Startovaci kod je standartni od ST. Je tedy uplne jedno jestli pouzije arduino, hal nebo ll pokud nezna arm a stm32. Tyhle hrabeci rady vychazeji z cire neznalosti.
>
>T
>
>10. 12. 2018 v 19:53, Jaroslav Buchta <jaroslav.buchta at hascomp.cz>:
>
>> Nevim, jak to dela arduino ale standardni startovaci kod data v sekci BSS nuluje, heap zustava nepovsimnut ale tezko asi alokujete stejny blok... Hardwarove by snad reset nemel mit na obsah RAM vliv (az asi na oblasti ktere pouziva pevny bootloader)
>> Cistym resenim by IMHO bylo pouzit externi USB/VCP prevodnik na jiny UART a programovadlo nechat na programovani. A nejlip zahodit arduino a mit program pod kontrolou.
>>
>>
>> Dne 10.12.2018 v 19:22 Jirka Mww napsal(a):
>>> Vypadek napajeni urcite nenastal, staci stisknout tlacitko reset na desce a data se prepisou.
>>> Je to ale asi opravdu arduinem, hodnota je porad stejna . Prestoze je promenna definovana
>>> jako word tak hodnota vypsana po resetu je asi 10x vyssi. Alespon predpokladam, ze word je
>>> porad jeste 16bitu bez znamenka.
>>> Dnes uz se k tomu nedostanu, zitra budu pokracovat. Podstatne je ale, ze po odstraneni
>>> propojek ST linku to uz neresetuje, tak mi to zatim staci.
>>>
>>> po 10. 12. 2018 v 18:33 odesílatel Miroslav Mraz <mrazik at volny.cz> napsal:
>>>> No jo, po připojení napájení jsou v RAM náhodná data. Je to trochu
>>>> složitější, musíte identifikovat zdroj přerušení - asi i v této řadě
>>>> bude něco jako RCC_CSR registr, ve kterém jsou flagy zdroje přerušení.
>>>> Na začátku musíte identifikovat připojení napájení - něco jako BOR a
>>>> pokud je nastaven, příslušnou proměnnou nastavit na potřebnou hodnotu
>>>> (asi vynulovat). Pokud je zdroj přerušení jiný, neděláte nic. Tedy nic -
>>>> patrně bude nutné flagy vždy nulovat. Bývá na to speciální bit RMVF.
>>>> Není to žádná magie.
>>>>
>>>> Mrazík
>>>>
>>>> Dne 10. 12. 18 v 18:14 Jirka Mww napsal(a):
>>>> > Zkusil jsem to SW řešení
>>>> > unsigned long savedTime __attribute__ ((section (".noinit")));
>>>> > , proměnná se sice neinicializuje na nulu, , ale ani se nezachová obsah
>>>> > před resetem, jsou tam nesmysly , takže budu pokračovat zítra.
>>>> > Zatím díky za pomoc, hodně jsem se dnes naučil.
>>>> >
>>>> > Zdravi
>>>> > Jirka Sloupenský OK1MWW
Další informace o konferenci Hw-list