Compare commits
7 commits
Author | SHA1 | Date | |
---|---|---|---|
3307d47679 | |||
788676daa7 | |||
d553a2b2e4 | |||
a745f81974 | |||
e36c2144b9 | |||
a917f93b51 | |||
d992a752f0 |
16 changed files with 491 additions and 83 deletions
|
@ -5,24 +5,15 @@
|
|||
; ====================== zone de réservation de données, ======================================
|
||||
;Section RAM (read only) :
|
||||
area mesdata,data,readonly
|
||||
|
||||
import LeSignal
|
||||
|
||||
|
||||
;Section RAM (read write):
|
||||
area maram,data,readwrite
|
||||
|
||||
|
||||
|
||||
; ===============================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
;Section ROM code (read only) :
|
||||
area moncode,code,readonly
|
||||
; écrire le code ici
|
||||
|
||||
|
||||
|
||||
export DFT_ModuleAuCarre
|
||||
|
||||
|
||||
;Section ROM code (read only) :
|
||||
|
@ -160,7 +151,54 @@ TabSin
|
|||
DCW -6393 ; 62 0xe707 -0.19510
|
||||
DCW -3212 ; 63 0xf374 -0.09802
|
||||
|
||||
;Section ROM code (read only) :
|
||||
area moncode,code,readonly
|
||||
; écrire le code ici
|
||||
|
||||
|
||||
DFT_ModuleAuCarre proc
|
||||
|
||||
; r0 occupé par k
|
||||
; r1 occupé par l'adresse du signal
|
||||
|
||||
; ModuleAuCarre
|
||||
; r6 occupé par PartieReelle
|
||||
; r7 occupé par PartieIm
|
||||
|
||||
push {r4, r5, r6, r7, r8, r9, r10}
|
||||
|
||||
ldr r9, =TabCos
|
||||
ldr r8, =TabSin
|
||||
;ldr r1, =LeSignal
|
||||
mov r3, #0
|
||||
|
||||
debut_boucle
|
||||
ldrsh r4, [r1,r3, lsl #1];lecture de la valeur du signal à l'adresse r1 décalé de l'index r3
|
||||
mul r10, r3, r0
|
||||
and r10, #63
|
||||
|
||||
ldrsh r2, [r9,r10, lsl #1];lecture de la valeur du cos à l'adresse r0 décalé de l'index r3
|
||||
mul r5, r2, r4 ;calcul
|
||||
add r6, r5 ; on y ajoute la valeur calculée
|
||||
|
||||
ldrsh r2, [r8,r10, lsl #1];lecture de la valeur du sin
|
||||
mul r5, r2, r4 ; calcul en reprenant la valeur du signal qui ne change pas dans r4
|
||||
add r7, r5
|
||||
|
||||
|
||||
add r3, #1 ;incrémentation de l'index
|
||||
cmp r3, #64 ;on compare pour sortir de la boucle
|
||||
bne debut_boucle
|
||||
|
||||
fin_boucle
|
||||
smull r5, r4, r6, r6
|
||||
smull r10, r2, r7, r7
|
||||
add r4, r2
|
||||
mov r0,r4
|
||||
|
||||
pop {r4, r5, r6, r7, r8, r9, r10}
|
||||
bx lr
|
||||
endp
|
||||
|
||||
|
||||
END
|
|
@ -1,10 +1,14 @@
|
|||
|
||||
|
||||
#include <stdio.h>
|
||||
#include "DriverJeuLaser.h"
|
||||
|
||||
extern short int LeSignal;
|
||||
|
||||
extern int DFT_ModuleAuCarre(int k, short int * Signal64ech);
|
||||
|
||||
|
||||
int main(void)
|
||||
|
||||
{
|
||||
|
||||
// ===========================================================================
|
||||
|
@ -19,10 +23,16 @@ CLOCK_Configure();
|
|||
|
||||
|
||||
//============================================================================
|
||||
|
||||
|
||||
DFT_ModuleAuCarre(0, &LeSignal);
|
||||
|
||||
|
||||
|
||||
|
||||
while (1)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
|
@ -154,6 +154,26 @@
|
|||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>r3,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>1</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>r10</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>256</SubType>
|
||||
<ItemText>R0</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
|
@ -267,7 +287,7 @@
|
|||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
|
@ -624,6 +644,30 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>1</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>2</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Src\DFT.s</PathWithFileName>
|
||||
<FilenameWithoutPath>DFT.s</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>1</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>2</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Src\Signal.asm</PathWithFileName>
|
||||
<FilenameWithoutPath>Signal.asm</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
|
@ -634,7 +678,7 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileType>2</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -654,7 +698,7 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileNumber>5</FileNumber>
|
||||
<FileType>4</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
|
|
@ -388,6 +388,16 @@
|
|||
<FileType>1</FileType>
|
||||
<FilePath>.\Src\principal.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>DFT.s</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\DFT.s</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>Signal.asm</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\Signal.asm</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
@ -797,6 +807,16 @@
|
|||
<FileType>1</FileType>
|
||||
<FilePath>.\Src\principal.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>DFT.s</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\DFT.s</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>Signal.asm</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\Signal.asm</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
@ -1275,6 +1295,16 @@
|
|||
<FileType>1</FileType>
|
||||
<FilePath>.\Src\principal.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>DFT.s</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\DFT.s</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>Signal.asm</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\Signal.asm</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
@ -1322,7 +1352,7 @@
|
|||
<LayerInfo>
|
||||
<Layers>
|
||||
<Layer>
|
||||
<LayName><Project Info></LayName>
|
||||
<LayName>StepDFT</LayName>
|
||||
<LayTarg>0</LayTarg>
|
||||
<LayPrjMark>1</LayPrjMark>
|
||||
</Layer>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<aExt>*.s*; *.src; *.a*</aExt>
|
||||
<oExt>*.obj; *.o</oExt>
|
||||
<lExt>*.lib</lExt>
|
||||
<tExt>*.txt; *.h; *.inc</tExt>
|
||||
<tExt>*.txt; *.h; *.inc; *.md</tExt>
|
||||
<pExt>*.plm</pExt>
|
||||
<CppX>*.cpp</CppX>
|
||||
<nMigrate>0</nMigrate>
|
||||
|
@ -75,7 +75,7 @@
|
|||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
|
@ -154,6 +154,21 @@
|
|||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>VarTime,0x0A</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>258</SubType>
|
||||
<ItemText>R0</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
|
@ -174,7 +189,7 @@
|
|||
<AscS3>0</AscS3>
|
||||
<aSer3>0</aSer3>
|
||||
<eProf>0</eProf>
|
||||
<aLa>0</aLa>
|
||||
<aLa>1</aLa>
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>0</aSer4>
|
||||
|
@ -196,6 +211,13 @@
|
|||
<pszMrulep></pszMrulep>
|
||||
<pSingCmdsp></pSingCmdsp>
|
||||
<pMultCmdsp></pMultCmdsp>
|
||||
<LogicAnalyzers>
|
||||
<Wi>
|
||||
<IntNumber>0</IntNumber>
|
||||
<FirstString>`VarTime</FirstString>
|
||||
<SecondString>0000000000000000000000000000E0FFFFFFEF410000000000000000000000000000000056617254696D65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F1100000000000000000000000000000000000000A4030008</SecondString>
|
||||
</Wi>
|
||||
</LogicAnalyzers>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableFlashSeq>0</EnableFlashSeq>
|
||||
|
@ -260,7 +282,7 @@
|
|||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
|
@ -339,6 +361,13 @@
|
|||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>VarTime,0x0A</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
|
@ -367,7 +396,7 @@
|
|||
<AscS3>0</AscS3>
|
||||
<aSer3>0</aSer3>
|
||||
<eProf>0</eProf>
|
||||
<aLa>0</aLa>
|
||||
<aLa>1</aLa>
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>0</aSer4>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<TargetName>Simu</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pCCUsed>5060750::V5.06 update 6 (build 750)::.\ARMCC</pCCUsed>
|
||||
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
|
@ -424,7 +424,7 @@
|
|||
<TargetName>CibleSondeKEIL</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pCCUsed>5060750::V5.06 update 6 (build 750)::.\ARMCC</pCCUsed>
|
||||
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
|
@ -1338,11 +1338,6 @@
|
|||
<Layers>
|
||||
<Layer>
|
||||
<LayName><Project Info></LayName>
|
||||
<LayDesc></LayDesc>
|
||||
<LayUrl></LayUrl>
|
||||
<LayKeys></LayKeys>
|
||||
<LayCat></LayCat>
|
||||
<LayLic></LayLic>
|
||||
<LayTarg>0</LayTarg>
|
||||
<LayPrjMark>1</LayPrjMark>
|
||||
</Layer>
|
||||
|
|
|
@ -10,7 +10,10 @@
|
|||
;Section RAM (read write):
|
||||
area maram,data,readwrite
|
||||
|
||||
VarTime dcd 0
|
||||
VarTime dcd 0 ;VarTime adresse sur 32 bits
|
||||
|
||||
export VarTime
|
||||
|
||||
|
||||
|
||||
; ===============================================================================================
|
||||
|
@ -47,9 +50,9 @@ Delay_100ms proc
|
|||
str r1,[r0]
|
||||
|
||||
BoucleTempo
|
||||
ldr r1,[r0]
|
||||
ldr r1,[r0] ; r1 = VarTime
|
||||
|
||||
subs r1,#1
|
||||
subs r1,#1 ; r1 = r1 - 1
|
||||
str r1,[r0]
|
||||
bne BoucleTempo
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ int main(void)
|
|||
CLOCK_Configure();
|
||||
|
||||
// configuration de PortB.1 (PB1) en sortie push-pull
|
||||
GPIO_Configure(GPIOB, 1, OUTPUT, OUTPUT_PPULL);
|
||||
GPIO_Configure(GPIOC, 12, OUTPUT, OUTPUT_PPULL);
|
||||
|
||||
|
||||
|
||||
|
@ -25,8 +25,8 @@ GPIO_Configure(GPIOB, 1, OUTPUT, OUTPUT_PPULL);
|
|||
while (1)
|
||||
{
|
||||
Delay_100ms();
|
||||
GPIOB_Set(1);
|
||||
GPIOC_Set(12);
|
||||
Delay_100ms();
|
||||
GPIOB_Clear(1);
|
||||
GPIOC_Clear(12);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<aExt>*.s*; *.src; *.a*</aExt>
|
||||
<oExt>*.obj; *.o</oExt>
|
||||
<lExt>*.lib</lExt>
|
||||
<tExt>*.txt; *.h; *.inc</tExt>
|
||||
<tExt>*.txt; *.h; *.inc; *.md</tExt>
|
||||
<pExt>*.plm</pExt>
|
||||
<CppX>*.cpp</CppX>
|
||||
<nMigrate>0</nMigrate>
|
||||
|
@ -75,7 +75,7 @@
|
|||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
|
@ -154,6 +154,21 @@
|
|||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>FlagCligno</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>1</SubType>
|
||||
<ItemText>0x200000A0</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
|
@ -174,7 +189,7 @@
|
|||
<AscS3>0</AscS3>
|
||||
<aSer3>0</aSer3>
|
||||
<eProf>0</eProf>
|
||||
<aLa>0</aLa>
|
||||
<aLa>1</aLa>
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>0</aSer4>
|
||||
|
@ -200,7 +215,7 @@
|
|||
<Wi>
|
||||
<IntNumber>0</IntNumber>
|
||||
<FirstString>((portb & 0x00000002) >> 1 & 0x2) >> 1</FirstString>
|
||||
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F160000000000000000000000000000000000000096020008</SecondString>
|
||||
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F040000000000000000000000000000000000000096020008</SecondString>
|
||||
</Wi>
|
||||
</LogicAnalyzers>
|
||||
<DebugDescription>
|
||||
|
@ -267,7 +282,7 @@
|
|||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
|
@ -374,7 +389,7 @@
|
|||
<AscS3>0</AscS3>
|
||||
<aSer3>0</aSer3>
|
||||
<eProf>0</eProf>
|
||||
<aLa>0</aLa>
|
||||
<aLa>1</aLa>
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>0</aSer4>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<TargetName>Simu</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pCCUsed>5060750::V5.06 update 6 (build 750)::.\ARMCC</pCCUsed>
|
||||
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
|
@ -357,7 +357,7 @@
|
|||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
<IncludePath>.\Driver</IncludePath>
|
||||
</VariousControls>
|
||||
</Aads>
|
||||
<LDads>
|
||||
|
@ -424,7 +424,7 @@
|
|||
<TargetName>CibleSondeKEIL</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pCCUsed>5060750::V5.06 update 6 (build 750)::.\ARMCC</pCCUsed>
|
||||
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
|
@ -771,7 +771,7 @@
|
|||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
<IncludePath>.\Driver</IncludePath>
|
||||
</VariousControls>
|
||||
</Aads>
|
||||
<LDads>
|
||||
|
@ -1337,12 +1337,7 @@
|
|||
<LayerInfo>
|
||||
<Layers>
|
||||
<Layer>
|
||||
<LayName><Project Info></LayName>
|
||||
<LayDesc></LayDesc>
|
||||
<LayUrl></LayUrl>
|
||||
<LayKeys></LayKeys>
|
||||
<LayCat></LayCat>
|
||||
<LayLic></LayLic>
|
||||
<LayName>BacASable</LayName>
|
||||
<LayTarg>0</LayTarg>
|
||||
<LayPrjMark>1</LayPrjMark>
|
||||
</Layer>
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
include DriverJeuLaser.inc
|
||||
|
||||
PRESERVE8
|
||||
THUMB
|
||||
THUMB
|
||||
|
||||
|
||||
|
||||
; ====================== zone de réservation de données, ======================================
|
||||
|
@ -10,7 +13,12 @@
|
|||
;Section RAM (read write):
|
||||
area maram,data,readwrite
|
||||
|
||||
FlagCligno dcd 0
|
||||
|
||||
export FlagCligno
|
||||
|
||||
|
||||
|
||||
|
||||
; ===============================================================================================
|
||||
|
||||
|
@ -19,12 +27,35 @@
|
|||
|
||||
;Section ROM code (read only) :
|
||||
area moncode,code,readonly
|
||||
; écrire le code ici
|
||||
|
||||
|
||||
|
||||
; écrire le code ici
|
||||
|
||||
EXPORT timer_callback
|
||||
|
||||
timer_callback proc
|
||||
|
||||
push {lr}
|
||||
ldr r1,=FlagCligno
|
||||
ldr r0,[r1]
|
||||
cmp r0, #1
|
||||
bne Proc0
|
||||
|
||||
mov r0, #1
|
||||
mov r2, #0
|
||||
str r2, [r1]
|
||||
bl GPIOB_Set
|
||||
b fin
|
||||
|
||||
Proc0
|
||||
mov r0, #1
|
||||
mov r2, #1
|
||||
str r2, [r1]
|
||||
bl GPIOB_Clear
|
||||
|
||||
fin
|
||||
pop {pc}
|
||||
endp
|
||||
|
||||
END
|
||||
|
||||
|
||||
END
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
#include "DriverJeuLaser.h"
|
||||
|
||||
void timer_callback(void);
|
||||
extern void timer_callback(void);
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
@ -18,6 +18,10 @@ CLOCK_Configure();
|
|||
|
||||
//** Placez votre code là ** //
|
||||
|
||||
Timer_1234_Init_ff( TIM4, 7200000);
|
||||
|
||||
Active_IT_Debordement_Timer( TIM4, 2, timer_callback );
|
||||
|
||||
|
||||
|
||||
// Activation des interruptions issues du Timer 4
|
||||
|
@ -39,12 +43,13 @@ GPIO_Configure(GPIOB, 1, OUTPUT, OUTPUT_PPULL);
|
|||
|
||||
while (1)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
char FlagCligno;
|
||||
//char FlagCligno;
|
||||
|
||||
void timer_callback(void)
|
||||
/*void timer_callback(void)
|
||||
{
|
||||
if (FlagCligno==1)
|
||||
{
|
||||
|
@ -57,5 +62,5 @@ void timer_callback(void)
|
|||
GPIOB_Clear(1);
|
||||
}
|
||||
|
||||
}
|
||||
}*/
|
||||
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
import PWM_Set_Value_TIM3_Ch3
|
||||
|
||||
PRESERVE8
|
||||
THUMB
|
||||
|
||||
|
||||
import Son
|
||||
import LongueurSon
|
||||
import PeriodeSonMicroSec
|
||||
|
||||
|
||||
; ====================== zone de réservation de données, ======================================
|
||||
;Section RAM (read only) :
|
||||
|
@ -11,6 +17,12 @@
|
|||
area maram,data,readwrite
|
||||
|
||||
|
||||
|
||||
SortieSon dcd 0
|
||||
Index dcw 0
|
||||
|
||||
export SortieSon
|
||||
|
||||
|
||||
; ===============================================================================================
|
||||
|
||||
|
@ -21,10 +33,57 @@
|
|||
area moncode,code,readonly
|
||||
; écrire le code ici
|
||||
|
||||
export timer_callback_son
|
||||
|
||||
timer_callback_son proc
|
||||
|
||||
push {lr,r4}
|
||||
|
||||
ldr r4, =Index ; r4 = &Index
|
||||
ldr r0, [r4] ; r0 = *r4
|
||||
ldr r1, =LongueurSon
|
||||
ldr r2, [r1]
|
||||
cmp r0, r2
|
||||
beq fin
|
||||
|
||||
|
||||
|
||||
ldr r2,=Son
|
||||
|
||||
ldrsh r1, [r2,r0, lsl #1]
|
||||
add r1, #32768 ; (1<<16)
|
||||
mov r2, #720
|
||||
mul r1, r2
|
||||
asr r1, #16
|
||||
|
||||
mov r3, r0
|
||||
add r3, #1
|
||||
str r3, [r4]
|
||||
|
||||
ldr r3,=SortieSon
|
||||
mov r0, r1
|
||||
bl PWM_Set_Value_TIM3_Ch3
|
||||
|
||||
str r0, [r3] ;Mise à jour sortie son pas PWM
|
||||
|
||||
fin
|
||||
pop {lr,r4}
|
||||
bx lr
|
||||
endp
|
||||
|
||||
export start_son
|
||||
|
||||
start_son proc
|
||||
|
||||
ldr r0, =Index
|
||||
|
||||
mov r1, #0
|
||||
str r1, [r0]
|
||||
bx lr
|
||||
|
||||
endp
|
||||
|
||||
|
||||
END
|
||||
END
|
||||
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
|
||||
|
||||
#include "DriverJeuLaser.h"
|
||||
|
||||
extern void timer_callback_son(void);
|
||||
|
||||
extern void start_son(void);
|
||||
int bouton = 0 ;
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
@ -14,6 +15,24 @@ int main(void)
|
|||
// Après exécution : le coeur CPU est clocké à 72MHz ainsi que tous les timers
|
||||
CLOCK_Configure();
|
||||
|
||||
// configuration du Timer 4 en débordement 91 microsecondes
|
||||
|
||||
Timer_1234_Init_ff( TIM4, 91*72);
|
||||
|
||||
int Periode_ticks = 720;
|
||||
|
||||
PWM_Init_ff(TIM3, 3, Periode_ticks);
|
||||
|
||||
/* Calcul fPWM */
|
||||
int fPWM ;
|
||||
fPWM = (1/Periode_ticks)*72000000 ;
|
||||
|
||||
GPIO_Configure(GPIOB, 0, OUTPUT, ALT_PPULL);
|
||||
|
||||
|
||||
|
||||
Active_IT_Debordement_Timer( TIM4, 2, timer_callback_son );
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -23,6 +42,10 @@ CLOCK_Configure();
|
|||
|
||||
while (1)
|
||||
{
|
||||
if (bouton == 1) {
|
||||
start_son();
|
||||
bouton = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<aExt>*.s*; *.src; *.a*</aExt>
|
||||
<oExt>*.obj; *.o</oExt>
|
||||
<lExt>*.lib</lExt>
|
||||
<tExt>*.txt; *.h; *.inc</tExt>
|
||||
<tExt>*.txt; *.h; *.inc; *.md</tExt>
|
||||
<pExt>*.plm</pExt>
|
||||
<CppX>*.cpp</CppX>
|
||||
<nMigrate>0</nMigrate>
|
||||
|
@ -75,7 +75,7 @@
|
|||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
|
@ -154,6 +154,26 @@
|
|||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>SortieSon</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>1</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>bouton</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>265</SubType>
|
||||
<ItemText>r3</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
|
@ -174,7 +194,7 @@
|
|||
<AscS3>0</AscS3>
|
||||
<aSer3>0</aSer3>
|
||||
<eProf>0</eProf>
|
||||
<aLa>0</aLa>
|
||||
<aLa>1</aLa>
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>0</aSer4>
|
||||
|
@ -199,8 +219,13 @@
|
|||
<LogicAnalyzers>
|
||||
<Wi>
|
||||
<IntNumber>0</IntNumber>
|
||||
<FirstString>((portb & 0x00000002) >> 1 & 0x2) >> 1</FirstString>
|
||||
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F160000000000000000000000000000000000000096020008</SecondString>
|
||||
<FirstString>(SortieSon & 0xFFFF) >> 0</FirstString>
|
||||
<SecondString>008000000000000000000000000000000078864000000000000000000000000000000000536F72746965536F6E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000700000001000000000000000000E03F1500000000000000000000000000000000000000AE080008</SecondString>
|
||||
</Wi>
|
||||
<Wi>
|
||||
<IntNumber>1</IntNumber>
|
||||
<FirstString>((PORTB & 0x00000001) & 0xFFFF) >> 0</FirstString>
|
||||
<SecondString>008000000000000000000000000000000000F03F0000000000000000000000000000000028504F52544220262030783030303030303031290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000002000000000000000000E03F1500000000000000000000000000000000000000540A0008</SecondString>
|
||||
</Wi>
|
||||
</LogicAnalyzers>
|
||||
<DebugDescription>
|
||||
|
@ -346,6 +371,13 @@
|
|||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>bouton</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
|
@ -374,7 +406,7 @@
|
|||
<AscS3>0</AscS3>
|
||||
<aSer3>0</aSer3>
|
||||
<eProf>0</eProf>
|
||||
<aLa>0</aLa>
|
||||
<aLa>1</aLa>
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>0</aSer4>
|
||||
|
@ -460,7 +492,7 @@
|
|||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
|
@ -616,7 +648,7 @@
|
|||
<GroupNumber>1</GroupNumber>
|
||||
<FileNumber>1</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Src\principal.c</PathWithFileName>
|
||||
|
@ -664,6 +696,50 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Driver\DriverJeuLaser.inc</PathWithFileName>
|
||||
<FilenameWithoutPath>DriverJeuLaser.inc</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>son</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>5</FileNumber>
|
||||
<FileType>2</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Src\bruitverre.asm</PathWithFileName>
|
||||
<FilenameWithoutPath>bruitverre.asm</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>6</FileNumber>
|
||||
<FileType>2</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Src\GestionSon.s</PathWithFileName>
|
||||
<FilenameWithoutPath>GestionSon.s</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<TargetName>Simu</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pCCUsed>5060750::V5.06 update 6 (build 750)::.\ARMCC</pCCUsed>
|
||||
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
|
@ -408,6 +408,26 @@
|
|||
<FileType>4</FileType>
|
||||
<FilePath>.\Driver\DriverJeuLaser.lib</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>DriverJeuLaser.inc</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\Driver\DriverJeuLaser.inc</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>son</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>bruitverre.asm</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\bruitverre.asm</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>GestionSon.s</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\GestionSon.s</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
@ -419,7 +439,7 @@
|
|||
<TargetName>CibleSondeKEIL</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pCCUsed>5060750::V5.06 update 6 (build 750)::.\ARMCC</pCCUsed>
|
||||
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
|
@ -817,6 +837,26 @@
|
|||
<FileType>4</FileType>
|
||||
<FilePath>.\Driver\DriverJeuLaser.lib</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>DriverJeuLaser.inc</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\Driver\DriverJeuLaser.inc</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>son</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>bruitverre.asm</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\bruitverre.asm</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>GestionSon.s</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\GestionSon.s</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
@ -897,7 +937,7 @@
|
|||
<TargetName>CibleSondeST</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pCCUsed>5060750::V5.06 update 6 (build 750)::.\ARMCC</pCCUsed>
|
||||
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
|
@ -1295,6 +1335,26 @@
|
|||
<FileType>4</FileType>
|
||||
<FilePath>.\Driver\DriverJeuLaser.lib</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>DriverJeuLaser.inc</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\Driver\DriverJeuLaser.inc</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>son</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>bruitverre.asm</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\bruitverre.asm</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>GestionSon.s</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\GestionSon.s</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
@ -1322,12 +1382,7 @@
|
|||
<LayerInfo>
|
||||
<Layers>
|
||||
<Layer>
|
||||
<LayName><Project Info></LayName>
|
||||
<LayDesc></LayDesc>
|
||||
<LayUrl></LayUrl>
|
||||
<LayKeys></LayKeys>
|
||||
<LayCat></LayCat>
|
||||
<LayLic></LayLic>
|
||||
<LayName>StepSon</LayName>
|
||||
<LayTarg>0</LayTarg>
|
||||
<LayPrjMark>1</LayPrjMark>
|
||||
</Layer>
|
||||
|
|
Loading…
Reference in a new issue