====== Dokumentace ====== ===== Mikrokontrolér STM32F401 ===== {{ :courses:b2m37mam:stm32f4_instruction_set.pdf |Instrukční sada STM32F4}} {{ :courses:b2m37mam:stm32f401.pdf |Datasheet STM32F401}} {{ :courses:b2m37mam:stm32f401_refmanual.pdf |Referenční manuál STM32F401}} ===== Vývojový Kit Nucleo STM32 ===== Podrobné informace k vývojovému kitu lze najít v jeho datahseetu níže, zejména zapojení Arduino konektoru, propojení UART rozhraní s PC, vlastního tlačítka LED na desce. {{ :courses:b2m37mam:nucleo_64_pins.pdf |Datasheet vývojového kitu}} ===== Vybraná instrukční sada ===== V tabulce níže se nachází zjednodušená instrukční sada, která bude použita v rámci výuky předmětu mikrokontroléry. Kompletní dokumentaci naleznete v PDF dokumentu {{ :courses:b2m37mam:stm32f4_instruction_set.pdf |Instrukční sada STM32F4}} ^ Instrukce ^ Argument(y) ^ Popis ^ Příklad ^ Význam ^ Flags | ^ AND | {Rd}, Rn, Op2 | Logický AND | AND R0, R1 | R0 = R0 AND R1 | N,Z,C | ^ B{cond} | label | Skok {conditional} | B loop \\ BCC loop \\ BNE loop | Nepodmíněný skok na loop \\ Skok, pokud Carry flag (C) je nula \\ Skok, pokud Zero flag (Z) je nula | - | ^ BL{cond} | label | Skok s návratem {conditional} | BL podprogram | Volání podprogramu | - | ^ BX | Rm | Nepřímý skok | BX LR | Návrat z podprogramu | - | ^ EOR | {Rd}, Rn, Op2 | XOR | EOR R0, R1 | R0 = R0 XOR R1 | N,Z,C | ^ LDR | Rt, [Rn, #offset] | Načti word do registru | LDR R0, [R1, R2] \\ LDR R0, =constant | R0 = hodnota na adrese (R1+R2) \\ R0 = constant | - | ^ LSR, LSL | {Rd}, Rn, | Logický posuv vpravo/vlevo | LSR R0, R0, #1 | R0 = R0 >> 1 | N,Z,C | ^ ORR | {Rd}, Rn, Op2 | Logický OR | OR R0, R1 | R0 = R0 OR R1 | N,Z,C | ^ POP | reglist | Pop registr/s ze zásobníku | POP {R0-R5} | Načti 6 registrů R0-R5 ze zásobníku | - | ^ PUSH | reglist | Push register/s na zásobník | PUSH {R0-R5} | Ulož 6 registrů R0-R5 do zásobníku | - | ^ STR | Rt, [Rn, #offset] | Zapiš word do registru | STR R0, [R1, R2] | Ulož R0 na addru (R1+R2) | - | ^ SUB | {Rd}, Rn, Op2 | Odečti | SUB R0, #1 | R0 = R0 - 1 | N,Z,C,V | Pro skok (B{cond}) je třeba uvést podmínku za které se má skok provést. Kompletní tabulku lze nalézt v datasheetu na {{ :courses:b2m37mam:stm32f4_instruction_set.pdf#page=67 |str. 67}} ===== Datasheety ===== Datasheet posuvného registru {{ :courses:b2m37mam:projekty:74hc_hct595.pdf |74HC595}} Datasheet 7-mi segmentového displeje {{ :courses:b2m37mam:opd-q5620le-bw.pdf |OPD-Q5620LE-BW}} OLED displej s řadičem {{ :courses:b2m37mam:ssd1306.pdf |SSD1306}} s odkazem na knihovnu v jazyce C [[https://github.com/adafruit/Adafruit_SSD1306|zde]] Větráček {{ :courses:b2m37mam:efb0505ma-f00.pdf |EFB0505MA-F00}}