Requirements
Coaching Interview 1. Gather top-level project constraints.
Interview SME and sponsor to fill in each of the requested constraints.
Major Tasks
What are the major engineering tasks required in order to accomplish the Job Outcome?
For a Job Outcome of "Custom LoRaWAN demo application using the SAMR34 Module", we could have the following tasks:
- Evaluate the functional fitness of the SAMR34 for the demo application
- Build/purchase a hardware prototype for the application
- Download/Install firmware development tools
- Write and test firmware for the application
Major Task 9
Major Task 8
Major Task 7
Major Task 6
Major Task 5
Major Task 4
Major Task 3
Major Task 2
Major Task 1
Implementation and Delivery Constraints
Course Type (Lecture-Only, Hands-On)?
Course Duration (Hours)? 
Number of instructors required?
Target Audience
Who are the major audience groups the training is targeted to?
Expected background knowledge and experience level?
Major Job Outcome
What will Attendees be able to produce or accomplish back on the job after taking this training? State it as a noun-phrase, for example:
"Customized LoRaWAN demo application using the SAMR34 Module"
Due Date
Enter here...
Course Title
Replace "Course Title" with your course title.
Add course title abstract here
Interrupt Module Outline
Coaching Interview 3. Develop a Course Outline
From the Job/Task analysis, group content together into chapters and name the chapters.
"Knowledge" (Concept/Fact/Principle) bubbles map to "Lessons"
"Procedure" bubbles map to "Lab Exercises" or "Quizzes" or other hands-on activities.
Typically, a 1:1 relationship exists between Major Tasks and Chapters. However, you are free to group knowledge and procedures from several different Tasks into the same Chapter in the course outline.
When finished, the TTE will produce a course outline in word format that captures this structure.
	Atomic Operation
	ISR Duration
	Vector table starting address
	Priority Conflict
	Enable the Global and Peripheral Interrupts
6.	Interrupt Pitfalls: Show some typical pitfalls using and deploying this peripheral and how you deal with them.
	Demo 4: Simultaneous High- and Low-Priority Interrupts
	Demo 3: High-Priority Interrupt Preempting Low-Priority Interrupts
	Demo 2: High-Priority Interrupt with a Low-Priority Interrupt Pending
	Demo 1: High/Low-Priority Interrupt While Executing Main Routine
	Observe results in MPLAB Data Visualizer
	Without Click board setup
	With Click board setup
	Hardware Setup
	Without Click board connection
	With Click board connection
	Connection Diagram
5.	Interrupt Demonstration: Show a working design with the configuration options you selected
o	4: Simultaneous High- and Low-Priority Interrupts
o	3: High-Priority Interrupt Preempting Low-Priority Interrupts
o	2: High-Priority Interrupt with a Low-Priority Interrupt Pending
o	1: High/Low-Priority Interrupt While Executing Main Routine
	Call 4 Demos in UART terminal by typing 1/2/3/4
	Describe and explain Main Routine Operation
	Describe and explain TMR0, TMR1 ISR Handler
	Describe the APIs and how they interface to the MCC generated code
4.	Interrupt Firmware Interface: Describe the MCC generated APIs
	System Module Configuration
o	Enable RC2 Output Option
	MCC Classic Configuration
	Generate MCC Code
o	Select 4 in Clock divider
o	Select 4_MHz in HF Internal Clock
o	Select HFINTOSC in Oscillator Select
o	Set System Clock to 1MHz
	Clock Control Configuration
o	Set RB4 IOC option as any
	Pin Module and Pin Manger Configuration
o	Set TMR1 as High Priority, TMR0 & IOC1 as Low Priority
o	Enable TMR0, TMR1, IOC1 interrupt
	Interrupt Module Configuration
o	UART1
o	TMR1
o	TMR0
	Adding peripherals
	MCC Melody Configuration
	Opening MCC using MCC Classic & MCC Melody
	Opening MCC using Icon & using tools bar
	Step4: Type Project Name -> Click Finish
	Step3: Choose XC8 (v2.32) in compiler option -> Click Next
	Step2: Choose PIC18F57Q43 in Devices, PKOB nano-SN:xxxxxxxx in Tool -> Click Next
	Step1: Choose Standalone Project -> Click Next
	Project Creation
3.	Interrupt Configuration: Show common configuration options using MCC
	Case 2: IPEN = X & MVECEN = 1
	Case 1: IPEN = 1 & MVECEN = 0
	IVT Address Calculation
	Condition and Execution with examples
	Aborting Interrupts
	Interrupt latency for MVECEN = 0
	Timing diagram
	Interrupt latency for MVECEN = 1
	Interrupt Latency
	PCLATH/U
	PRODL/H
	FSR0/1/2
	BSR
	WREG
	STATUS
2.
1.
Chapter 3
Section 1
Lab Exercise
Lesson 1
Interrupt Hardware overview: Describe the interrupt operation and features
Context Saving Operation
CPU Registers and saving
Shadow Control Register
Context Save State Machine Diagram
Interrupt Control and Status Register
IVT1WAY, MVECEN
IVTLOCK
IVTBASE
IVTAD
IPRx
PIEx
PIRx
INTCON0, INTCON1
Interrupt Priority Operation
Priority Determination
Natural Order Priority
User Priority
Vectored Interrupt Operation
4 Common scenarios of vectored interrupt execution
Simultaneous High- and Low-Priority Interrupts
High-Priority Interrupt with a Low-Priority Interrupt Pending
High/Low-Priority Interrupt While Executing Main Routine
Vectored Interrupt State Transition Diagram
Vectored Interrupt Block diagram
Non-vectored Interrupt Block diagram
Interrupt Introduction: Explain the usage and advantages of interrupt.
What kinds of Interrupt are in PIC18?
Difference between Vectored & Non-vectored interrupt
Introduce Vectored & Non-vectored interrupt
Why we need Interrupt in MCU?
Advantages of Interrupt over Polling
Difference between Polling and Interrupt
What is Interrupt?
Example: Main routine interrupted by ISR Handler