Right click on the ‘FlashLEDs(); function and select
‘Go to cursor’.
The code will execute to the selected line and stop. An automatic breakpoint was inserted in the code and then removed after calling the
break.
Press ‘Step Over’ on the Debug Toolbar.
The code will run and flash the LEDs 200 times. The debugger will not exit until all 200 flashes have completed or a button is pressed on the
RSK.
If the LEDs are still flashing press the SW1 button on the RSK to exit the FlashLEDs() function.
The code will run to the breakpoint we previously set on the TimerADC function.
The TimerADC function initialises an interrupt on an available internal timer. On a compare match in the timer module an interrupt is
generated. In the TimerADC code version the interrupt reads the last ADC conversion for the external potentiometer and uses the result to
set the next compare match value. The ADC conversion is then re-started.
The interrupt initialisation is completed as part of the hardware setup. This is contained in the file ‘interrupts.c’.
Open the file ‘interrupts.c’ by double clicking on the file in the workspace view.
Review this file and find the interrupt function that changes the LED pins, INT_OCIB_FRT(void).
Set a breakpoint on the line where the LED pins are modified.
Press <Go> or <F5> to run the code from the
current PC position.
The code will stop in the interrupt routine. It is now possible to step through the interrupt function.
Remove the breakpoint in the interrupt by double clicking again before exiting the function.
Press <Go> to run the code from the current PC
position.
The code will now run to the infinite loop at the end of main() function. The user LEDs should now be flashing. You can modify the flashing
rate by adjusting the potentiometer on the board.
11