My favorites are the various PICs. Anything from tiny 6 pin low cost microcontrollers to huge 100+ pin 32 bit processors are supported by MPLAB X, including many breadboard-friendly DIP devices. The dsPICs are especially good for motor control.
It's obvious that Arduino has evolved significantly from its humble 8 bit beginning now that they have some ARM based boards. But the diversity of supported devices is nowhere as much as MPLAB X. 8 bit is enough to do a lot if you know the tricks of how to do good programming on them. Nowadays, a low end ARM or dsPIC doesn't cost much and can be a real time saver as it lets you get away with higher level programming, such as using a RTOS.
Main problem with Arduino classic (Uno and related) is that the memory isn't enough to really run a RTOS. That significantly complicates things when the application has to periodically check and adjust parameters and still respond quickly to user interaction.
FreeRTOS on Arduino | maniacbug
Quote:
FreeRTOS on Arduino Uno?
FreeRTOS works great on 1284P and Maple. After some heavy experimentation, I was able to get the pingpair sketch working on an Arduino Uno clone. It turns out that a heap of 1300 and per-task stacks of 150 did the job. In total, 380 bytes of SRAM remain free when the sketch is loaded.
The question is whether this is a good idea. This is just a simple ‘hello world’ for radios, 380 bytes doesn’t leave much for more complex application logic or more tasks.
|