Arduino a já
Chlapi, hovoříte cizím jazykem. Tu první verzi jsem poupil už před lety a v porovnání as Ardu ide je v tom fakt rozdíl. Tu V2 jsem koupil po měsíčním testování. Je jasné, že těch možností jsou spousty a profi programátor se nad tím ušklíbne. Ovšem pro obyčejného člověka je kompletní program s manuálem a s upgradama docela dobrá věc, hlavně když nezvládá angličtinu.
Když chceš potrénovat bez Arduina.
https://chiptron.cz/news.php?readmore=1312
https://chiptron.cz/news.php?readmore=1312
Tak jsem se po delší době konečně přesvědčil k další činnosti. Blue pill s STM32 je zajímavá náhrada AVR328 na aplikace v reálném čase. Chce to trochu ostražitosti při používání vývodů netolerujících 5V, ale jinak dobré. V porovnáním s 328 jsou odezvy HW cca 3x rychlejší.
Kromě toho má mnohem víc paměti (u Flash teoreticky 2x ale v praxi 4x, u RAM dokonce 10x), má víc a mnohem výkonnějších periferií a má víc I/O linek.lubbez píše: ↑21. 3. 2022, 10:27 Tak jsem se po delší době konečně přesvědčil k další činnosti. Blue pill s STM32 je zajímavá náhrada AVR328 na aplikace v reálném čase. Chce to trochu ostražitosti při používání vývodů netolerujících 5V, ale jinak dobré. V porovnáním s 328 jsou odezvy HW cca 3x rychlejší.
Má úžasnou výhodu - unifikovaný přístup do paměti. Takže je možné spouštět kód v RAM.
Navíc byl v době, kdy byl svět ještě v pořádku (tak před 2 roky) dokonce levnější než nejlevnější Arduino Nano.
Má snad jedinou objektivní nevýhodu, a to, že nemá interní EEPROM.
Interní EPROM sice nemá, ale i to se dá pro určité situace obejít využitím interní FLASH.
Trochu problém pro někoho může být, že tato architektůra nemá instrukce pro bitovou manipulaci z čehož plyne neatomický přístup na porty a pod. Ona celkově je to load & store.
Ale za sebe - já už s ničím jiným nedělám pokud nemusím.
Trochu problém pro někoho může být, že tato architektůra nemá instrukce pro bitovou manipulaci z čehož plyne neatomický přístup na porty a pod. Ona celkově je to load & store.
Ale za sebe - já už s ničím jiným nedělám pokud nemusím.
Ano, do Flash to jistě jde. Ale průměrná EEPROM má minimálně 10x větší životnost než průměrná Flash.
Nerozumím té poznámce o bitových manipulacích. Pokud je tedy řeč o portech (jak plyne ze zbytku věty).
Tento procesor přece má podporu pro nastavení/shození výstupního bitu, bez nutnosti dělat read-modify-write.
To mně osobně přijde jako docela velká výhoda a s oblibou to používám. Ale tys asi myslel něco jiného.
Co mi teda u periférií chybí je FIFO u UARTu/USARTu. Sice se ledacos dá řešit přes DMA, ale FIFO by bylo lepší řešení. STM ho konečně zavedl až v řadě STM32G.
Ty desky Blue-pill zdražily snad víc než plyn. Dřív jsem je kupoval kolem 1.80 USD, teď jsou někde kolem 6 USD.
Nerozumím té poznámce o bitových manipulacích. Pokud je tedy řeč o portech (jak plyne ze zbytku věty).
Tento procesor přece má podporu pro nastavení/shození výstupního bitu, bez nutnosti dělat read-modify-write.
To mně osobně přijde jako docela velká výhoda a s oblibou to používám. Ale tys asi myslel něco jiného.
Co mi teda u periférií chybí je FIFO u UARTu/USARTu. Sice se ledacos dá řešit přes DMA, ale FIFO by bylo lepší řešení. STM ho konečně zavedl až v řadě STM32G.
Ty desky Blue-pill zdražily snad víc než plyn. Dřív jsem je kupoval kolem 1.80 USD, teď jsou někde kolem 6 USD.
Proto taky píšu, že nepřítomnost EEPROM je řešitelná skrze FLASH jen v určitých případech. Třeba pokud se "uživatelská konfigurace" nemění často nebo raději velmi sporadicky.
Nelze jednou instrukcí zapsat na port bez rizika kolize s jiným takovým zapisem v přerušení.
Lze atomicky nastavit 1 nebo 0 na vybrané skupině portů, ale né obojí najednou.
Load-Store to znamená, že nemůžeš například zapsat hodnotu do paměťi jednou instrukcí.
S tím musíš počítat, když sdílíš data mezi kódem kterej běží v přerušení a hlavním kódem.
Speciálně když ti na mcu běží nějakej RTOS nebo rozšíření na multitask, tak přístup k datům je třeba zamykat.
Nelze jednou instrukcí zapsat na port bez rizika kolize s jiným takovým zapisem v přerušení.
Lze atomicky nastavit 1 nebo 0 na vybrané skupině portů, ale né obojí najednou.
Load-Store to znamená, že nemůžeš například zapsat hodnotu do paměťi jednou instrukcí.
S tím musíš počítat, když sdílíš data mezi kódem kterej běží v přerušení a hlavním kódem.
Speciálně když ti na mcu běží nějakej RTOS nebo rozšíření na multitask, tak přístup k datům je třeba zamykat.
Jako FIFO je fain, ale zatím jsem nenarazil na situaci kde by mi chybělo. Všechno strkám do fronty v přerušení a zpracovávám až pak.
Jasně, externí v pohodě. Ostatně, ve většině projektů co jsem potřeboval něco konfigurovat a ukládat, tak by typická interní eeprom prostě kapacitou nestačila, takže stejně dávám externí
Někdy tak moc, že tam strkám SD kartu
Někdy tak moc, že tam strkám SD kartu
Jsem za arduino děsně vděčný. Bylo mojí vstupní branou do elektroniky, docela ocěňuju, že jsem se naučil alespoň naprosté základy. Dělám teď dost fotek v ImageJ a dělám si skripty. Bez nich bych se z toho zcvoknul. Ono se asi v budoucnu bez nějakého naprostého základu programování člověk nehne. Aspoň nějaké if/else, for loop... Ale jde mi to jak psovi pastva
Připrav se, hrajem...
https://www.youtube.com/watch?v=HzjNAnEfvxc
https://www.youtube.com/watch?v=HzjNAnEfvxc
Tak malý technologický downgrade. Teploměr s 1820, 18B20, 18S20 - tento je modifikovaný na měření teploty kovové trubky GCC laseru. Jinak je to jeden z dílků domáci automatizace - teploměr a dva kontakty dovnitř a jeden ven. Komunikace 485.