Chapter 1: Microcomputer systems
1.4. Microcontroller architectures
Chapter 2: Architecture of ARM microcontrollers
2.3. The STM32F407VGT6 microcontroller
2.4. General purpose inputs and outputs
2.5. Nested vectored interrupt controller (NVIC)
2.6. External interrupt controller (EXTI)
2.8. Analog-to-digital converters (ADCs)
2.9. Built-in temperature sensor
2.10. Digital-to-analog converter
2.12. Electrical characteristics
Chapter 3: ARM Cortex microcontroller development boards
3.10. Tiva EK-TM4C123GXL LaunchPad
Chapter 4: Clicker 2 for STM32 development board
4.2. Clicker 2 for STM32 hardware
Chapter 5: Programming the ARM-based microcontrollers
5.2. IDEs supporting the ARM-based microcontrollers
Chapter 6: Programming using the mikroC Pro for ARM
6.3. The general purpose input-output library
6.6. Accessing individual bits
6.8. Interrupts and exceptions
Chapter 7: Introduction to multitasking
7.2. Multitasking kernel advantages
7.4. Task scheduling algorithms
7.5. Choosing a scheduling algorithm
Chapter 8: Introduction to FreeRTOS
8.3. Installing from MikroElektronika web site
8.5. FreeRTOS headers files path and source files path
8.6. Compiler case sensitivity
8.7. Compiling the template program
Chapter 9: Using the FreeRTOS functions
9.9. Task name, number of tasks, and tick count
9.10. Project 9—displaying a task name, number of tasks, and tick count on the LCD
9.11. Yield to another task of equal priority
9.13. Project 10—7-segment 2-digit multiplexed LED display counter
9.14. Project 11—7-segment 4-digit multiplexed LED display counter
9.15. Project 12—7-segment 4-digit multiplexed LED display event counter
9.16. Project 13—traffic lights controller
9.17. Project 14—changing LED flashing rate
9.18. Project 15—sending data to a PC over USB serial link
9.19. Project 16—changing LED flashing rate from the PC keyboard
9.21. Project 17—displaying the task list on the PC screen
9.23. Project 19—displaying the task info on the PC screen
9.25. Project 20—displaying the task state on the PC screen
10.1. Overview–global variables
10.3. Creating a queue, sending and receiving data using queues
10.4. Project 21–changing LED flashing rate from the PC keyboard
10.5. Deleting a queue, name of a queue, resetting a queue
10.6. Project 22—using various queue functions
10.7. Some other queue functions
10.8. Project 23—ON-OFF temperature controller
Chapter 11: Semapores and mutexes
11.2. Creating binary semaphore and mutex
11.3. Creating a counting semaphore
11.4. Deleting a semaphore, getting the semaphore count
11.5. Giving and taking the semaphores
11.6. Project 24: sending internal and external temperature data to a PC
12.2. Event flags and event groups
12.3. Creating and deleting an event group
12.4. Setting, clearing, waiting For event group bits, and getting event group bits
12.5. Project 25—sending internal and external temperature data to a PC
12.6. Project 26—controlling the flashing of an LED
12.7. Project 27—GPS based project
13.2. Creating, deleting, starting, stopping, and resetting a timer
13.3. Change timer period, get timer period
13.5. Project 28—reaction timer
13.6. Project 29—generate square waveform
13.7. Project 30—event counter (e.g., frequency counter)
Chapter 14: Some example projects
14.2. Project 31: square wave generation with adjustable frequency
14.3. Project 32: frequency sweep waveform generator
14.4. Project 33: RGB light controller
14.5. Project 34: home alarm system with keyboard
14.6. Project 35: ultrasonic car parking with buzzer
14.7. Project 36: stepper motor project
14.8. Project 37: communicating with the Arduino
Chapter 15: The Idle task and the idle task hook
15.3. Idle task hook functions
15.4. Project 39: display the free processor time
Chapter 16: Task Notifications
16.2. xTaskNotifyGive() and uITaskNotifyTake()
16.3. Project 40: start flashing an LED after receiving notification
16.4. xTaskNotify() and xTaskNotifyWait()
16.5. Project 41: flashing at different rates after receiving notifications
16.6. xTaskNotifyStateClear() and xTaskNotifyQuery()
17.2. Project 42: critical sections – Sharing the UART
17.3. Suspending the scheduler
17.4. Project 43: suspending the scheduler
Chapter 18: Interrupts in Cortex-M4 based microcontrollers
18.4. Project 44—External interrupt based event counter
18.5. Project 45—Multiple external interrupts
18.6. Internal interrupts (timer interrupts)
18.7. Project 46—Generating waveform using a timer interrupt
18.8. Project 47—External interrupt with timer interrupt
Chapter 19: USING the FreeRTOS API function calls from an ISR
19.2. The xHigherPriorityTaskWoken parameter
19.3. Deferred interrupt processing
19.4. Task related functions from ISR
19.5. Project 48-Using function xTaskResumeFromISR()
19.6. Project 49-Deferred interrupt processing
19.7. Project 50-Using function xTaskNotifyFromISR()
19.8. Event group related functions from ISR
19.9. Project 51-Using function xEventGroupSetBitsFromISR()
19.10. Timer related functions from ISR
19.11. Project 52-Using functions xTimerStartFromISR() and xTimerChangePeriodFromISR()
19.12. Semaphore related functions from ISR
19.13. Project 53-Using functions xSemaphoreTakeFromISR() and xSemaphoreGive()
19.14. Queue related functions from ISR
19.15. Project 54-Using functions xQueueSendFromISR() and xQueueReceive()
Chapter 20: Car park management system
20.2. Project 55: car park control
Chapter 21: Time in different cities
21.2. Project 56: time project
Chapter 22: Mobile robot project: the Buggy
22.5. Project 57: controlling the Buggy lights
22.6. Project 58: controlling the Buggy motors
18.117.196.217