Voor bepaalde (speciaal kosten-gevoelige) projecten maak ik nog wel eens gebruik van PIC processoren
(ik weet dat de tenen van jullie ARM-ridders nu gaan krullen, lees door!)
Met oudere processoren was programmeren in assembler nog wel te doen, maar met name de bankswitching-v00d00 die nodig is bij modernere processoren heeft me wel eens moeten besluiten om het in C te maken. Het voelt een beetje als het 286-programmeren van weleer.
Als assembler-programmeur keek ik dan ook wel eens hoofdschuddend naar de gegenereerde code. De compiler kent een "gratis mode", maar oh jee, de gegenereerde code was beroerd, een if-statement resulteerde wel in 4 goto's maar om de gegenereerde code met te hand te gaan masseren ging me toch te ver.
De compiler was "gratis", voor "optimalisatie" moest flink betaald worden. Ook ik heb wel eens gezocht naar alternative manieren om optimalisatie aan te zetten.
Dat laatste is niet meer nodig: Microchip heeft eindelijk bedacht dat de kosten van ontwikkeltools (en de logistiek van bestellen in een zakelijke omgeving, dat geeft vaak veel gedoe) wellicht niet helpt om ontwikkelaars voor Microchip processoren te laten kiezen.
Compiler-optimizer licenties zijn tegenwoordig gratis:
https://www.microchip.com/en-us/tools-resources/develop/mplab-xc-compi…
"Compiler Optimizations
Get advanced optimization capabilities, including reduced code size and faster execution, without licensing friction or budget constraints. All MPLAB XC Compiler optimizations are now available at no cost.
MPLAB XC8 Compiler v4.00 and later do not require a key or license to access advanced optimizations. To unlock the premium capabilities of previously paid versions, there is a free license in the software products section of your myMicrochip account."
Ik heb dit geprobeerd, uiteindelijk krijg je een script wat licenstiesleutel in een file zet en de compiler geeft daarna aan dat 'ie "permanent" gelicensed is.
Waarvan akte. Doe er je voordeel mee!
Ik heb op dit forum gezocht maar dit heuglijke feit niet gevonden; als ik een dubbelplaatser ben mijn excuses en dan hoop ik dat forumbeheerders wel raad weten met deze posting.
Bedankt, en net gedownload.
Probeerde wel eens om omgezette C naar asm met Claude en Deepseek te optimaliseren maar is ook bewerkelijk. En moet je dan weer bij iedere c code wijziging uitvoeren. Zal nu makkelijker zijn hoop ik.
SparkyGSX
Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Over wat voor processor heb je het dan, dat zo'n antiek ding echt goedkoper is dat iets moderns? Niet alles heeft een STM32F4 nodig...
Op zaterdag 11 juli 2026 21:29:30 schreef SparkyGSX:
Over wat voor processor heb je het dan, dat zo'n antiek ding echt goedkoper is dat iets moderns? Niet alles heeft een STM32F4 nodig...
Project du jour: iets met een PIC16F15213 voor een "kinderenknutselsoldeerproject" met LEDs, drukknoppen en andere sensoren. Processor in DIP-8 (dat maakt 'm twee keer zo duur als SOIC, helaas), maar het betekent dat ze de IC-voet kunnen solderen, alsmede de weerstanden, LEDs en de rest.
Prijs 62 cent ex BTW @100 stuks.
En SOIC is de prijs 28 cent ex BTW @100 stuks.
Suggesties (voor het project voor komend jaar alas, voor dit jaar ben ik "te ver heen") zijn welkom.
Op zaterdag 11 juli 2026 21:29:30 schreef SparkyGSX:
Over wat voor processor heb je het dan, dat zo'n antiek ding echt goedkoper is dat iets moderns? Niet alles heeft een STM32F4 nodig...
In mijn geval een PIC16F877's voor wat pompjes die met RS485 bestuurd worden. Had er best veel gekocht ( 2000-2002 ) als bestelling opvulsel, en om daar dan een ESP o.i.d voor te kopen/gebruiken. Dit past precies op de kop van het motortje van de pomp.
En het is leuk.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Voor alleen de snelheid maakt 't niet veel uit als 'ie alleen huis tuin en keukel keuken klusjes hoeft te doen...
(dat kan een 50 jaar oude 8048 net zo goed...)
Voor veeleisende taken wordt 't natuurlijk een ander verhaal...
Ach, ik gebruik nog steeds MPLAB C18 (wel met de optimizer).
Het betreft een legacy project met een 18F46K80 en verzorgt de CAN interface (CanOpen protocol).
Er is vast een moderne chip die 2 Euro goedkoper is, maar zet de besparing (gebruiken er ongeveer 50 per jaar) eens uit tegen de ontwikkelkosten van het omschrijven naar andere hardware.
Ik heb zelfs niet de moeite genomen om het naar XC8 om te zetten.
Vond trouwens de gegeneerde code met C18 beter.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Wat betreft oud:
De CDP1802 is ook al ruim 50 jaar oud, en is bij Renesas nog steeds marked "active"... 
Op zondag 12 juli 2026 13:49:09 schreef Arco:
Wat betreft oud:
De CDP1802 is ook al ruim 50 jaar oud, en is bij Renesas nog steeds marked "active"...
Dat was mijn eerste micro (COSMAC) met 256 bytes RAM, een hex keypad en hex 7-segment display. Later uitgebreid met 1K RAM voor video (32 memory chips).
Was een apart geval en ik was zelf de assembler. Gelukkig was ie heel symmetrisch en kende je alle opcodes uit het hoofd.
Was ook compleet statisch, je kon de klok terugbrengen naar 1 Hz, probeer dat maar eens met die nieuwe dingen
.
Er bestond ook een rad-hard versie en is veel gebruikt bij amateur satelieten, maar ook in de Galileo probe.
De videokaart is al decennia verdwenen, maar het CPU board moet nog ergens liggen, al heb ik geen idee in welke kast of krat.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Op zondag 12 juli 2026 16:38:21 schreef JoWi:
[...]
Was ook compleet statisch, je kon de klok terugbrengen naar 1 Hz, probeer dat maar eens met die nieuwe dingen.
Is nu nog steeds zo, hoor... (de 1802 was wel een van de eersten waarbij dat kon door de Cmos uitvoering)
Een Pic micro kun je rustig tot 0Hz terugbrengen, alleen gebeurt er dan niet veel meer natuurlijk... 
SparkyGSX
Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Ah als je DIP moet hebben valt alles wat ook maar een beetje modern is al wel af. Waarschijnlijk zijn controllers met 3v3 logica ook niet handig.
Bestaande software is natuurlijk ook een prima geldige reden bij een oude controller te blijven, voor een nieuw project is dat soms minder relevant, al is code kunnen hergebruiken ook wat waard.
Voor 62 cent per stuk valt er weinig te besparen, tenzij je duizenden van die kinderen aan het werk hebt gezet. Voor dergelijk kleine aantallen en goedkope controllers kun je ook beter blijven bij iets wat je kent.
Klinkt als een hele goede keuze gegeven de randvoorwaarden. Gefeliciteerd met je gratis betere compiler!
Getekend, een ARM ridder 
[Bericht gewijzigd door SparkyGSX op (11%)]
Ik heb hier nog een la liggen met PICs, van 8-bit t/m 32-bit. De 32-bit PICs heb ik wel op weten te maken met projectjes (vooral de PIC32MX250 is een best schattige chip). Maar het meeste steekte mij dat de 16-bit PICs prima capabele processoren zijn, maar enkel in assembler of C te programmeren zijn. Ik heb de laatste tijd voor "dit heeft geen 32-bit nodig" dus maar mijn AVRs gepakt. Onderhuids lijken die erg op de 16-bit PICs, maar de instructieset is een stuk meer rommeliger omdat de opcodes maar 16-bit zijn (soms passen de register addresseringen dus niet meer).
Ik zie nu met deze release dat er ook een C++ compiler is uitgebracht voor de 16-bit PICs. Die wil ik ook nog wel eens gaan proberen.
Want er zijn nog best grappige chips beschikbaar in die serie. Vooral met analoge specs (16-bit Sigma-Delta ingebouwd in verschillende dsPIC33s, of een 12-bit 10MSPS pipeline ADC in PIC24FJ128GC010), maar helemaal de peripheral pin select feature (gooi een SPI bus, PWM enz. op elke pin die je maar wil).
Is het echt nodig dat ik C++ schrijf voor een microcontroller die uiteindelijk maar 1 of 2 dingetjes doet? Niet echt, tegelijkertijd.. ik schrijf al bijna 10 jaar alles in C++ voor STM32 en AVR, en als je bouwstenen hebt die je overal zo neer kan zetten (net zoals Arduino veel libraries heeft).. dan is het wel fijn als ik al die code kan hergebruiken.
Voor mij is dit het grootste gewin. Maar ik heb helaas nog steeds geen tijd gehad om dit uit te proberen. Opzich klinkt C++ support goed, maar het staat of valt wel met goede stdlib support. Met AVR-GCC werken sommige stdlib functionaliteiten niet.. dus dan heb je wel een C++14 compiler maar kan je nog niet alle libraries gebruiken (ook als ik er van weet dat ze met de ARM compiler nette code genereren, want malloc() is in C++ best een groot gevaar)
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Op maandag 20 juli 2026 12:37:04 schreef hans1990:
Maar het meeste steekte mij dat de 16-bit PICs prima capabele processoren zijn, maar enkel in assembler of C te programmeren zijn.
De 24F/33F MCU's zijn fijne en krachtige processoren die ik vaak gebruik.
Er is o.a. ook een MikroBasic Pro compiler voor...