( bucko | 2025. 02. 09., v – 02:02 )

Pont erről beszélek. Nem írok nagy szoftver projekteket kis hardverre és nem választok nagy szoftver projektre képes mcu-t, ha nincs rá szükség.

Ha valaki nem tud/akar 30-80 utasítást megtanulni pontosan használni, az írjon programot egy csomó libbel. Az assembler azért előnyös, mert az adatlapban szereplő neveket tudod benne használni, míg más esetben a libek írójának a kitalációit is meg kell tanulni. Használtam olyan nyomásmérőt, amikor a "gyári szoftver" definícióit és függvényeit olvasgatva már szikrázott a szemem. Ugyanazt 3-5 utasítással maradéktalanul sikerült megoldani. PIC esetében a szoftvert általában nem hordozzuk sehova. Ha valmeilyen különleges ok miatt másik modellt kellene választani, akkor is jobbára kompatibilisek az utasítások.

Úgy gondolom, 40 év alatt megtanultam assemblerben programozni, ezért számomra egyáltalán nem okoz gondot. Hiába van 20++ év C gyakorlatom, soha nem éreztem igényt rá, hiába tudnám megírni abban is. Bár próbálkoztam, de a Microchip C fordítójával képtelen voltam könnyedén megfelelő minőségű kódot előállítani. Néztem assembly szinten is, de egyszerűen faszságot generált a fordító.

Az AVR-PIC összehasonlítás nem teljesen korrekt, mert az AVR pont egy sokregiszteres CPU (jól megy neki a C) és még SP is van. Ezért nem csoda, hogy sok és működő lib van hozzá. Ha a PIC < PIC18, az még nem igazán programozható C-ben, hiába van rá. A >PIC18 már sokregiszteres, a 32 bites meg kakukktojás, mert az pl. Cortex-M33.

Itt egy kis áramkör. Ha lekapcsolod a zuhanyzóban a lámpát, akkor a jumper állásától függően 2/4 percre visszakapcsolja a ventillátort.

Az asm lista és ugyanaz C-ben (inkább csak pszeudokód). Van-e különbség és jobb lenne egy ARM?