Kelanjutan rangkaian artikel tentang editor assembler untuk mikrokontroler ARM untuk compiler GNU AS
artikel sebelumnya Assembler Editor Plus: First Draft
di bawah potongan kemungkinan besar akan ada banyak gambar!
Jadi, kita punya proyek kemarin dengan pengaturan clocking dan loop yang tumpul, sekarang mari kita coba menambahkannya sedemikian rupa untuk melihat hasil pengerjaan pada LED.
Kami ingat bahwa untuk menggunakan periferal apa pun dari mikrokontroler, kami perlu mengaktifkannya, untuk ini kami menggunakan register RCC
Oleh karena itu, kami perlu menambahkan modul RCC ke proyek kami, untuk ini kami mulai menambahkan modul ke proyek (lihat artikel sebelumnya jika Anda tidak tahu caranya)
RCC terletak di blok PERIPH dari mikrokontroler, jadi kita mengikuti pohon "PERIPH" - "Reset and clock control (RCC)" dan kemudian muncul opsi:
Anda cukup menambahkan file definisi RCC di mana semua register RCC dan kemungkinan nilainya akan dijelaskan
Anda dapat menambahkan modul pengaturan jam GPIO yang sudah jadi, yang akan menambahkan modul RCC kepada kami dan pada saat yang sama menyediakan antarmuka on / off GPIO
Ketika Anda mengklik instal, Anda akan ditanya tentang jalur dan nama untuk menyimpan file modul konfigurasi pencatatan jam kerja, karena ini adalah periferal, untuk menghindari entropi alam semesta yang tak terhindarkan, lebih baik menyimpan file konfigurasi ini bersama a jalur yang masuk akal, saya memilih jalur 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 , :
, , ,
, - ...
,