Etape 3 #1
7 changed files with 168 additions and 73 deletions
|
@ -125,7 +125,7 @@
|
|||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGDARM</Key>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=15,39,661,712,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=10,69,431,496,1)(121=30,595,451,1022,1)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=18,101,612,852,0)(131=255,99,849,850,0)(132=49,93,643,844,0)(133=-1105,32,-511,783,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=15,39,661,712,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=1074,413,1495,840,1)(121=1495,417,1916,844,1)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=18,101,612,852,0)(131=255,99,849,850,0)(132=49,93,643,844,0)(133=-1105,32,-511,783,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
|
@ -142,41 +142,25 @@
|
|||
<Bp>
|
||||
<Number>0</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>65</LineNumber>
|
||||
<LineNumber>52</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134222334</Address>
|
||||
<Address>134222536</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>.\Principale.asm</Filename>
|
||||
<Filename>.\FonctionEtape2.asm</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\Simu_Etape0\Principale.asm\65</Expression>
|
||||
<Expression>\\Simu_Etape0\FonctionEtape2.asm\52</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>1</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>66</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134222338</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>.\Principale.asm</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\Simu_Etape0\Principale.asm\66</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>2</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>92</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134222342</Address>
|
||||
<Address>134222434</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
|
@ -188,27 +172,43 @@
|
|||
<Expression>\\Simu_Etape0\Principale.asm\92</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>3</Number>
|
||||
<Number>2</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>171</LineNumber>
|
||||
<LineNumber>66</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134222642</Address>
|
||||
<Address>134222430</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>.\FonctionEtape2.asm</Filename>
|
||||
<Filename>.\Principale.asm</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\Simu_Etape0\FonctionEtape2.asm\171</Expression>
|
||||
<Expression>\\Simu_Etape0\Principale.asm\66</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>3</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>62</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134222416</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>.\Principale.asm</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\Simu_Etape0\Principale.asm\62</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>4</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>170</LineNumber>
|
||||
<LineNumber>204</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134222638</Address>
|
||||
<Address>134222836</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
|
@ -217,28 +217,28 @@
|
|||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>.\FonctionEtape2.asm</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\Simu_Etape0\FonctionEtape2.asm\170</Expression>
|
||||
<Expression>\\Simu_Etape0\FonctionEtape2.asm\204</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>5</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>80</LineNumber>
|
||||
<LineNumber>175</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134222370</Address>
|
||||
<Address>134222762</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>.\FonctionEtape.asm</Filename>
|
||||
<Filename>.\FonctionEtape2.asm</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\Simu_Etape0\FonctionEtape.asm\80</Expression>
|
||||
<Expression>\\Simu_Etape0\FonctionEtape2.asm\175</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>6</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>91</LineNumber>
|
||||
<LineNumber>47</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>0</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
|
@ -247,14 +247,14 @@
|
|||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>0</BreakIfRCount>
|
||||
<Filename>.\FonctionEtape.asm</Filename>
|
||||
<Filename>.\FonctionEtape2.asm</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression></Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>7</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>150</LineNumber>
|
||||
<LineNumber>51</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>0</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
|
@ -270,7 +270,7 @@
|
|||
<Bp>
|
||||
<Number>8</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>182</LineNumber>
|
||||
<LineNumber>134</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>0</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
|
@ -286,7 +286,7 @@
|
|||
<Bp>
|
||||
<Number>9</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>96</LineNumber>
|
||||
<LineNumber>173</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>0</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
|
@ -295,14 +295,14 @@
|
|||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>0</BreakIfRCount>
|
||||
<Filename>.\Principale.asm</Filename>
|
||||
<Filename>.\FonctionEtape2.asm</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression></Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>10</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>97</LineNumber>
|
||||
<LineNumber>174</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>0</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
|
@ -311,7 +311,7 @@
|
|||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>0</BreakIfRCount>
|
||||
<Filename>.\Principale.asm</Filename>
|
||||
<Filename>.\FonctionEtape2.asm</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression></Expression>
|
||||
</Bp>
|
||||
|
@ -320,7 +320,7 @@
|
|||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>0</SubType>
|
||||
<ItemText>0x40021000</ItemText>
|
||||
<ItemText>0x20000000</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
EXPORT Reset_SCLK
|
||||
EXPORT DriverGlobal
|
||||
EXPORT Tempo
|
||||
EXPORT DriverReg
|
||||
|
||||
;**************************************************************************
|
||||
|
||||
|
@ -23,6 +24,7 @@
|
|||
;***************CONSTANTES*************************************************
|
||||
|
||||
include REG_UTILES.inc
|
||||
include LUMIERES.inc
|
||||
|
||||
;**************************************************************************
|
||||
|
||||
|
@ -37,24 +39,6 @@ MILSEC EQU 1304
|
|||
|
||||
PF DCD (1<<31)
|
||||
DataSend DCB 1
|
||||
Barette1 DCB 0xad,0xff,0
|
||||
DCB 0,0xff,0
|
||||
DCB 0,0,0xff
|
||||
DCB 0xff,0,0
|
||||
DCB 0xff,0xff,0
|
||||
DCB 0xff,0xff,0xff
|
||||
DCB 0xff,0,0
|
||||
DCB 0,0xff,0
|
||||
DCB 0,0,0xff
|
||||
DCB 0xff,0,0
|
||||
DCB 0xff,0xff,0
|
||||
DCB 0xff,0xff,0xff
|
||||
DCB 0xff,0,0
|
||||
DCB 0xff,0xff,0
|
||||
DCB 0xff,0xff,0xff
|
||||
DCB 0x0f,0xff,0x00
|
||||
|
||||
|
||||
|
||||
;**************************************************************************
|
||||
|
||||
|
@ -180,5 +164,60 @@ PoidFortOKIF
|
|||
|
||||
ENDP
|
||||
|
||||
;****************************************************************************
|
||||
;R0 Argument : Barette
|
||||
;R1 = *ValCourante
|
||||
;R2 = NBLed (i)
|
||||
;R3 = ValCourante[i]
|
||||
;****************************************************************************
|
||||
|
||||
DriverReg PROC
|
||||
PUSH {LR} ;R7 recupère LR
|
||||
MOV R1,R0 ;On recupère l'adresse de base
|
||||
MOV R0, #SCLK ;Argument SCLK
|
||||
BL Set_X; ;Set_X(SCLK)
|
||||
|
||||
MOV R2, #0; ;*************************
|
||||
REG_WHILE_NBLED ;for(int i=0;i<48;i++)
|
||||
LDRB R3,[R1,R2] ;ValCourante[i]
|
||||
LSL R3,#24 ;ValCourante[i]<<24
|
||||
|
||||
LDR R0,=PF
|
||||
LDR R5,[R0,#0] ;R5 = (1<<31)
|
||||
MOV R4, #0 ;*************************
|
||||
REG_WHILE_NBBIT ;for(int j=0;j<12;j++)
|
||||
MOV R0, #SCLK ;Argument SCLK
|
||||
BL Reset_X; ;Reset_X(SCLK)
|
||||
MOV R0, #SIN1 ;Argument SIN1
|
||||
AND R6,R3,R5 ;ValCourante[i] &= (1<<31) (<- PF)
|
||||
CMP R6,R5 ;if(PF == 1)
|
||||
BEQ REG_PoidFortOKIF;{ Set_X(SIN1) }
|
||||
BL Reset_X; ;else { Reset_X(SIN1) }
|
||||
REG_PoidFortOKJUMP ;Fin Si
|
||||
LSL R3,#1 ;ValeurCourante[i]<<1
|
||||
MOV R0, #SCLK ;Argument SCLK
|
||||
BL Set_X; ;Set_X(SCLK)
|
||||
ADD R4, R4, #1 ;On incrémente NBBit
|
||||
CMP R4, #11 ;SI NBBIT==11 alors on arrête la boucle
|
||||
BNE REG_WHILE_NBBIT
|
||||
|
||||
ADD R2, R2, #1 ;On incrémente NBLed
|
||||
CMP R2, #47 ;SI NBLED==47 alors on arrête la boucle
|
||||
BNE REG_WHILE_NBLED
|
||||
|
||||
MOV R0, #SCLK ;Argument SCLK
|
||||
BL Reset_X; ;Reset_X(SCLK)
|
||||
LDR R0,=DataSend;Adresse de DataSend
|
||||
MOV R1,#0 ; DataSend
|
||||
STRB R1,[R0,#0] ;DataSend=0
|
||||
POP {LR}
|
||||
BX LR ;while(1)
|
||||
|
||||
REG_PoidFortOKIF
|
||||
BL Set_X ;Set_X(SCLK)
|
||||
B REG_PoidFortOKJUMP ;After Reset8X
|
||||
|
||||
ENDP
|
||||
|
||||
;**************************************************************************
|
||||
END
|
44
LUMIERES.inc
Normal file
44
LUMIERES.inc
Normal file
|
@ -0,0 +1,44 @@
|
|||
;**************************************
|
||||
; Les deux Barettes
|
||||
;***************************************
|
||||
|
||||
;***************VARIABLES**************************************************
|
||||
AREA MesDonnees, data, readwrite
|
||||
;**************************************************************************
|
||||
|
||||
Barette1 DCB 0xad,0xff,0
|
||||
DCB 0,0xff,0
|
||||
DCB 0,0,0xff
|
||||
DCB 0xff,0,0
|
||||
DCB 0xff,0xff,0
|
||||
DCB 0xff,0xff,0xff
|
||||
DCB 0xff,0,0
|
||||
DCB 0,0xff,0
|
||||
DCB 0,0,0xff
|
||||
DCB 0xff,0,0
|
||||
DCB 0xff,0xff,0
|
||||
DCB 0xff,0xff,0xff
|
||||
DCB 0xff,0,0
|
||||
DCB 0xff,0xff,0
|
||||
DCB 0xff,0xff,0xff
|
||||
DCB 0x0f,0xff,0x00
|
||||
|
||||
Barette2 DCB 0xe6,0x3f,0
|
||||
DCB 0,0x56,0x64
|
||||
DCB 0x52,0,0xfe
|
||||
DCB 0x1f,0x1e,0
|
||||
DCB 0xff,0x5a,0
|
||||
DCB 0x6f,0xf7,0x8d
|
||||
DCB 0xdf,0x3e,0
|
||||
DCB 0,0xfa,0x6f
|
||||
DCB 0xe6,0x8c,0x2d
|
||||
DCB 0xf4,0x4f,0
|
||||
DCB 0,0x56,0x64
|
||||
DCB 0x52,0,0xfe
|
||||
DCB 0x1f,0x1e,0
|
||||
DCB 0xff,0x5a,0
|
||||
DCB 0x6f,0xf7,0x8d
|
||||
DCB 0xff,0,0
|
||||
|
||||
END
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
;************************************************************************
|
||||
|
||||
include REG_UTILES.inc
|
||||
|
||||
include LUMIERES.inc
|
||||
|
||||
;************************************************************************
|
||||
; IMPORT/EXPORT Système
|
||||
|
@ -29,6 +29,7 @@
|
|||
IMPORT Set_SCLK
|
||||
IMPORT Reset_SCLK
|
||||
IMPORT DriverGlobal
|
||||
IMPORT DriverReg
|
||||
IMPORT Tempo
|
||||
|
||||
EXPORT main
|
||||
|
@ -38,10 +39,6 @@
|
|||
|
||||
;*******************************************************************************
|
||||
AREA mesdonnees, data, readwrite
|
||||
|
||||
|
||||
|
||||
|
||||
;*******************************************************************************
|
||||
|
||||
AREA moncode, code, readonly
|
||||
|
@ -61,9 +58,12 @@ main PROC
|
|||
;*******************************************************************************
|
||||
; ETAPE 2
|
||||
;*******************************************************************************
|
||||
BL DriverGlobal ;*******************
|
||||
LDR R0, =Barette1
|
||||
BL DriverReg ;*******************
|
||||
MOV R0, #10 ;Argument : 10ms
|
||||
BL Tempo; :Tempo(10)
|
||||
LDR R0, =Barette2
|
||||
BL DriverReg ;*******************
|
||||
|
||||
;*******************************************************************************
|
||||
; ETAPE 1
|
||||
|
|
19
README.md
19
README.md
|
@ -1,13 +1,25 @@
|
|||
# But du projet
|
||||
Le but sera de faire fonctionner diverses LEDS à l'aide d'un STM32 et tout cela en langage Assembler.
|
||||
# Fonctionnalitées
|
||||
|
||||
## Variables
|
||||
|Nom|Description|Source|Type|
|
||||
|---|---|---|---|
|
||||
|Barette1|Jeu de LED : 16\*3 Données sur 1 octet|[LUMIERES.inc](LUMIERES.inc)|```Data Memory```|
|
||||
|Barette2|2ème jeu de LED avec des couleurs différentes|[LUMIERES.inc](LUMIERES.inc)|```Data Memory```|
|
||||
|SCLK|PIN pour SCLK (5)|[FonctionEtape2.asm](FonctionEtape2.asm)|```Egalitée```|
|
||||
|SIN1|PIN pour SIN1 (7)|[FonctionEtape2.asm](FonctionEtape2.asm)|```Egalitée```|
|
||||
|MILSEC|Pour Tempo(Nms) -> Le nombre d'itération pour avoir 1ms|[FonctionEtape2.asm](FonctionEtape2.asm)|```Egalitée```|
|
||||
|PF|Décalage à 31 bits pour le Poid Fort|[FonctionEtape2.asm](FonctionEtape2.asm)|```Data Memory```|
|
||||
|DataSend|Variable globale pour savoir si une donnée est transmise|[FonctionEtape2.asm](FonctionEtape2.asm)|```Data Memory```|
|
||||
## Fonctions
|
||||
|Nom|Argument(s)|Retour|Description|
|
||||
|---|---|---|---|
|
||||
|Set_X|**1** - R0 : PINAX||Pour un output donné, met à 1 ce dernier.|
|
||||
|Reset_X|**1** - R0 : PINAX||Pour un output donné, force à 0 ce dernier.|
|
||||
|DriverGlobal|||Pour une Barette de LED donnée, envoie les signaux demandés|
|
||||
|DriverGlobal|||Envoie les signaux liés à la LED|
|
||||
|Tempo|**1** - R0 : Nms||Pour un temps donné, le processeur se met en attente (similaire à sleep)|
|
||||
|DriverReg|**1** - R0 : \*LEDArray||Pour une Barette de LED donnée, envoie les signaux demandés|
|
||||
|
||||
---
|
||||
Chaque fonction prendra des arguments de R0 à R3 (avec R3 étant une référence au tas si le besoin d'argument est supérieur à 3). Le renvoi se fait sur R0.
|
||||
|
@ -36,7 +48,7 @@ En réalité j'ai par la suite changé ce paramètre en 1. Avec la valeur forcé
|
|||
|
||||
(Par la suite le Timer2,3,4 sont allumés (APB1ENR |= 0x07))
|
||||
|
||||
On appelle ensuite le DriverGlobal
|
||||
On appelle ensuite DriverReg qui va lire dans R0 l'adresse du tableau de LEDS. Ce dernier doit contenir les 16\*3 valeurs de leds. Une tempo est ensuite lancée, et un nouveau jeu de led est lu.
|
||||
|
||||
## Variables globales
|
||||
|
||||
|
@ -48,6 +60,9 @@ On appelle ensuite le DriverGlobal
|
|||
|
||||
Voici le premier chronogramme observable avec les états de SCLK et SIN1. Aucun test matériel n'a encore été réalisé :
|
||||

|
||||
Dans la dernière version du programme, deux jeux de LEDS sont envoyés après une tempo de quelques millisecondes. Voici les chronogrammes de ces dernières en simulation :
|
||||
|
||||

|
||||
|
||||
# Réaliser un code assembler à partir de C
|
||||
Comme vous le savez le code en langage C peut être compilé puis récupéré en assembler. C'est justement ici une solution que j'ai trouvé pour mieux comprendre différents principes, ou si certaines instructions ne me paraissent pas clair.
|
||||
|
|
|
@ -47,7 +47,4 @@ TIM4_ARR EQU 0x4000082C
|
|||
TIM4_SR EQU 0x40000810
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
END
|
BIN
assets/graph_animated.gif
Normal file
BIN
assets/graph_animated.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 MiB |
Loading…
Add table
Reference in a new issue