Transférer les fichiers vers ''
première séance
This commit is contained in:
parent
16d41e2d53
commit
76b768670a
2 changed files with 62 additions and 0 deletions
30
gen_signal.s
Normal file
30
gen_signal.s
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
thumb
|
||||||
|
area moncode, code, readonly
|
||||||
|
|
||||||
|
GPIOB_BSRR equ 0x40010C10 ; Bit Set/Reset register
|
||||||
|
extern current_value
|
||||||
|
export timer_callback
|
||||||
|
|
||||||
|
timer_callback proc
|
||||||
|
ldr r2, =current_value
|
||||||
|
ldr r0, [r2]
|
||||||
|
ldr r3, =GPIOB_BSRR
|
||||||
|
cbnz r0, zero
|
||||||
|
|
||||||
|
; mise a 1 de PB1
|
||||||
|
mov r1, #0x00000002
|
||||||
|
str r1, [r3]
|
||||||
|
mov r1, #1
|
||||||
|
str r1, [r2]
|
||||||
|
bx lr
|
||||||
|
|
||||||
|
; mise a 0 de PB1
|
||||||
|
zero mov r1, #0x00020000
|
||||||
|
str r1, [r3]
|
||||||
|
mov r1, #0
|
||||||
|
str r1, [r2]
|
||||||
|
bx lr
|
||||||
|
|
||||||
|
endp
|
||||||
|
end
|
||||||
|
; N.B. le registre BSRR est write-only, on ne peut pas le relire
|
32
principal.c
Normal file
32
principal.c
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
#include <D:\Documents\Mes_documents\Travail\BE CHTI\BE - partie 1\gassp72.h>
|
||||||
|
|
||||||
|
int periode_en_tck = 100;
|
||||||
|
|
||||||
|
int current_value = 0;
|
||||||
|
|
||||||
|
void timer_callback(void);
|
||||||
|
|
||||||
|
|
||||||
|
int main(void) {
|
||||||
|
// activation de la PLL qui multiplie la fréquence du quartz par 9
|
||||||
|
CLOCK_Configure();
|
||||||
|
// config port PB1 pour être utilisé en sortie
|
||||||
|
GPIO_Configure(GPIOB, 1, OUTPUT, OUTPUT_PPULL);
|
||||||
|
// initialisation du timer 4
|
||||||
|
// Periode_en_Tck doit fournir la durée entre interruptions,
|
||||||
|
// exprimée en périodes Tck de l'horloge principale du STM32 (72 MHz)
|
||||||
|
Timer_1234_Init_ff( TIM4, periode_en_tck );
|
||||||
|
// enregistrement de la fonction de traitement de l'interruption timer
|
||||||
|
// ici le 2 est la priorité, timer_callback est l'adresse de cette fonction, a créér en asm,
|
||||||
|
// cette fonction doit être conforme à l'AAPCS
|
||||||
|
Active_IT_Debordement_Timer( TIM4, 2, timer_callback );
|
||||||
|
// lancement du timer
|
||||||
|
Run_Timer( TIM4 );
|
||||||
|
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue