修复串口发送容易系统卡死的问题,修复雷达测距超距输出为零时车不动的问题 zsxfly20240629

This commit is contained in:
zsx 2024-06-29 17:07:18 +08:00
parent f31ba673e0
commit c3b26ab592
11 changed files with 2335 additions and 1837 deletions

View File

@ -142,5 +142,5 @@ void uart_send(uint8_t port, uint16_t len, const uint8_t *data)
} }
while (!(uart->SR.TBEM)); // wait tx finish while (!(uart->SR.TBEM)); // wait tx finish
while (uart->SR.BUSY); // wait idle state //while (uart->SR.BUSY); // wait idle state
} }

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<component_viewer schemaVersion="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="Component_Viewer.xsd">
<component name="EventRecorderStub" version="1.0.0"/> <!--name and version of the component-->
<events>
</events>
</component_viewer>

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -117,11 +117,6 @@
<pMon>Segger\JL2CM3.dll</pMon> <pMon>Segger\JL2CM3.dll</pMon>
</DebugOpt> </DebugOpt>
<TargetDriverDllRegistry> <TargetDriverDllRegistry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGUARM</Key>
<Name></Name>
</SetRegEntry>
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
<Key>UL2CM3</Key> <Key>UL2CM3</Key>
@ -130,7 +125,7 @@
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
<Key>JL2CM3</Key> <Key>JL2CM3</Key>
<Name>-U59410384 -O78 -S1 -ZTIFSpeedSel10000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -TO18 -TC10000000 -TP21 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO11 -FD20003000 -FC5000 -FN1 -FF0B6x_256kB_PY_D.FLM -FS018000000 -FL040000 -FP0($$Device:B6x$.\Flash\B6x_256kB_PY_D.FLM)</Name> <Name>-U20090928 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BC11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO11 -FD20003000 -FC5000 -FN1 -FF0B6x_256kB_PY_D.FLM -FS018000000 -FL040000 -FP0($$Device:B6x$.\Flash\B6x_256kB_PY_D.FLM)</Name>
</SetRegEntry> </SetRegEntry>
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
@ -148,7 +143,56 @@
<Name></Name> <Name></Name>
</SetRegEntry> </SetRegEntry>
</TargetDriverDllRegistry> </TargetDriverDllRegistry>
<Breakpoint/> <Breakpoint>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>0</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>402735504</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename></Filename>
<ExecCommand></ExecCommand>
<Expression>0x18014190</Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>0</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>402735500</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename></Filename>
<ExecCommand></ExecCommand>
<Expression>0x1801418C</Expression>
</Bp>
<Bp>
<Number>2</Number>
<Type>0</Type>
<LineNumber>0</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>402735502</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename></Filename>
<ExecCommand></ExecCommand>
<Expression>0x1801418E</Expression>
</Bp>
</Breakpoint>
<WatchWindow1> <WatchWindow1>
<Ww> <Ww>
<count>0</count> <count>0</count>
@ -167,7 +211,7 @@
<DebugFlag> <DebugFlag>
<trace>0</trace> <trace>0</trace>
<periodic>1</periodic> <periodic>1</periodic>
<aLwin>0</aLwin> <aLwin>1</aLwin>
<aCover>0</aCover> <aCover>0</aCover>
<aSer1>0</aSer1> <aSer1>0</aSer1>
<aSer2>0</aSer2> <aSer2>0</aSer2>
@ -203,12 +247,6 @@
<pszMrulep></pszMrulep> <pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp> <pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp> <pMultCmdsp></pMultCmdsp>
<SystemViewers>
<Entry>
<Name>System Viewer\UART1</Name>
<WinId>35905</WinId>
</Entry>
</SystemViewers>
</TargetOption> </TargetOption>
</Target> </Target>
@ -361,7 +399,7 @@
</Group> </Group>
<Group> <Group>
<GroupName>drivers</GroupName> <GroupName>drivers\src</GroupName>
<tvExp>1</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
@ -369,18 +407,210 @@
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>12</FileNumber> <FileNumber>12</FileNumber>
<FileType>5</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\api\drvs.h</PathWithFileName> <PathWithFileName>..\..\..\drivers\src\dma.c</PathWithFileName>
<FilenameWithoutPath>drvs.h</FilenameWithoutPath> <FilenameWithoutPath>dma.c</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>13</FileNumber> <FileNumber>13</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\exti.c</PathWithFileName>
<FilenameWithoutPath>exti.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>14</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\fshc.c</PathWithFileName>
<FilenameWithoutPath>fshc.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>15</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\gfsk.c</PathWithFileName>
<FilenameWithoutPath>gfsk.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>16</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\i2c.c</PathWithFileName>
<FilenameWithoutPath>i2c.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>17</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\iopad.c</PathWithFileName>
<FilenameWithoutPath>iopad.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>18</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\iwdt.c</PathWithFileName>
<FilenameWithoutPath>iwdt.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>19</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\pwm.c</PathWithFileName>
<FilenameWithoutPath>pwm.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>20</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\rcc.c</PathWithFileName>
<FilenameWithoutPath>rcc.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>21</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\rco.c</PathWithFileName>
<FilenameWithoutPath>rco.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>22</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\rtc.c</PathWithFileName>
<FilenameWithoutPath>rtc.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>23</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\sadc.c</PathWithFileName>
<FilenameWithoutPath>sadc.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>24</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\spi.c</PathWithFileName>
<FilenameWithoutPath>spi.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>25</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\sysdbg.c</PathWithFileName>
<FilenameWithoutPath>sysdbg.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>26</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\timer.c</PathWithFileName>
<FilenameWithoutPath>timer.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>27</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\trim.c</PathWithFileName>
<FilenameWithoutPath>trim.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>28</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\src\uart.c</PathWithFileName>
<FilenameWithoutPath>uart.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>29</FileNumber>
<FileType>4</FileType> <FileType>4</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -393,14 +623,34 @@
</Group> </Group>
<Group> <Group>
<GroupName>debug</GroupName> <GroupName>drivers</GroupName>
<tvExp>1</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>14</FileNumber> <FileNumber>30</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\drivers\api\drvs.h</PathWithFileName>
<FilenameWithoutPath>drvs.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>debug</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>31</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -419,8 +669,8 @@
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>15</FileNumber> <FileNumber>32</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -431,8 +681,8 @@
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>16</FileNumber> <FileNumber>33</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -443,8 +693,8 @@
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>17</FileNumber> <FileNumber>34</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -455,8 +705,8 @@
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>18</FileNumber> <FileNumber>35</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -467,8 +717,8 @@
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>19</FileNumber> <FileNumber>36</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -479,8 +729,8 @@
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>20</FileNumber> <FileNumber>37</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -499,8 +749,8 @@
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>7</GroupNumber>
<FileNumber>21</FileNumber> <FileNumber>38</FileNumber>
<FileType>4</FileType> <FileType>4</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -519,8 +769,8 @@
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>7</GroupNumber> <GroupNumber>8</GroupNumber>
<FileNumber>22</FileNumber> <FileNumber>39</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -531,8 +781,8 @@
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>7</GroupNumber> <GroupNumber>8</GroupNumber>
<FileNumber>23</FileNumber> <FileNumber>40</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>

