Added Set_X and Reset_X functions with args (pin placement). Added SCLK and SIN global constants

This commit is contained in:
Yohan Boujon 2023-03-26 00:41:52 +01:00
parent d39b3b3bf9
commit 42ad6bb606
2 changed files with 159 additions and 42 deletions

View file

@ -125,7 +125,7 @@
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
<Key>DLGDARM</Key> <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=1209,244,1630,671,1)(121=1190,75,1611,502,0)(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=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,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=287,138,708,565,1)(121=1190,75,1611,502,0)(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=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,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>
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
@ -142,9 +142,121 @@
<Bp> <Bp>
<Number>0</Number> <Number>0</Number>
<Type>0</Type> <Type>0</Type>
<LineNumber>116</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222522</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\FonctionEtape2.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\FonctionEtape2.asm\116</Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>115</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222518</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\FonctionEtape2.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\FonctionEtape2.asm\115</Expression>
</Bp>
<Bp>
<Number>2</Number>
<Type>0</Type>
<LineNumber>113</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222512</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\FonctionEtape2.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\FonctionEtape2.asm\113</Expression>
</Bp>
<Bp>
<Number>3</Number>
<Type>0</Type>
<LineNumber>99</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222500</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\FonctionEtape2.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\FonctionEtape2.asm\99</Expression>
</Bp>
<Bp>
<Number>4</Number>
<Type>0</Type>
<LineNumber>98</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222498</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\FonctionEtape2.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\FonctionEtape2.asm\98</Expression>
</Bp>
<Bp>
<Number>5</Number>
<Type>0</Type>
<LineNumber>58</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222426</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\FonctionEtape2.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\FonctionEtape2.asm\58</Expression>
</Bp>
<Bp>
<Number>6</Number>
<Type>0</Type>
<LineNumber>57</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222424</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\FonctionEtape2.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\FonctionEtape2.asm\57</Expression>
</Bp>
<Bp>
<Number>7</Number>
<Type>0</Type>
<LineNumber>56</LineNumber> <LineNumber>56</LineNumber>
<EnabledFlag>1</EnabledFlag> <EnabledFlag>1</EnabledFlag>
<Address>134222432</Address> <Address>134222422</Address>
<ByteObject>0</ByteObject> <ByteObject>0</ByteObject>
<HtxType>0</HtxType> <HtxType>0</HtxType>
<ManyObjects>0</ManyObjects> <ManyObjects>0</ManyObjects>
@ -156,39 +268,7 @@
<Expression>\\Simu_Etape0\FonctionEtape2.asm\56</Expression> <Expression>\\Simu_Etape0\FonctionEtape2.asm\56</Expression>
</Bp> </Bp>
<Bp> <Bp>
<Number>1</Number> <Number>8</Number>
<Type>0</Type>
<LineNumber>55</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222428</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\FonctionEtape2.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\FonctionEtape2.asm\55</Expression>
</Bp>
<Bp>
<Number>2</Number>
<Type>0</Type>
<LineNumber>78</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222464</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\FonctionEtape2.asm</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Simu_Etape0\FonctionEtape2.asm\78</Expression>
</Bp>
<Bp>
<Number>3</Number>
<Type>0</Type> <Type>0</Type>
<LineNumber>87</LineNumber> <LineNumber>87</LineNumber>
<EnabledFlag>1</EnabledFlag> <EnabledFlag>1</EnabledFlag>
@ -204,7 +284,7 @@
<Expression>\\Simu_Etape0\Principale.asm\87</Expression> <Expression>\\Simu_Etape0\Principale.asm\87</Expression>
</Bp> </Bp>
<Bp> <Bp>
<Number>4</Number> <Number>9</Number>
<Type>0</Type> <Type>0</Type>
<LineNumber>80</LineNumber> <LineNumber>80</LineNumber>
<EnabledFlag>1</EnabledFlag> <EnabledFlag>1</EnabledFlag>
@ -220,7 +300,7 @@
<Expression></Expression> <Expression></Expression>
</Bp> </Bp>
<Bp> <Bp>
<Number>5</Number> <Number>10</Number>
<Type>0</Type> <Type>0</Type>
<LineNumber>91</LineNumber> <LineNumber>91</LineNumber>
<EnabledFlag>1</EnabledFlag> <EnabledFlag>1</EnabledFlag>
@ -236,7 +316,7 @@
<Expression></Expression> <Expression></Expression>
</Bp> </Bp>
<Bp> <Bp>
<Number>6</Number> <Number>11</Number>
<Type>0</Type> <Type>0</Type>
<LineNumber>92</LineNumber> <LineNumber>92</LineNumber>
<EnabledFlag>1</EnabledFlag> <EnabledFlag>1</EnabledFlag>
@ -256,7 +336,7 @@
<Mm> <Mm>
<WinNumber>1</WinNumber> <WinNumber>1</WinNumber>
<SubType>0</SubType> <SubType>0</SubType>
<ItemText>0x20000000</ItemText> <ItemText>0x200004A0</ItemText>
<AccSizeX>0</AccSizeX> <AccSizeX>0</AccSizeX>
</Mm> </Mm>
</MemoryWindow1> </MemoryWindow1>

View file

@ -30,7 +30,9 @@
AREA MesDonnees, data, readwrite AREA MesDonnees, data, readwrite
;************************************************************************** ;**************************************************************************
SCLK EQU 5
SIN1 EQU 7
Barette1 DCB 0,1,0 Barette1 DCB 0,1,0
DCB 0,1,0 DCB 0,1,0
DCB 0,1,0 DCB 0,1,0
@ -58,9 +60,42 @@ Set_SCLK PROC
BX LR ;Retour BX LR ;Retour
ENDP ENDP
Set_X PROC
PUSH {R7} ;On stocke R7 dans SP
MOV R7,SP ;R7 récupère l'adresse du SP
PUSH {R0-R4} ;On stocke R0 à R4 dans SP
LDRB R0,[R7,#4] ;Argument 1 dans R0
MOV R4, #1 ;*******
LSL R0, R4, R0 ;1<<Arg
LDR R1,=GPIOBASEA ;R1 -> Adresse de GPIOA
LDRH R2,[R1,#OffsetOutput] ;Valeur à l'adresse d'ODR : R2 = GPIOA->ODR
ORR R2, R2, R0 ;similaire à GPIOA->ODR |= (1<<Arg)
STRH R2,[R1,#OffsetOutput] ;Etat du port B (R5) stocké dans ODR
POP{R0-R4,R7} ;Déchargement de la pile
BX LR ;Retour
ENDP
Reset_X PROC
PUSH {R7} ;On stocke R7 dans SP
MOV R7,SP ;R7 récupère l'adresse du SP
PUSH {R0-R4} ;On stocke R0 à R4 dans SP
LDRB R0,[R7,#4] ;Argument 1 dans R0
MOV R4, #1 ;*******
LSL R0, R4, R0 ;1<<Arg
MVN R0, R0 ;~(1<<Arg)
LDR R1,=GPIOBASEA ;R1 -> Adresse de GPIOA
LDRH R2,[R1,#OffsetOutput] ;Valeur à l'adresse d'ODR : R2 = GPIOA->ODR
AND R2, R2, R0 ;similaire à GPIOA->ODR &= ~(1<<Arg)
STRH R2,[R1,#OffsetOutput] ;Etat du port B (R5) stocké dans ODR
POP{R0-R4,R7} ;Déchargement de la pile
BX LR ;Retour
ENDP
Reset_SCLK PROC Reset_SCLK PROC
PUSH {R0-R2} ;On stocke R0 à R2 PUSH {R0-R2} ;On stocke R0 à R2 dans SP
LDR R1,=GPIOBASEA ;R1 -> Adresse de GPIOA LDR R1,=GPIOBASEA ;R1 -> Adresse de GPIOA
LDRH R2,[R1,#OffsetOutput] ;Valeur à l'adresse d'ODR : R2 = GPIOA->ODR LDRH R2,[R1,#OffsetOutput] ;Valeur à l'adresse d'ODR : R2 = GPIOA->ODR
AND R2, R2,#~(0x01 << 5) ;similaire à GPIOA->ODR &= ~(1<<5) AND R2, R2,#~(0x01 << 5) ;similaire à GPIOA->ODR &= ~(1<<5)
@ -75,7 +110,9 @@ Reset_SCLK PROC
;R8 = ValCourante[NBLed] ;R8 = ValCourante[NBLed]
;**************************************************************************** ;****************************************************************************
DriverGlobal PROC DriverGlobal PROC
BL Set_SCLK; MOV R0, #SCLK ;************
PUSH {R0} ;Set_X(SCLK)
BL Set_X; ;************
MOV R6, #0; MOV R6, #0;
WHILE_NBLED WHILE_NBLED
;Pour NbLed = 1 à 48 ;Pour NbLed = 1 à 48