8 MB Download
Extend the capabilities and power of your applications using Real-Time Operating System features.This book combines two powerful tools: Arduino and freeRTOS.Resources addressed: Interrupts: Addresses communication between hardware interrupts and tasks.Tasks: Allow parallel programming to better organize execution and code.Semaphores: Allows you to control concurrent access to resources and communication between tasks.Queues: It allows to communicate multiple items between tasks and is explored through several examples, in association with interruptions and tasks.Task notification: Sending values to task directly through task notification, without using queues or semaphores.Software Timer: Without having to control for interruptions, call a function of your own in time or after a timeout only once.We will approach the concepts, through brief explanations and listings of sample source codes, which will often be expanded in stages. In this way we will present and explain the mechanisms of programming in multiple tasks and their mechanisms of support, control of access to resources, communication between tasks.Understanding concepts will be given by their incremental introduction, tracking changes and improvements in the code, which you can go testing on your Arduino (if you prefer), or just go through the accompanying explanation.Some companion or book listings are posted on the internet as a supplement.The Arduino platform, which further popularized digital electronics (even for those with no specific training) and at the same time facilitated the creation of product prototypes, for startups, makers, and even for engineers and programmers of experienced embedded systems .freeRTOS, the Real-Time Operating System, which supports a large amount of microcontrollers and development environment, and has become a de facto standard. The union of these two platforms, facilitated by the development of a freeRTOS package that can be easily added to the Arduino IDE (and in this book you'll see how to do this), will allow you to learn how to develop powerful and easy-to-maintain applications.Each has its own style of studying programming. I prefer to read over, examining areas of greater interest, and then "lay hands on the mass." You may prefer to follow step by step what is presented and then venture into making your modifications and creating your solutions.Think of this book as a complement to your Arduino programming knowledge or programming for embedded systems in general. The focus is to get you started (or increase your knowledge) in multitasking for MCUs, using freeRTOS in your projects, whatever platform you prefer among the many supported platforms.