User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

lab_8 [2019/04/08 20:11] (current)
Line 1: Line 1:
 +====== Lab 8: Task Scheduler ======
 +===== Overview =====
 +In this lab you shall create a task scheduler and use it to write software that simultaneously tasks of the real-time clock from Lab 6 and the PWM, DAC, ADC from Lab 7.
 +===== Specifications =====
 +The code for this lab should be created in a new project but you may copy code from the previous labs into the new project.
 +Create a task scheduler as shown in Chapter 8 of Programming Embedded Systems on Zyante. The task scheduler shall have six tasks, one for each state machine in Lab 6 and 7:
 +  - Keypad
 +  - Clock
 +  - Seven Segment Display
 +  - ADC
 +  - DAC
 +  - PWM
 +The specifications for the real-time clock and ADC/DAC/PWM are the same as they were in the previous labs except they now must be activated by a task scheduler.
 +You must have an empty while(1) loop in main(). The task scheduler should be in your TimerISR as taught in the book.
 +===== Notes =====
 +One of the major takeaways from this lab is to use structs to better organize your code. Being able to recognize things that should be grouped together in a struct will be a valuable skill.
 +===== Grading =====
 +Demonstrate your system to the TA to pass off. Turn in the code relative to the task scheduler, including values related to timing, the scheduler itself, and your main() function. You may remove the //​unaltered//​ skeleton code in main and indicate where it was. Also report how long the lab took you, major bugs you encountered,​ and parts of the lab specs you found ambiguous.
lab_8.txt ยท Last modified: 2019/04/08 20:11 (external edit)