Zoznam otazok a uloh na skuske z predmetu Mikroprocesorove systemy v LETO 2020
***************************************************************
Bodove hodnotenie pocas On-Line SKYPE skusky – maximalny pocet bodov (alebo percent, vid [1]) je 60 :
***************************************************************
- — 5 bodov – splnenie bodov uvedenych v bode nizssie „A. Priprava na On-Line SKYPE skusku“; hodnoti sa schopnost detailne sa pripravit na efektivnu obhajobu svojho riesenia v ON LINE prostredi distancnej komunikacie so zakaznikom / nadriadenim
- — 10 bodov -otazky v bloku: „B.Programatorsky pohlad na vybrany priklad dr.SEDA“; vysvetlit syntax jazyka C, zmysel a povod symbolickych premennych a samotny beh programu v projektoch [2]
- — 10 bodov – otazky v bloku: „C.Vybrany priklad dr.SEDA z pohladu mikrokontrolerovej platformy MSP430“; identifikovat a aj najst vsetky prislusne riadiace registre a prvky architektury v dokumentacii MSP430, prelozit a ladit (t.j. „debagovat“ – krokovat a zastavovat) program v prostredi CCS, citat hodnoty premennych a v riadiacich registroch. Preukazat schopnost vyhladat informacie v dokumentacii k platforme MSP430.
- — 10 bodov –otazky v bloku: „D.Programatorsky pohlad na vybrany priklad z knihy MSP430 Workshop [4]“; vysvetlit syntax jazyka C, zmysel a povod symbolickcych premennych a samotny beh programu v projektoch zaslanych v ramci semestralnej prace. Najst v popise kniznicnych funkcii MSP430 (t.j. kninica drivelib.h) jednotlive funckie a pomocou manualu aj vysvetlit ich funkciu v programe. Oblast projektov pre kazdeho studenta je na GOOGLE Spreadsheet – konkretny projekt vyberie skusajuci JuPa [3]
- — 10 bodov – otazky v bloku: „E.Vybrany priklad z knihy MSP430 Workshop [4] pohladu mikrokontrolerovej platformy MSP430“; identifikovat a aj najst vsetky prislusne riadiace registre a prvky architektury v dokumentacii MSP430, prelozit a ladit (t.j. „debagovat“ – krokovat a zastavovat) program v prostredi CCS, citat hodnoty premennych a v riadiacich registroch. Preukazat schopnost vyhladat informacie v dokumentacii k platforme MSP430. Oblast projektov pre kazdeho studenta je na GOOGLE Spreadsheet – konkretny SW projekt vyberie skusajuci JuPa [3]
- — 10 bodov – otazky v Worksheete z knihy MSP430 Workshop [4]; najst zdroje pre prislusne odpovede citovane v prislusnom Appendixe ku (t.j. kap.4, 5 a 6) na otazky uvedene vo Worksheete. Zdroj pre odpoved najst v Users guide, datasheete ci inde – vid. zdroje v bloku A. . Prislusna kapitola pre kazdeho studenta je uvedena v GOOGLE Spreadsheet [3]
- — 5 bodov -otazky v bloku: „F. Popis vybranej casti architektury mikrokontorlera MSP430“; ustne popisat vybranu cast architektury MSP430 – pouzit pri tom vsetku dostupnu dokumentaciu (odporucam knihu MSP430 [4] a tam uvedene slajdy), ukazat prepojenie medzi HW a SW riadenim – POZNAMKA: musi ist o inu periferiu MSP430 ako bude popisovana v predchdzajucih bodoch (t.j. ak popisujem v E system preruseni tak tu popisem system hodin) – pridelene periferia pre Vas je na vid na GOOGLE Spreadsheet [3]
- [1] http://www.drpancik.sk/vyucba-zima-2019/mikroprocesorove-systemy-ms-leto-2020/ #Podmienky ukoncenia predmetu MS v LETO 2020
- [2] Cv3_1_Blink_LED_Soft a Cv3_2_Button.
- [3] https://docs.google.com/spreadsheets/d/1jHzU2SkSGIunXFqXhiD88_seB955uG2EdjblZebK_6I/edit#gid=0
- [4] kniha MSP430 Workshop …\Mikroprocesorove_Systemy_LETO_2020\STUDY\200212 STUDY MSP430 from Texas Instruments\MSP_Design_Workshop.pdf
***************************************************************
A. Priprava na On-Line SKYPE skusku :
***************************************************************
- — pripravit si aplikaciu SKYPE, najst si SKYPE kontakt na JuPa a odskusat si v SKYPE audio kanal (t.j. v nastaveni SKYPE funkcnost mikrofonu a reproduktorov)
- — pripravit sa na zdielanie svojej obrazovky (ide o jednoduche zapnutie pocas SKYPE hovoru )
- — pripravit si kit MSP430 a CCS
- — pripravit si do CCS workshopu svoje priklady (t.j. semestralne projekty) zaslane JuPa pocas semestra SEM10,11,12 a SEM13 – mali by tam byt aj Vam pridelene priklady (vid. GOOGLE SPREAD SHEET)s ktorymi budete pracovat na skuske
- — pripravit si do CCS workshopu priklady dr. SEDA (t.j. projekty) [6] [7]
- — pripravit si otvorenim v Adobe Acrobat Reader dokumenty uvede v ZDROJE (vid nizssie) [1][2][3][4][5] – budete v nich na skuske listovat a ukazovat JuPa nim pozadovane veci
- — spustit si aplikaciu KALKULACKA vo Win (zvolte programatorsky mod) – budete pocas skusky ukazovat bity, nible a hexa cisla a prevody medzi nimi
- — v prehliadaci si otvorte vyhladavacie okno GOOGLE – priebezne pocas skusky si budete vyhladavat informacie
- — v prehliadaci si otvorte okno s dobrym kurzom jazyka C – napr. [8]- budete si moct a aj ukazat potrebne prikazy (napriklad logicke operatory [9])
ZDROJE:
- [1] datasheet ku kitu MSP430 c:\STUDENT\Mikroprocesorove_Systemy_LETO_2020\STUDY\200212 STUDY MSP430 from Texas Instruments\MSP430F5529 LaunchPad Development Kit slau533d.pdf
- [2] popis kniznice MSP430 DrivLIB c:\STUDENT\Mikroprocesorove_Systemy_LETO_2020\STUDY\200212 STUDY MSP430 from Texas Instruments\MSP430F5xx_6xx_DriverLib_Users_Guide-2_91_12_08.pdf
- [3] knizku k laboratornym cviceniam MSP430 Workshop c:\STUDENT\Mikroprocesorove_Systemy_LETO_2020\STUDY\200212 STUDY MSP430 from Texas Instruments\MSP_Design_Workshop.pdf
- [4] datasheet k mikrokontroleru MSP430 c:\STUDENT\Mikroprocesorove_Systemy_LETO_2020\STUDY\200212 STUDY MSP430 from Texas Instruments\MSP430F552x, MSP430F551x DataSheet.pdf
- [5] MSP430 family user guide c:\STUDENT\Mikroprocesorove_Systemy_LETO_2020\STUDY\200212 STUDY MSP430 from Texas Instruments\MSP430x5xx and MSP430x6xx Family User’s Guide.pdf
- [6] Priklad dr. SEDA c.1 c:\STUDENT\Mikroprocesorove_Systemy_LETO_2020\WORK\Mikroprocesorove systemy – cvicenia\Cv3_1_Blink_LED_Soft\
- [7] Priklad dr. SEDA c.2 c:\STUDENT\Mikroprocesorove_Systemy_LETO_2020\WORK\Mikroprocesorove systemy – cvicenia\Cv3_2_Button\
- [8] https://www.tutorialspoint.com/cprogramming/index.htm
- [9]
- https://www.programiz.com/c-programming/bitwise-operators
- https://www.tutorialspoint.com/cprogramming/c_operators.htm
***************************************************************
***************************************************************
B.Programatorsky pohlad na vybrany priklad dr.SEDA
***************************************************************
Q: Naimportujteprojekty dr.SEDA do CSS (Cv3_2_Button a Cv3_1_Blink_LED_Soft), prelozte si ich a spustite, vytvorte jeden vzorovy breakpoint. Programy prekrokujte a ukazte zmeny v jednotlivych riadiacich registroch pre prislusne porty pred a po danom kroku.
A: Test zo skills ziskanych na cviceniach
Q: Najdite kde (t.j. v ktorom subore v projekte ) su deklarovane symbolicke premenne napr. P1OUT, P1DIR, P1SEL … alebo symbolicke konstanty BIT0 a BIT7 a co vlastne reprezentuju a aky je medzi nimi rozdiel.
A: ide o riadiace registre a bitove konstanty
Q: Vysvetlite co v jazyku C znamena bitwise operation a kde sa nachdzaju v programoch
A: https://en.wikipedia.org/wiki/Bitwise_operation
Q: Vysvetlite a ukazte skusajucemu v cinnosti na prikladoch spomedzi dole uvedenych vybrane bitove (bitwise) operacie.
Pomozte su tuzkou a papierom. Alebo si pomozte si aplikaciou WIN10 „Kalkulacka v programatorskom mode (BIN a HEX zobarzenie)“ a teoriou na webe napr. v TUTORIALS POINT [8]. Treba v ukazt na vyzvu skusajuceho , co je v riadiacom registri pred (zada sksuajuci napr. 0x55) a co je v nom po vykonani bitovej (bitwise) operacie – priklady v programoch dr.SEDA :
#define LED1_ON P1OUT |= BIT0;
#define LED1_OFF P1OUT &= ~BIT0;
#define LED1_TOG P1OUT ^= BIT0;
#define LED2_ON P4OUT |= BIT7;
#define LED2_OFF P4OUT &= ~BIT7;
#define LED2_TOG P4OUT ^= BIT7;
WDTCTL = WDTPW | WDTHOLD;
P1SEL &= ~BIT0;
P1DIR |= BIT0;
P4SEL &= ~BIT7;
P4DIR |= BIT7;
P1SEL &= ~(BIT0 | BIT1);
P1DIR |= BIT0;
P1DIR &= ~BIT1;
P1REN |= BIT1;
P1OUT |= BIT1;
P2SEL &= ~BIT1;
P2DIR &= ~BIT1;
P2REN |= BIT1;
P2OUT |= BIT1;
P4SEL &= ~BIT7;
P4DIR |= BIT7;
CVICENIE S NASTAVOVANIM BITOV V RIADIACICH REGISTROCH POMOCOU „BITWISE OPERATIONS“
+++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++ P1DIR &= ~BIT1; // pin P1.1 ako vstup
BIT1 0000 0010
P1DIR XXXX XX1X pred operaciou P1DIR XXXX XX0X pred operaciou
~BIT1 1111 1101 & P1DIR XXXX XX0X po operacii
+++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++ P2SEL &= ~BIT1; // pin P2.1 nastavi ako standardny vstup/vystup (GPIO) P2SEL XXXX XX1X pred operaciou P2SEL XXXX XX0X pred operaciou & ~BIT1 1111 1101 P2SEL XXXX XX0X po operacii +++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++ P2REN |= BIT1; // povoli pullup alebo pulldown rezistor na pine P2.1 P2REN XXXX XX1X pred operaciou P2REN XXXX XX0X pred operaciou | BIT1 0000 0010 P2REN XXXX XX1X po operacii +++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++ P2OUT |= BIT1; // na pine P2.1 nastavi napatie na log.1 P2OUT XXXX XX1X pred operaciou P2OUT XXXX XX0X pred operaciou | BIT1 0000 0010 P2OUT XXXX XX1X po operacii +++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++ P2OUT &= ~BIT1; // na pine P2.1 nastavi napatie na log 0 P2OUT XXXX XX1X pred operaciou P2OUT XXXX XX0X pred operaciou & ~BIT1 1111 1101 P2OUT XXXX XX0X po operacii
Q: najdite v datasheete [1] skusajucim vybrany riadiaci register (pouzite hladanie v PDF subore)
A: napr. [1] Table 6-26. Port P1 and P2 Registers (Base Address: 0200h)
Q: najdite v Users guide [5] popis riadiaceho registra (pouzite hladanie v PDF subore)
A: napr. [5] Figure 16-1. Watchdog Timer Block Diagram, str.455
Q: Programatorsky model spolupracuje so schemou vnoreneho zariadenia. Najdite na scheme MSP430F5529 Launchpadu zapojenie tlacitok a lediek a potvrdte to co vidite na popiske dosky plosnych spojov. Vyberte vhodny PDF dokument.
A: MSP430F5529 LaunchPad Development Kit slau533d.pdf, str.55, 56
Q: Programatorsky model spolupracuje s vnutornou schemou mikrokontrolera. Najdite na funkcnom blokovom diagrame porty P1 a P4 (obr.1-1 str.3, MSP430F552x, MSP430F551x DataSheet.pdf)
A: student ukaze to co ma ukazat
***************************************************************
***************************************************************
C.Vybrany priklad dr.SEDA z pohladu mikrokontrolerovej platformy MSP430
***************************************************************
Q: Cv3_2_Button : Nastavte breakpoint tak aby sa program zastavil pri stlaceni tlacidla S1 – predvedte to
Q: Program: Cv3_1_Blink_LED_Soft. Prakticka praca s CSS. Prelozte a debagujte program, zmente hodnotu oneskorenia, co znamena a kde je definovany operator __delay_cycles() ?
A: kap.6.8.3 subor: MSP430 Optimizing C_C++ Compiler slau132v.pdf (http://www.ti.com/lit/ug/slau132v/slau132v.pdf)
„intrinsics— Operators that are used like functions and produce assembly language code that would
otherwise be inexpressible in C, or would take greater time and effort to code.“
„6.8.3 The __delay_cycle Intrinsic
The __delay_cycles intrinsic inserts code to consume precisely the number of specified cycles with no
side effects. The number of cycles delayed must be a compile-time constant.“
Q: Prakticka praca s CSS. Ukazte pri krokovani programu zmenu obsahu jednotlivych riadiacich registrov – skusajuci vyberie ktory
A: vsimnite si ze v okne pre sledovanie obsahu sa zmena registra prejavi vyzltenim
Q: Vysvetlite komentar v kode – riadky na skuske vyberie skusajuci – co sa musi udiat v prislusnom riadiacom registri na bitovej urovni aby platil komentar za dvojitym backslashom (//)
P1SEL &= ~(BIT0 | BIT1); // piny P1.0 a P1.1 nastavi ako standardny vstup/vystup (GPIO)
P1DIR |= BIT0; // pin P1.0 ako vystup
P1DIR &= ~BIT1; // pin P1.1 ako vstup
P1REN |= BIT1; // povoli pullup alebo pulldown rezistor na pine P1.1
P1OUT |= BIT1; // na pine P1.1 zapne pullup rezistor
P2SEL &= ~BIT1; // pin P2.1 nastavi ako standardny vstup/vystup (GPIO)
P2DIR &= ~BIT1; // pin P2.1 ako vstup
P2REN |= BIT1; // povoli pullup alebo pulldown rezistor na pine P2.1
P2OUT |= BIT1; // na pine P2.1 zapne pullup rezistor
P4SEL &= ~BIT7; // pin P4.7 nastavi ako standardny vstup/vystup (GPIO)
P4DIR |= BIT7; // pin P4.7 ako vystup
WDTCTL = WDTPW | WDTHOLD; // zastavi watchdog casovac
P1SEL &= ~BIT0; // pin P1.0 nastavi ako standardny vstup/vystup (GPIO)
P1DIR |= BIT0; // pin P1.0 ako vystup
P4SEL &= ~BIT7; // pin P4.7 nastavi ako standardny vstup/vystup (GPIO)
P4DIR |= BIT7; // pin P4.7 ako vystup
A: Pomozte si Users Manualom [5] a MSP430 Workshops guide [3]
Q: Vysvetlite ucel riadiacich registrov GPIO a princip ich modifikacie s cielom riadit napatove stavy na pinoch I/O mikrokontrolera
A: kap.12.2, users guide a kap.3 design workshop kap.3
Q: Najdite popis konfiguracie I/O registrov PxDIR, PxSEL, PxOUT a PxIN v knihe MSP430 Workshop (subor: MSP_Design_Workshop.pdf) a Users Guide (subor:MSP430x5xx and MSP430x6xx Family User’s Guide.pdf )
A: kap.12.2, users guide a kap.3 design workshop kap.3
#TODO:
- Importujte projekty a vysvetlite kazdy riadok v C kode v projektoch dr.SEDA [1][2]. Vysvetlite funkciu riadiacich registrov pre port 1 a port 4 (POMOC: pomozte si slajdami ktore najdete v MSP430 Student Workshop [3]).
- Najdite riadiace registre pre GPIO v datasheete a/alebo v users guide pre procesor MSP430 F5529 [4][5]
- Importujte a spustite projekt [1][2] v CSS, nastavte lubovolne breakpointy, opakovane spustajte program a zastavujte ho, krokujte program, ukazte riadiace registre portov, vysvetlite co su makra v tomto programe a ako funguju v nom.
- Ukazte pri debugovani programu adresny priestor s obsahom jednotlivych riadiacich registrov a aj jednotlive bity
- Prakticky prevedte hexadecimalne cislo na bity pomocou niblov.
#FAQ:
- Aky je rozdiel medzi mikroprocesorom a mikrokontrolerom ? MSP430F5529 je ktory z nich ?
- Co je double word, word, byte a nible ?
- Popiste architekturu MSP430F5529 – pomozte si zdrojmi na USB kluci (datasheet, userguide, workshop…)
- Popiste adresny priestor MSP430F5529 – pomozte si zdrojmi na USB kluci (datasheet, userguide, workshop…)
ZDROJE:
- [1] c:\STUDENT\Mikroprocesorove_Systemy_LETO_2020\WORK\Mikroprocesorove systemy – cvicenia\Cv3_1_Blink_LED_Soft\
- [2] c:\STUDENT\Mikroprocesorove_Systemy_LETO_2020\WORK\Mikroprocesorove systemy – cvicenia\Cv3_2_Button\
- [3] c:\STUDENT\Mikroprocesorove_Systemy_LETO_2020\STUDY\200212 STUDY MSP430 from Texas Instruments\MSP_Design_Workshop.pdf
- [4] c:\STUDENT\Mikroprocesorove_Systemy_LETO_2020\STUDY\200212 STUDY MSP430 from Texas Instruments\MSP430F552x, MSP430F551x DataSheet.pdf
- [5] c:\STUDENT\Mikroprocesorove_Systemy_LETO_2020\STUDY\200212 STUDY MSP430 from Texas Instruments\MSP430x5xx and MSP430x6xx Family User’s Guide.pdf
***************************************************************
***************************************************************
D.Programatorsky pohlad na vybrany priklad z knihy MSP430 Workshop
***************************************************************
Q: SEM13 lab_06a_timer: popiste co robi kod – najdite jednotlive .c a .h subory a popiste ich
//***** Header Files **********************************************************
#include <driverlib.h>
#include „myGpio.h“
#include „myClocks.h“
#include „myTimers.h“
Q: SEM12 lab_05a_buttonInterrupt: popiste co robi kod – najdite jednotlive .c a .h subory a popiste ich
//***** Header Files **********************************************************
#include <driverlib.h>
#include „myClocks.h“
Q: SEM11 lab_04a_clock : popiste co robi kod – najdite jednotlive .c a .h subory a popiste ich
//***** Header Files **********************************************************
#include <driverlib.h>
#include „myClocks.h“
Q: SEM13 lab_06b_upTimer: Skompilujte a spustite program na MSP430 Launchpade co robi program ?
A: obidve LEDKy blikaju
Q: Co znamena kod v riadku – co to robi z hladiska chodu programu {(algoritmu):
__bis_SR_register( GIE );
__no_operation();
A:–Odpoved je v MSP430 Workshop guide a popise C/C++ kompilatora – vid. intrinsic operators in the MSP430 C/C++ compiler, table: Table 6-5. MSP430 Intrinsics p.139 [c:\STUDENT\Mikroprocesorove_Systemy_LETO_2020\STUDY\200212 STUDY MSP430 from Texas Instruments\MSP430 Optimizing C_C++ Compiler slau132v.pdf]
— vid. slajd str.5-11 MSP430 Workshop
Q: SEM12 lab_05a_buttonInterrupt: v module myTimers vysvetlite obidve prerusovacie rutiny a preco obe ledky blikaju naraz ?
Q: SEM12 lab_05a_buttonInterrupt: Co znamena kod v riadku – co to robi z hladiska chodu programu {(algoritmu):
__bis_SR_register( GIE );
__no_operation();
A:
— intrinsic operators in the MSP430 C/C++ compiler, table: Table 6-5. MSP430 Intrinsics p.139 [c:\STUDENT\Mikroprocesorove_Systemy_LETO_2020\STUDY\200212 STUDY MSP430 from Texas Instruments\MSP430 Optimizing C_C++ Compiler slau132v.pdf]
— vid. slajd str.5-11 MSP430 Workshop
Q: kde sa v kode nastavuju prerusenia ?
A: MSP430 Workshop str5-40
Q: SEM11 lab_04b_wdt: popiste cinnost programu (hello.c) – popiste co sa deje keby ste nevedel ze v pozadi bezi Watchdog. Ktore funkcie riadiace watchdog su funkciami z driverlib.h . Najdite ich manuali Users guide [2]. Ktora funkcia startuje watchdog. Preco sa obycajne watchdog na zaciatku programu vypina.
A: [2], kap.46 WDT_A_initWatchdogTimer, WDT_A_start
Q: SEM10 lab_03a_button_solution_hello_world_msp430f5529: co robi kod ?
//***** Header Files **********************************************************
#include <driverlib.h>
#include <stdio.h>
Q: SEM11 lab_04b_wdt: popiste cinnost programu (hello.c) – popiste co sa deje keby ste nevedel ze v pozadi bezi Watchdog. Ktore funkcie riadiace watchdog su funkciami z driverlib.h . Najdite ich manuali Users guide [2]. Ktora funkcia startuje watchdog. Preco sa obycajne watchdog na zaciatku programu vypina.
A: [2], kap.46 WDT_A_initWatchdogTimer, WDT_A_start
Q: SEM12 lab_05b_wdtBlink: Vysvetlite jednotlive prikazy vo funkcii main(). Pouzite na to vhodnu litraturu
A: MSP430 Workshop p.5-54 – cela strana popisujuca funkciu main() v tomto programe a potom DrivLib Users Guide
Q: SEM12 lab_05a_buttonInterrupt: popiste cinnost programu, prelozte ho a nahrajte do debuggera. Vysvetlite kazdy riadok programu co robi z pohladu C a funkcie mikrokontrolera
A: P1.1 reaguje na stlacenie vysvietenim al zhasnutim LED
Q: Co znamena kod v riadku – co to robi z hladiska chodu programu (algoritmu):
__bis_SR_register( GIE );
__no_operation();
A:
— intrinsic operators in the MSP430 C/C++ compiler, table: Table 6-5. MSP430 Intrinsics p.139 […\STUDY\200212 STUDY MSP430 from Texas Instruments\MSP430 Optimizing C_C++ Compiler slau132v.pdf]
— vid. slajd str.5-11 MSP430 Workshop
Q: kde sa v kode incializuju jednotlive prerusenia, kde v kode je vseobece povolenie preruseni a kde v kode su obsluzne rutiny pre obsluhu prerusenia – preco su niekedy dve ? Pomozte si aj slajdami MSP430 Workshopom
A: MSP430 Workshop
Q: Vysvetlite ucel riadiacich registrov GPIO a princip ich modifikacie s cielom riadit napatove stavy na pinoch I/O mikrokontrolera
A: kap.12.2, users guide a kap.3 design workshop kap.3
Q: Najdite popis konfiguracie I/O registrov PxDIR, PxSEL, PxOUT a PxIN v knihe MSP430 Workshop (subor: MSP_Design_Workshop.pdf) a Users Guide (subor:MSP430x5xx and MSP430x6xx Family User’s Guide.pdf )
A: kap.12.2, users guide a kap.3 design workshop kap.3
***************************************************************
***************************************************************
E.Vybrany priklad z knihy MSP430 Workshop pohladu mikrokontrolerovej platformy MSP430
***************************************************************
Vseobecne poziadavky : opiste cinnost programu, prelozte ho a nahrajte do debuggera. Vysvetlite kazdy riadok programu co robi z pohladu C a funkcie mikrokontrolera
Q:SEM13 lab_06a_timer: nastavte breakpoint „Set a breakpoint inside the ISR“ a popist ecinnost A: 6-44.
Q:SEM12 lab_05a_buttonInterrupt: ukazte funkciu obsluhy prerusenia v cinnosti pomocou prerusenia A: 5-47
Q:SEM11 lab_04a_clock : vysvetlite postup a zopakujte ho Debugging the Clocks na str.4-53
Q:SEM13 lab_06b_upTimer: nastavte vhodne breakpointy do prerusovacej rutiny pre timer
Q:SEM12 lab_05a_buttonInterrupt: prelozte a zkmpilujte program. Nastavte vhodne breakpoint do prerusovacej rutiny a nukazte cinnost breakpointu
A: v module main.c treba nastavit breakpoint v rutine :
#pragma vector=PORT1_VECTOR
__interrupt void pushbutton_ISR (void)
riadok:
case P1IV_P1IFG1: // Pin 1 (button 2)
GPIO_toggleOutputOnPin( GPIO_PORT_P1, GPIO_PIN0 );
Q: SEM11 lab_04b_wdt : ako funguje watchdog – pomozte si vhodnym materialom
A: popis watchdogu v knihe MSP430 Workshop str 4-34
Q: SEM12 lab_05b_wdtBlink: program prelozte, nahrajte do debuggeru a nastavte breakpoint do prerusovacej rutiny, sledujte co program robi
A: blika RED LED
Q: co reprezentuje skratka LPM3 v zdrojovom kode – pouzite na vysvetlenie vhodny zdroj
A: Low Power MOde – datasheet, users guide …..
Q: SEM12 lab_05a_buttonInterrupt: prelozte a zkmpilujte program. Nastavte vhodne breakpoint do prerusovacej rutiny a nukazte cinnost breakpointu
A: v module main.c treba nastavit breakpoint v rutine :
#pragma vector=PORT1_VECTOR
__interrupt void pushbutton_ISR (void)
riadok:
case P1IV_P1IFG1: // Pin 1 (button 2)
GPIO_toggleOutputOnPin( GPIO_PORT_P1, GPIO_PIN0 );
***************************************************************
***************************************************************
F. Popis vybranej casti architektury mikrokontorlera MSP430
***************************************************************