View File

@ -48,7 +48,7 @@
<InvalidFlash>1</InvalidFlash> <InvalidFlash>1</InvalidFlash>
</TargetStatus> </TargetStatus>
<OutputDirectory>.\output\</OutputDirectory> <OutputDirectory>.\output\</OutputDirectory>
<OutputName>uartTest</OutputName> <OutputName>uartTest.elf</OutputName>
<CreateExecutable>1</CreateExecutable> <CreateExecutable>1</CreateExecutable>
<CreateLib>0</CreateLib> <CreateLib>0</CreateLib>
<CreateHexFile>1</CreateHexFile> <CreateHexFile>1</CreateHexFile>
@ -443,6 +443,101 @@
</File> </File>
</Files> </Files>
</Group> </Group>
<Group>
<GroupName>drivers\src</GroupName>
<Files>
<File>
<FileName>dma.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\dma.c</FilePath>
</File>
<File>
<FileName>exti.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\exti.c</FilePath>
</File>
<File>
<FileName>fshc.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\fshc.c</FilePath>
</File>
<File>
<FileName>gfsk.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\gfsk.c</FilePath>
</File>
<File>
<FileName>i2c.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\i2c.c</FilePath>
</File>
<File>
<FileName>iopad.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\iopad.c</FilePath>
</File>
<File>
<FileName>iwdt.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\iwdt.c</FilePath>
</File>
<File>
<FileName>pwm.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\pwm.c</FilePath>
</File>
<File>
<FileName>rcc.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\rcc.c</FilePath>
</File>
<File>
<FileName>rco.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\rco.c</FilePath>
</File>
<File>
<FileName>rtc.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\rtc.c</FilePath>
</File>
<File>
<FileName>sadc.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\sadc.c</FilePath>
</File>
<File>
<FileName>spi.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\spi.c</FilePath>
</File>
<File>
<FileName>sysdbg.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\sysdbg.c</FilePath>
</File>
<File>
<FileName>timer.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\timer.c</FilePath>
</File>
<File>
<FileName>trim.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\trim.c</FilePath>
</File>
<File>
<FileName>uart.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\drivers\src\uart.c</FilePath>
</File>
<File>
<FileName>drvs.lib</FileName>
<FileType>4</FileType>
<FilePath>..\..\..\drivers\lib\drvs.lib</FilePath>
</File>
</Files>
</Group>
<Group> <Group>
<GroupName>drivers</GroupName> <GroupName>drivers</GroupName>
<Files> <Files>
@ -451,11 +546,6 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>..\..\..\drivers\api\drvs.h</FilePath> <FilePath>..\..\..\drivers\api\drvs.h</FilePath>
</File> </File>
<File>
<FileName>drvs.lib</FileName>
<FileType>4</FileType>
<FilePath>..\..\..\drivers\lib\drvs.lib</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>

