Continuação da série de artigos sobre o editor assembler para microcontroladores ARM para o compilador GNU AS
artigo anterior Assembler Editor Plus: First Draft
sob o corte, provavelmente haverá muitas fotos!
Então, temos o projeto de ontem com configurações de clock e um loop sem graça, agora vamos tentar adicioná-lo de forma a ver os resultados do trabalho em LEDs
Lembramos que para utilizar algum periférico do microcontrolador é necessário habilitá-lo, para isso utilizamos os registros RCC.
Portanto, precisamos adicionar o módulo RCC ao nosso projeto, para isso começamos a adicionar o módulo ao projeto (veja o artigo anterior se você não sabe como)
O RCC está localizado no bloco PERIPH do microcontrolador, então vamos ao longo da árvore "PERIPH" - "Reset and clock control (RCC)" e aparecem as opções:
você pode simplesmente adicionar um arquivo de definição RCC onde todos os registros RCC e seus valores possíveis serão descritos
você pode adicionar um módulo de configuração de relógio GPIO pronto, que irá adicionar o módulo RCC para nós e ao mesmo tempo fornecer a interface GPIO on / off
Ao clicar em instalar, ser-lhe-á pedido o caminho e nome para guardar o ficheiro do módulo de configuração do relógio, uma vez que se trata de periféricos, para evitar a inevitável entropia do universo, é melhor guardar este ficheiro de configuração junto de um caminho sensato, escolhi o caminho src \ periph \ rcc
GPIO
Open407I-C, , Easy , ArmAsmEdit\Add\MCUDoc\DevBoards
2 : GPIOH GPIOI
GPIOH
GPIOH:
DISABLE GPIO
"F4 "
,
, , .include -
main.asm .include ( )
, ,
, ( ), "F4 " . ,
" "
ARM - , - GPIO
, GPIO, , GPIO (, B, C) , .
GPIOH " GPIO", RCC , , src\periph\gpio
"F4" , "F4 ", ! :-)
,
, (. , 2 3), - GPIO , , "F4"
MODER "", ,
FR OTYPER ( , F4 )
,
GPIO, ,
, main.asm .include
, , , , , , !
, :
, LDR, R0, , [LDR R0,=] , ( , ( ), , )
, , "F5 " " " ( Ctrl+3)
( ), :
.GLOBAL - ,
MODULE - (), .include
SWITCH - , ( GPIO)
STM32F4 - , src\inc
STM32F4, AHB1PERIPH_BASE ( ), GPIO, GPIOH, GPIO_ODR
, Reference Manual RM0090
GPIOH GPIOH, R0, ""
R1 MOV GPIOODR, GPIOH, R0, GPIO_ODR ( F5)
( , )
,
, , " " SysTick,
src\core\stk
:
main.asm , BL, F5 , BL SYS F5
R0 - , BL SYSTICK_DELAY. , R0 GPIOH ? - R2 , :
, , ,
, - ...
,