While writing a chapter on packet data transfer over the USARTs I realized that I could easily aim it more toward a future chapter on MODBUS with a little rewrite, so I did so. It now has timeouts and still works using callback functions, if desired. It makes for really slick demonstration programs! And while …
When considering communication between or among microcontrollers, I’ve discouraged use of the SPI interface because of its lack of a buffered interface in all but the ATmega4809 Ardruino AVR-based boards. However the handshaking protocol built into the I2C standard interface makes I2C communication a safe, reliable choice. (The I2C interface is called TWI in the …
Most I/O in a microcontroller (like in an Arduino board) consists of transactions. The microcontroller sends a command or a command plus data to a peripheral device and then, perhaps after a short delay, the device sends a response of status and data back to the microcontroller. The Arduino library tends to have only blocking …
My final dice game example for the new book uses FreeRTOS. There are three independent (non communicating) tasks, to keep things simple, rather than breaking down the game itself into multiple communicating tasks. There is the game task, a flashing light (“blinky”) task, and a background task used to measure performance, like I did with …
In the new book I’m writing I’ve implemented a dice game in multiple ways, starting with all the code in-line, with blocking routines and no interrupts. This is the typical Arduino approach. I’ve just completed an interrupt driven version. In this version, the function loop is: Because everything happens in interrupts! Many people think that …
OK, I’ve been taking time off the past few months, but now I’m back writing again. Maybe I’ll get that next book finished! Meanwhile I am disheartened by the lack of review on the two Far Inside books. They won’t make the New York Times Best Sellers list, but they are selling more recently and …
Basically, “General Purpose” means those consisting of little more than the microcontroller, USB interface, and voltage regulator. In my last post I mentioned the Uno as the base-line board, with the historical lineage from the original Arduino board. But today you can get many different boards differing in size and microcontroller. In my next book …
In looking at the different general purpose Arduino boards available today, I’ve been thinking of how to tie them all together. So I’ve delved as well as I can into the history of Arduino boards. Frankly, it isn’t particularly easy to do. But I did find what appears to be the starting point — the …
Note: this error has been corrected in all books currently available for sale, so only affects initial purchasers. Both original and corrected example programs are offered on the website. On the Arduino Nano Every board, the first two digital pins are labeled TX and RX, rather than their digital pin numbers. I had assumed these …
First I’m making a few corrections to the Far Inside The Arduino book. If you have the first edition, don’t worry. There are two small errors, both mentioned in the errata on the web page for downloading the program examples. And for the printed version the page headers have been made more meaningful. The new …