View File

@ -60,7 +60,7 @@ static void acc_in_bat_in_sadc_init(void)
// uart_send(UART1_PORT,len,dat); // uart_send(UART1_PORT,len,dat);
// uart_send(UART1_PORT,len,dat); // uart_send(UART1_PORT,len,dat);
if(3250 <=ACC_val && 3310 >= ACC_val){ if(3000 <=ACC_val && 6 > time){ //&& 3500 >= ACC_val){
break; break;
} }
if(20 < time++){ if(20 < time++){

View File

@ -58,26 +58,34 @@ static tmr_tk_t radar_timer_handler(tmr_id_t id){
} }
if(Get_Status(OUT_Door_lock) && !(PAD_Manager_Mode || Get_Status(IN_Manager_Mode))){ if(Get_Status(OUT_Door_lock) && !(PAD_Manager_Mode || Get_Status(IN_Manager_Mode))){
if(Get_Status(IN_Back)){//如果是倒车状态 if(Get_Status(IN_Back)){//如果是倒车状态
#if (0 ==RADAR_MODE)
// uint8_t data[8]={0x02,0x03,0x01,0x00,0x00,0x01,0x85,0xC5};//读取处理值数据//520ms // uint8_t data[8]={0x02,0x03,0x01,0x00,0x00,0x01,0x85,0xC5};//读取处理值数据//520ms
uint8_t data[8]={0x02,0x03,0x01,0x01,0x00,0x01,0xD4,0x05};////读取实时值数据//120ms uint8_t data[8]={0x02,0x03,0x01,0x01,0x00,0x01,0xD4,0x05};////读取实时值数据//120ms
#elif (1 ==RADAR_MODE)
uint8_t data[8]={0x02,0x03,0x00,0x01,0x00,0x01,0xD5,0xf9};////读取实时值数据//120ms
#endif
Car_Distance =radar_daraframe.Back_data/100; Car_Distance =radar_daraframe.Back_data/100;
radar_daraframe.Back_data=0xffff; radar_daraframe.Back_data=0xffff;
uart_send(UART1_PORT,8,data); uart_send(UART1_PORT,8,data);
}else{ }else{
#if (0 ==RADAR_MODE)
// uint8_t data[8]={0x01,0x03,0x01,0x00,0x00,0x01,0x85,0xf6};//读取处理值数据//520ms // uint8_t data[8]={0x01,0x03,0x01,0x00,0x00,0x01,0x85,0xf6};//读取处理值数据//520ms
uint8_t data[8]={0x01,0x03,0x01,0x01,0x00,0x01,0xD4,0x36};//读取实时值数据//120ms uint8_t data[8]={0x01,0x03,0x01,0x01,0x00,0x01,0xD4,0x36};//读取实时值数据//120ms
#elif (1 ==RADAR_MODE)
uint8_t data[8]={0x01,0x03,0x00,0x01,0x00,0x01,0xD5,0xCA};////读取实时值数据//120ms
#endif
Car_Distance =radar_daraframe.Front_data/100; Car_Distance =radar_daraframe.Front_data/100;
radar_daraframe.Front_data=0xffff; radar_daraframe.Front_data=0xffff;
uart_send(UART1_PORT,8,data); uart_send(UART1_PORT,8,data);
} }
if(Car_Distance < (Get_Status(IN_Back)?sys_conf_info.AUTO_Brake_Distance_B :sys_conf_info.AUTO_Brake_Distance)){//小于自动刹车距离时 if((0 < Car_Distance) && Car_Distance < (Get_Status(IN_Back)?sys_conf_info.AUTO_Brake_Distance_B :sys_conf_info.AUTO_Brake_Distance)){//小于自动刹车距离时
if(!SYS_AUTO_brake){ if(!SYS_AUTO_brake){
Time_Event_Blink(Buzzer_Event,100,100,0xffff,NULL); Time_Event_Blink(Buzzer_Event,100,100,0xffff,NULL);
} }
SYS_AUTO_brake =1;//使能自动刹车 SYS_AUTO_brake =1;//使能自动刹车
SYS_AUTO_Speed_Cut=1; SYS_AUTO_Speed_Cut=1;
}else if(Car_Distance < (Get_Status(IN_Back)?sys_conf_info.AUTO_Speed_Cut_Distance_B :sys_conf_info.AUTO_Speed_Cut_Distance)){//小于自动减速距离时 }else if((0 < Car_Distance) && Car_Distance < (Get_Status(IN_Back)?sys_conf_info.AUTO_Speed_Cut_Distance_B :sys_conf_info.AUTO_Speed_Cut_Distance)){//小于自动减速距离时
if(SYS_AUTO_brake || !SYS_AUTO_Speed_Cut){ if(SYS_AUTO_brake || !SYS_AUTO_Speed_Cut){
Time_Event_Blink(Buzzer_Event,200,500,0xffff,NULL); Time_Event_Blink(Buzzer_Event,200,500,0xffff,NULL);
} }
@ -107,6 +115,10 @@ void app_radar_init(void){
radar_timer_tmr_id = sftmr_start(10, radar_timer_handler); radar_timer_tmr_id = sftmr_start(10, radar_timer_handler);
} }
#if (1 ==BLE_ENABLE)
extern uint16_t Front_data;
extern uint16_t Back_data;
#endif
uint8_t radar_buff[10],radar_state; uint8_t radar_buff[10],radar_state;
uint16_t i; uint16_t i;
@ -156,8 +168,14 @@ void app_radar_Receive(uint8_t data){
if(crc16 == (((uint16_t)radar_buff[6] << 8 ) | radar_buff[5])){ if(crc16 == (((uint16_t)radar_buff[6] << 8 ) | radar_buff[5])){
if(0x01 == radar_buff[0]){ if(0x01 == radar_buff[0]){
radar_daraframe.Front_data = ((uint16_t)radar_buff[3] << 8 ) | radar_buff[4]; radar_daraframe.Front_data = ((uint16_t)radar_buff[3] << 8 ) | radar_buff[4];
#if (1 ==BLE_ENABLE)
Front_data=radar_daraframe.Front_data;
#endif
}else if(0x02 == radar_buff[0]){ }else if(0x02 == radar_buff[0]){
radar_daraframe.Back_data = ((uint16_t)radar_buff[3] << 8 ) | radar_buff[4]; radar_daraframe.Back_data = ((uint16_t)radar_buff[3] << 8 ) | radar_buff[4];
#if (1 ==BLE_ENABLE)
Back_data=radar_daraframe.Back_data;
#endif
} }
radar_flag = 1; radar_flag = 1;
} }

View File

@ -12,7 +12,7 @@ uint32_t ___WS2812_DIN___ =1<< OUT_GRB_WS2812_DIN;
#define WS2812_DIN_L GPIO_DAT_CLR(___WS2812_DIN___) #define WS2812_DIN_L GPIO_DAT_CLR(___WS2812_DIN___)
BLE_GRB_Data_t WS2812_GRBs={ BLE_GRB_Data_t WS2812_GRBs={
.len=73, .len=64,
.GRBs=0x00, .GRBs=0x00,
}; };

View File

@ -6,9 +6,15 @@
#include "app.h" #include "app.h"
#include "sftmr.h" #include "sftmr.h"
#include "prf_sess.h"
#include "sys_config.h" #include "sys_config.h"
void HardFault_Handler(void){
debug("HardFault_Handler\r\n");
NVIC_SystemReset();
}
#define FLASH_INFO_CODE_ADDR (FLASH_BASE + 0x08) #define FLASH_INFO_CODE_ADDR (FLASH_BASE + 0x08)
#define OTA_BANK_A_BASE (0x18004000) #define OTA_BANK_A_BASE (0x18004000)
#define OTA_BANK_B_BASE (0x18020000) #define OTA_BANK_B_BASE (0x18020000)
@ -22,20 +28,21 @@ extern void app_ble_procedure(void);
//************************************************ //************************************************
#define IWDT_WINDOW (32768) //32.768KHz 1S #define IWDT_WINDOW (2*32768) //32.768KHz 1S
//看门狗配置 // //看门狗配置
void IWDT_IRQHandler(void) // void IWDT_IRQHandler(void)
{ // {
iwdt_feed();//喂狗 // iwdt_feed();//喂狗
} // }
static void iwdtInit(void) static void iwdtInit(void)
{ {
iwdt_init(IWDT_INTEN_BIT | IWDT_CR_DFLT); // iwdt_init(IWDT_INTEN_BIT | IWDT_CR_DFLT);
iwdt_init(IWDT_CR_DFLT);
iwdt_conf(IWDT_WINDOW); iwdt_conf(IWDT_WINDOW);
NVIC_EnableIRQ(IWDT_IRQn); // NVIC_EnableIRQ(IWDT_IRQn);
__enable_irq(); __enable_irq();
} }
@ -44,8 +51,9 @@ static void sysInit(void)
{ {
// Todo config, if need // Todo config, if need
iwdt_disable(); iwdt_disable();
#if (1 ==BLE_ENABLE)
// rcc_ble_en(); rcc_ble_en();
#endif
rcc_adc_en(); rcc_adc_en();
rcc_fshclk_set(FSH_CLK_DPSC42); rcc_fshclk_set(FSH_CLK_DPSC42);
@ -54,22 +62,27 @@ static void sysInit(void)
static void devInit(void) static void devInit(void)
{ {
// uint16_t rsn = rstrsn(); uint16_t rsn = rstrsn();
// dbgInit(); dbgInit();
// debug("Start(rsn:0x%X)...\r\n", rsn); // debug("Start(rsn:0x%X)...\r\n", rsn);
#if (1 ==BLE_ENABLE)
// Init BLE App // Init BLE App
// app_init(rsn); app_init(rsn);
#endif
sftmr_init(); sftmr_init();
iwdtInit(); iwdtInit();
// rf_pa_set(0x0C); #if (1 ==BLE_ENABLE)
rf_pa_set(0x0C);
#endif
} }
/* #if (1 ==BLE_ENABLE)
uint16_t Front_data=0;
uint16_t Back_data=0;
#endif
#if (1 ==BLE_ENABLE)
uint8_t str[30]={0,0},str_len=0; uint8_t str[30]={0,0},str_len=0;
static tmr_tk_t test_timer_handler(tmr_id_t id){ static tmr_tk_t test_timer_handler(tmr_id_t id){
@ -87,12 +100,25 @@ static tmr_tk_t test_timer_handler(tmr_id_t id){
// GRB_WS2812_Write_GRBs(WS2812_GRBs.len ,WS2812_GRBs.GRBs); // GRB_WS2812_Write_GRBs(WS2812_GRBs.len ,WS2812_GRBs.GRBs);
// GRB_WS2812_Write_color(BLE_WS2812_GRBs.len,BLE_WS2812_GRBs.GRBs); // GRB_WS2812_Write_color(BLE_WS2812_GRBs.len,BLE_WS2812_GRBs.GRBs);
#if (1 ==BLE_ENABLE)
str_len=0;
str[str_len++]=0xa5;
return 3; str[str_len++]=(Front_data)&0xff;
str[str_len++]=(Front_data>>8)&0xff;
str[str_len++]=(Back_data)&0xff;
str[str_len++]=(Back_data>>8)&0xff;
str[str_len]=0;
for(uint8_t i=1;i<str_len;i++){
str[str_len] +=str[i];
} }
*/ str_len++;
str[str_len++]=0x5a;
sess_txd_send(app_env.curidx, str_len, str);
#endif
return 5;
}
#endif
uint32_t bank; uint32_t bank;
@ -157,7 +183,7 @@ int main(void)
uint8_t str[50]={0,0},str_len=0; uint8_t str[50]={0,0},str_len=0;
str_len =sprintf((char *)str, "HEAD=%#X,M_s=%d,U_s=%d\n Brake=%d,Speed_Cut=%d\n Brake_B=%d,Speed_Cut_B=%d\n", str_len =sprintf((char *)str, "HEAD=%#X,M_s=%d,U_s=%d\n Brake=%d,Speed_Cut=%d\n Brake_B=%d,Speed_Cut_B=%d\n OKzsxfly",
sys_conf_info.HEAD, sys_conf_info.HEAD,
sys_conf_info.M_mode_sLim, sys_conf_info.M_mode_sLim,
sys_conf_info.U_mode_sLim, sys_conf_info.U_mode_sLim,
@ -181,19 +207,22 @@ int main(void)
// bootDelayMs(1000); // bootDelayMs(1000);
BAT_Message_Init(); BAT_Message_Init();
#if (1 ==BLE_ENABLE)
// ADC初始化 // ADC初始化
// sftmr_start(20, test_timer_handler); sftmr_start(20, test_timer_handler);
#endif
while(1){ while(1){
// SoftTimer Polling // SoftTimer Polling
sftmr_schedule(); sftmr_schedule();
#if (1 ==BLE_ENABLE)
// Schedule Messages & Events // Schedule Messages & Events
// ble_schedule(); ble_schedule();
#endif
// User's Procedure // User's Procedure
// app_ble_procedure(); // app_ble_procedure();
Control_procedure(); Control_procedure();
iwdt_feed();//喂狗
} }
} }

View File

@ -39,7 +39,7 @@ void write_cfg(SYS_CONF_t *sys_config_info_t);
/*****************************速度************************/ /*****************************速度************************/
// 管理员模式默认速度极限(0-100%) // 管理员模式默认速度极限(0-100%)
#define M_DEFAULT_sLim 100 #define M_DEFAULT_sLim 100
// 管理员模式默认速度极限(0-100%) // 游客模式默认速度极限(0-100%)
#define U_DEFAULT_sLim 50 #define U_DEFAULT_sLim 50
@ -50,5 +50,14 @@ void write_cfg(SYS_CONF_t *sys_config_info_t);
#define DEF_AUTO_Speed_Cut_Distance 16 #define DEF_AUTO_Speed_Cut_Distance 16
/*****************************BLE************************/
#define BLE_ENABLE 0
/*****************************雷达************************/
#define RADAR_MODE 0 // 0电应普 1FD07-3
#endif #endif