Re: AVR vs 32b (Začínáme s Atmel Studiem - kontrola)
Miroslav Mraz
mrazik na volny.cz
Pátek Únor 5 19:52:13 CET 2021
STM to vzali podle mého soudu za špatný konec. Ty knihovny jsou psány z
hlediska návrháře hardware a v konečném důsledku jsou pro aplikačního
programátora nepoužitelné. Na druhou stranu máte periferie široce
konfigurovatelné. Což ovšem ocení málokdo. NXP to vzali z té druhé
strany - z pohledu aplikačního programátora. Takže když chcete nějaké
neobvyklé chování periferie, musíte se vrtat v jejich kódu. Ale pokud
vám stačí to co se obvykle používá, máte jasně definované programové
rozhraní, které je snadné použít. Nakonec se dá použít i Arduino styl,
který (alespoň co jsem kdysi zhruba zkoumal pro AVR) není vůbec špatně
napsaný.
Co mně na Arduinu jako takovém vadí je snaha předstírat, že použitý
jazyk (C++) je jednoduchý a používat ho může každý. Ne, není tomu tak.
C++ je jazyk velmi komplikovaný, protože prošel dlouhým vývojem, už pár
desítek let ho používám a nemohu říct, že bych ho znal. Však Herout má
tak stovku stránek, zatímco takový Eckel zhruba 10x tolik a ani tak v
tom není zdaleka všechno.
Mrazík
Dne 05. 02. 21 v 17:48 Pavel Hudecek napsal(a):
> Těch 5 V je ve skutečnosti značná výhoda. Dnes má každej doma hromadu 5
> V adaptérů, takže stačí připojit. Nebo připojit Li-ionku. Těch mají děti
> taky dost, ze starých NTB, nebo telefonů.
>
> Jinak zásadně učím děti, že jde spoustu věcí, ale je vždy potřeba řešit,
> zda je to dobrý nápad a co to obnáší. Takže ano, MOSFET přes Rg rovnou
> na pin procesoru. Ale ještě předtím najít takový MOSFET, aby ho šlo 5V
> spolehlivě otvírat a proud, který si dle DS od MCU lze dovolit stačil na
> dostatečně rychlé nabíjení a vybíjení jeho kapacity. Při tom se hned dá
> ukázat, jak do toho kecá kapacita zpětnovazební. No a samozřejmě jsou
> věci, kde se hodí, aby MCU jen ovládal nějakej zdrojovej šváb a řešit,
> do jaký míry mu do toho kecat. Takových 300 kHz se sice dá vytáhnout
> z AVR i z STM32, ale obojí bude mít nepoužitelně malé rozlišení na
> regulaci. Ovšem v obojím případě stačí třeba na nastavení deadtime.
>
> Stejně tak lze třeba LED displej připojit přímo na port a jen společné
> konce spínat tranzistorama. Dá se moc hezky ukázat, co se děje, když se
> to udělá špatně a jak to udělat správně, takže pak hodiny jdou přesně a
> ADC měří normálně. A že to je jednodušší, pokud se na port segmentů dají
> odpory, ale za cenu nutnosti použít různá napětí dle barvy displeje to
> jde i bez nich.
>
> Ale zpátky k rozdílům v SW: Na ARMy se normálně používá rozsáhlej
> ekosystém s hromadou .h souborů a udělat něco bez toho je dost složitý.
> Zajímavý je, že třeba na LPC to je celkem hezký a dá se v tom snadno
> zorientovat, podobně je na tom o hodně mohutnější AM335, ale na STM32
> mají všechno na můj vkus hodně komplikovaný, takže mnohem radši použiju
> LPC než STM.
>
> A jsou samozřejmě situace, kdy je 32b jasná volba, třeba grafické
> displeje. Když na 100nohej LPC připojím displej tak, že má na jednom
> portu 0-17 paralelní data a na dalších bitech i řídící signály, lze
> přenášet řádově desítky MPx/s (reálně míň, protože ty data taky nějak
> vznikaj, což zabere většinu času). Na 8bitu se lze dohadovat, zda je
> rychlejší SPI, nebo paralel 8bit. Jelikož jsem na obojím zkoušel
> osciloskop 320x240, vím o čem píšu:-)
>
> PH
>
Další informace o konferenci Hw-list