78 changed files with 20579 additions and 384 deletions
@ -1,34 +0,0 @@ |
|||
### vim |
|||
*.swp |
|||
*.swo |
|||
*~ |
|||
|
|||
### Keil5 |
|||
/keil/* |
|||
/keilp/* |
|||
!*.sct |
|||
!*.uvprojx |
|||
|
|||
### Source Insight |
|||
*.IAB |
|||
*.IAD |
|||
*.IMB |
|||
*.IMD |
|||
*.PFI |
|||
*.PO |
|||
*.PR |
|||
*.PRI |
|||
*.PS |
|||
*.WK3 |
|||
*.SearchResults |
|||
*.bookmarks.xml |
|||
*.snippets.xml |
|||
*.siwork |
|||
si/**/cache/ |
|||
si/**/Backup/ |
|||
si4/**/cache/ |
|||
si4/**/Backup/ |
|||
|
|||
### Source file |
|||
source/bak/ |
|||
/out/ |
@ -1,9 +1,11 @@ |
|||
{ |
|||
"files.associations": { |
|||
"stc_only.H": "cpp", |
|||
"asp_lowpower.h": "c", |
|||
"main.h": "c", |
|||
"msp_eeprom.h": "c", |
|||
"msp_uartn.h": "c" |
|||
"asp_expara.h": "c", |
|||
"ttss_task.h": "c", |
|||
"asp_lowpower.h": "c", |
|||
"msp_uart2.h": "c", |
|||
"msp_uart1.h": "c", |
|||
"debug_drv.h": "c" |
|||
} |
|||
} |
@ -1,8 +0,0 @@ |
|||
For /f "tokens=1-3 delims=/:/ " %%a in ('time /t') do (set mytime=%%a_%%b%%c) |
|||
set str=%DATE% |
|||
set mydate=%str:/=_% |
|||
set mydate=%mydate: =_% |
|||
set /p demo=: |
|||
echo %demo% |
|||
backup\all\zip -q -r -S backup\u4_%demo%_%mydate%%mytime:~0,6%.zip MDK-ARM\*.* core\*.* out\*.hex si\*.* *.ioc .mxproject *.ini *.bat backup\all\*.* |
|||
backup\all\zip -q -r -S backup\u4_%demo%_%mydate%%mytime:~0,6%.zip.doc MDK-ARM\*.* core\*.* out\*.hex si\*.* *.ioc .mxproject *.ini *.bat backup\all\*.* |
@ -1,8 +0,0 @@ |
|||
For /f "tokens=1-3 delims=/:/ " %%a in ('time /t') do (set mytime=%%a_%%b%%c) |
|||
set str=%DATE% |
|||
set mydate=%str:/=_% |
|||
set mydate=%mydate: =_% |
|||
set /p demo=: |
|||
echo %demo% |
|||
backup\all\zip -q -r -S backup\u4_%demo%_%mydate%%mytime:~0,6%.zip MDK-ARM\*.* core\*.* out\*.hex si\*.* *.ioc .mxproject *.ini *.bat backup\all\*.* Drivers\*.* |
|||
backup\all\zip -q -r -S backup\u4_%demo%_%mydate%%mytime:~0,6%.zip.doc MDK-ARM\*.* core\*.* out\*.hex si\*.* *.ioc .mxproject *.ini backup\all\*.* |
@ -1,10 +0,0 @@ |
|||
For /f "tokens=1-3 delims=/:/ " %%a in ('time /t') do (set mytime=%%a_%%b%%c) |
|||
set str=%DATE% |
|||
set mydate=%str:/=_% |
|||
set mydate=%mydate: =_% |
|||
set /p demo=: |
|||
echo %demo% |
|||
backup\zip -q -r -S backup\stcAS03PLCa_%demo%_%mydate%%mytime:~0,6%.zip si4\*.* source\*.* keilp\*.* out\*.hex docs\*.xlsx docs\*.doc* backup\all |
|||
backup\zip -q -r -S backup\stcAS03PLCa_%demo%_%mydate%%mytime:~0,6%.zip.doc si4\*.* source\*.* keilp\*.* out\*.hex docs\*.xlsx docs\*.doc* backup\all |
|||
pause |
|||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -0,0 +1,536 @@ |
|||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> |
|||
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd"> |
|||
|
|||
<SchemaVersion>1.0</SchemaVersion> |
|||
|
|||
<Header>### uVision Project, (C) Keil Software</Header> |
|||
|
|||
<Extensions> |
|||
<cExt>*.c</cExt> |
|||
<aExt>*.s*; *.src; *.a*</aExt> |
|||
<oExt>*.obj</oExt> |
|||
<lExt>*.lib</lExt> |
|||
<tExt>*.txt; *.h; *.inc</tExt> |
|||
<pExt>*.plm</pExt> |
|||
<CppX>*.cpp</CppX> |
|||
<nMigrate>0</nMigrate> |
|||
</Extensions> |
|||
|
|||
<DaveTm> |
|||
<dwLowDateTime>0</dwLowDateTime> |
|||
<dwHighDateTime>0</dwHighDateTime> |
|||
</DaveTm> |
|||
|
|||
<Target> |
|||
<TargetName>STC8H3K64S2</TargetName> |
|||
<ToolsetNumber>0x0</ToolsetNumber> |
|||
<ToolsetName>MCS-51</ToolsetName> |
|||
<TargetOption> |
|||
<CLK51>35000000</CLK51> |
|||
<OPTTT> |
|||
<gFlags>0</gFlags> |
|||
<BeepAtEnd>1</BeepAtEnd> |
|||
<RunSim>1</RunSim> |
|||
<RunTarget>0</RunTarget> |
|||
<RunAbUc>0</RunAbUc> |
|||
</OPTTT> |
|||
<OPTHX> |
|||
<HexSelection>0</HexSelection> |
|||
<FlashByte>65535</FlashByte> |
|||
<HexRangeLowAddress>0</HexRangeLowAddress> |
|||
<HexRangeHighAddress>0</HexRangeHighAddress> |
|||
<HexOffset>0</HexOffset> |
|||
</OPTHX> |
|||
<OPTLEX> |
|||
<PageWidth>120</PageWidth> |
|||
<PageLength>65</PageLength> |
|||
<TabStop>8</TabStop> |
|||
<ListingPath>..\out\</ListingPath> |
|||
</OPTLEX> |
|||
<ListingPage> |
|||
<CreateCListing>1</CreateCListing> |
|||
<CreateAListing>1</CreateAListing> |
|||
<CreateLListing>1</CreateLListing> |
|||
<CreateIListing>0</CreateIListing> |
|||
<AsmCond>1</AsmCond> |
|||
<AsmSymb>1</AsmSymb> |
|||
<AsmXref>0</AsmXref> |
|||
<CCond>1</CCond> |
|||
<CCode>0</CCode> |
|||
<CListInc>0</CListInc> |
|||
<CSymb>0</CSymb> |
|||
<LinkerCodeListing>0</LinkerCodeListing> |
|||
</ListingPage> |
|||
<OPTXL> |
|||
<LMap>1</LMap> |
|||
<LComments>1</LComments> |
|||
<LGenerateSymbols>1</LGenerateSymbols> |
|||
<LLibSym>1</LLibSym> |
|||
<LLines>1</LLines> |
|||
<LLocSym>1</LLocSym> |
|||
<LPubSym>1</LPubSym> |
|||
<LXref>0</LXref> |
|||
<LExpSel>0</LExpSel> |
|||
</OPTXL> |
|||
<OPTFL> |
|||
<tvExp>1</tvExp> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<IsCurrentTarget>1</IsCurrentTarget> |
|||
</OPTFL> |
|||
<CpuCode>0</CpuCode> |
|||
<DebugOpt> |
|||
<uSim>1</uSim> |
|||
<uTrg>0</uTrg> |
|||
<sLdApp>1</sLdApp> |
|||
<sGomain>1</sGomain> |
|||
<sRbreak>1</sRbreak> |
|||
<sRwatch>1</sRwatch> |
|||
<sRmem>1</sRmem> |
|||
<sRfunc>1</sRfunc> |
|||
<sRbox>1</sRbox> |
|||
<tLdApp>1</tLdApp> |
|||
<tGomain>0</tGomain> |
|||
<tRbreak>1</tRbreak> |
|||
<tRwatch>1</tRwatch> |
|||
<tRmem>1</tRmem> |
|||
<tRfunc>0</tRfunc> |
|||
<tRbox>1</tRbox> |
|||
<tRtrace>1</tRtrace> |
|||
<sRSysVw>1</sRSysVw> |
|||
<tRSysVw>1</tRSysVw> |
|||
<sRunDeb>0</sRunDeb> |
|||
<sLrtime>0</sLrtime> |
|||
<nTsel>-1</nTsel> |
|||
<sDll></sDll> |
|||
<sDllPa></sDllPa> |
|||
<sDlgDll></sDlgDll> |
|||
<sDlgPa></sDlgPa> |
|||
<sIfile></sIfile> |
|||
<tDll></tDll> |
|||
<tDllPa></tDllPa> |
|||
<tDlgDll></tDlgDll> |
|||
<tDlgPa></tDlgPa> |
|||
<tIfile></tIfile> |
|||
<pMon></pMon> |
|||
</DebugOpt> |
|||
<Breakpoint/> |
|||
<Tracepoint> |
|||
<THDelay>0</THDelay> |
|||
</Tracepoint> |
|||
<DebugFlag> |
|||
<trace>0</trace> |
|||
<periodic>0</periodic> |
|||
<aLwin>0</aLwin> |
|||
<aCover>0</aCover> |
|||
<aSer1>0</aSer1> |
|||
<aSer2>0</aSer2> |
|||
<aPa>0</aPa> |
|||
<viewmode>0</viewmode> |
|||
<vrSel>0</vrSel> |
|||
<aSym>0</aSym> |
|||
<aTbox>0</aTbox> |
|||
<AscS1>0</AscS1> |
|||
<AscS2>0</AscS2> |
|||
<AscS3>0</AscS3> |
|||
<aSer3>0</aSer3> |
|||
<eProf>0</eProf> |
|||
<aLa>0</aLa> |
|||
<aPa1>0</aPa1> |
|||
<AscS4>0</AscS4> |
|||
<aSer4>0</aSer4> |
|||
<StkLoc>0</StkLoc> |
|||
<TrcWin>0</TrcWin> |
|||
<newCpu>0</newCpu> |
|||
<uProt>0</uProt> |
|||
</DebugFlag> |
|||
<LintExecutable></LintExecutable> |
|||
<LintConfigFile></LintConfigFile> |
|||
<bLintAuto>0</bLintAuto> |
|||
</TargetOption> |
|||
</Target> |
|||
|
|||
<Group> |
|||
<GroupName>app</GroupName> |
|||
<tvExp>1</tvExp> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<cbSel>0</cbSel> |
|||
<RteFlg>0</RteFlg> |
|||
<File> |
|||
<GroupNumber>1</GroupNumber> |
|||
<FileNumber>1</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\app\app_weight.c</PathWithFileName> |
|||
<FilenameWithoutPath>app_weight.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>1</GroupNumber> |
|||
<FileNumber>2</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\app\main.c</PathWithFileName> |
|||
<FilenameWithoutPath>main.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>1</GroupNumber> |
|||
<FileNumber>3</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\app\app_config.c</PathWithFileName> |
|||
<FilenameWithoutPath>app_config.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
</Group> |
|||
|
|||
<Group> |
|||
<GroupName>asp</GroupName> |
|||
<tvExp>1</tvExp> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<cbSel>0</cbSel> |
|||
<RteFlg>0</RteFlg> |
|||
<File> |
|||
<GroupNumber>2</GroupNumber> |
|||
<FileNumber>4</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\asp\asp_schain.c</PathWithFileName> |
|||
<FilenameWithoutPath>asp_schain.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>2</GroupNumber> |
|||
<FileNumber>5</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\asp\asp_lowpower.c</PathWithFileName> |
|||
<FilenameWithoutPath>asp_lowpower.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
</Group> |
|||
|
|||
<Group> |
|||
<GroupName>cpu</GroupName> |
|||
<tvExp>1</tvExp> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<cbSel>0</cbSel> |
|||
<RteFlg>0</RteFlg> |
|||
<File> |
|||
<GroupNumber>3</GroupNumber> |
|||
<FileNumber>6</FileNumber> |
|||
<FileType>2</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\cpu\STARTUP.A51</PathWithFileName> |
|||
<FilenameWithoutPath>STARTUP.A51</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>3</GroupNumber> |
|||
<FileNumber>7</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\cpu\stc_8_delay.c</PathWithFileName> |
|||
<FilenameWithoutPath>stc_8_delay.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
</Group> |
|||
|
|||
<Group> |
|||
<GroupName>msp</GroupName> |
|||
<tvExp>1</tvExp> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<cbSel>0</cbSel> |
|||
<RteFlg>0</RteFlg> |
|||
<File> |
|||
<GroupNumber>4</GroupNumber> |
|||
<FileNumber>8</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\msp\uart\msp_uartN.c</PathWithFileName> |
|||
<FilenameWithoutPath>msp_uartN.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>4</GroupNumber> |
|||
<FileNumber>9</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\msp\msp_time2.c</PathWithFileName> |
|||
<FilenameWithoutPath>msp_time2.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>4</GroupNumber> |
|||
<FileNumber>10</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\msp\uart\msp_uart1.c</PathWithFileName> |
|||
<FilenameWithoutPath>msp_uart1.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>4</GroupNumber> |
|||
<FileNumber>11</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\msp\msp_iicMx.c</PathWithFileName> |
|||
<FilenameWithoutPath>msp_iicMx.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>4</GroupNumber> |
|||
<FileNumber>12</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\msp\msp_eeprom.c</PathWithFileName> |
|||
<FilenameWithoutPath>msp_eeprom.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>4</GroupNumber> |
|||
<FileNumber>13</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\msp\msp_adc.c</PathWithFileName> |
|||
<FilenameWithoutPath>msp_adc.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
</Group> |
|||
|
|||
<Group> |
|||
<GroupName>bsp</GroupName> |
|||
<tvExp>1</tvExp> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<cbSel>0</cbSel> |
|||
<RteFlg>0</RteFlg> |
|||
<File> |
|||
<GroupNumber>5</GroupNumber> |
|||
<FileNumber>14</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\bsp\TTSSbsp\bsp_config.c</PathWithFileName> |
|||
<FilenameWithoutPath>bsp_config.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>5</GroupNumber> |
|||
<FileNumber>15</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\bsp\bsp_led.c</PathWithFileName> |
|||
<FilenameWithoutPath>bsp_led.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>5</GroupNumber> |
|||
<FileNumber>16</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>1</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\bsp\bsp_cs1232.c</PathWithFileName> |
|||
<FilenameWithoutPath>bsp_cs1232.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
</Group> |
|||
|
|||
<Group> |
|||
<GroupName>ctask</GroupName> |
|||
<tvExp>1</tvExp> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<cbSel>0</cbSel> |
|||
<RteFlg>0</RteFlg> |
|||
<File> |
|||
<GroupNumber>6</GroupNumber> |
|||
<FileNumber>17</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\ctask\TTSS_task.c</PathWithFileName> |
|||
<FilenameWithoutPath>TTSS_task.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>6</GroupNumber> |
|||
<FileNumber>18</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\ctask\TTSS_tick.c</PathWithFileName> |
|||
<FilenameWithoutPath>TTSS_tick.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>6</GroupNumber> |
|||
<FileNumber>19</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\ctask\TTSS_time_stc.c</PathWithFileName> |
|||
<FilenameWithoutPath>TTSS_time_stc.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
</Group> |
|||
|
|||
<Group> |
|||
<GroupName>tpc</GroupName> |
|||
<tvExp>1</tvExp> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<cbSel>0</cbSel> |
|||
<RteFlg>0</RteFlg> |
|||
<File> |
|||
<GroupNumber>7</GroupNumber> |
|||
<FileNumber>20</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\tpc\tpc_road.c</PathWithFileName> |
|||
<FilenameWithoutPath>tpc_road.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
</Group> |
|||
|
|||
<Group> |
|||
<GroupName>clib</GroupName> |
|||
<tvExp>1</tvExp> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<cbSel>0</cbSel> |
|||
<RteFlg>0</RteFlg> |
|||
<File> |
|||
<GroupNumber>8</GroupNumber> |
|||
<FileNumber>21</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\clib\c_lib.c</PathWithFileName> |
|||
<FilenameWithoutPath>c_lib.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>8</GroupNumber> |
|||
<FileNumber>22</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\clib\c_delay.c</PathWithFileName> |
|||
<FilenameWithoutPath>c_delay.c</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>9</GroupNumber> |
|||
<FileNumber>23</FileNumber> |
|||
<FileType>5</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\debug\cc_as_stc01_main.ini</PathWithFileName> |
|||
<FilenameWithoutPath>cc_as_stc01_main.ini</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
<File> |
|||
<GroupNumber>9</GroupNumber> |
|||
<FileNumber>24</FileNumber> |
|||
<FileType>1</FileType> |
|||
<tvExp>0</tvExp> |
|||
<Focus>0</Focus> |
|||
<tvExpOptDlg>0</tvExpOptDlg> |
|||
<bDave2>0</bDave2> |
|||
<PathWithFileName>..\source\debug\debug_drv.c</PathWithFileName> |
|||
<FilenameWithoutPath>debug_drv.c</FilenameWithoutPath> |
|||
<RteFlg>0</RteFlg> |
|||
<bShared>0</bShared> |
|||
</File> |
|||
</Group> |
|||
|
|||
</ProjectOpt> |
@ -0,0 +1,255 @@ |
|||
A51 MACRO ASSEMBLER STARTUP 09/06/2024 11:24:45 PAGE 1 |
|||
|
|||
|
|||
MACRO ASSEMBLER A51 V8.02c |
|||
OBJECT MODULE PLACED IN ..\out\STARTUP.obj |
|||
ASSEMBLER INVOKED BY: E:\KeilC51\C51\BIN\A51.EXE ..\source\cpu\STARTUP.A51 SET(LARGE) DEBUG PRINT(..\out\STARTUP.lst) OB |
|||
JECT(..\out\STARTUP.obj) EP |
|||
|
|||
LOC OBJ LINE SOURCE |
|||
|
|||
1 $nomod51 |
|||
2 ;------------------------------------------------------------------------------ |
|||
3 ; This file is part of the C51 Compiler package |
|||
4 ; Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc. |
|||
5 ; Version 8.01 |
|||
6 ; |
|||
7 ; *** <<< Use Configuration Wizard in Context Menu >>> *** |
|||
8 ;------------------------------------------------------------------------------ |
|||
9 ; STARTUP.A51: This code is executed after processor reset. |
|||
10 ; |
|||
11 ; To translate this file use A51 with the following invocation: |
|||
12 ; |
|||
13 ; A51 STARTUP.A51 |
|||
14 ; |
|||
15 ; To link the modified STARTUP.OBJ file to your application use the following |
|||
16 ; Lx51 invocation: |
|||
17 ; |
|||
18 ; Lx51 your object file list, STARTUP.OBJ controls |
|||
19 ; |
|||
20 ;------------------------------------------------------------------------------ |
|||
21 ; |
|||
22 ; User-defined <h> Power-On Initialization of Memory |
|||
23 ; |
|||
24 ; With the following EQU statements the initialization of memory |
|||
25 ; at processor reset can be defined: |
|||
26 ; |
|||
27 ; <o> IDATALEN: IDATA memory size <0x0-0x100> |
|||
28 ; <i> Note: The absolute start-address of IDATA memory is always 0 |
|||
29 ; <i> The IDATA space overlaps physically the DATA and BIT areas. |
|||
0080 30 IDATALEN EQU 80H |
|||
31 ; |
|||
32 ; <o> XDATASTART: XDATA memory start address <0x0-0xFFFF> |
|||
33 ; <i> The absolute start address of XDATA memory |
|||
0000 34 XDATASTART EQU 0 |
|||
35 ; |
|||
36 ; <o> XDATALEN: XDATA memory size <0x0-0xFFFF> |
|||
37 ; <i> The length of XDATA memory in bytes. |
|||
0320 38 XDATALEN EQU 800 |
|||
39 ; |
|||
40 ; <o> PDATASTART: PDATA memory start address <0x0-0xFFFF> |
|||
41 ; <i> The absolute start address of PDATA memory |
|||
0000 42 PDATASTART EQU 0H |
|||
43 ; |
|||
44 ; <o> PDATALEN: PDATA memory size <0x0-0xFF> |
|||
45 ; <i> The length of PDATA memory in bytes. |
|||
0000 46 PDATALEN EQU 0H |
|||
47 ; |
|||
48 ;</h> |
|||
49 ;------------------------------------------------------------------------------ |
|||
50 ; |
|||
51 ;<h> Reentrant Stack Initialization |
|||
52 ; |
|||
53 ; The following EQU statements define the stack pointer for reentrant |
|||
54 ; functions and initialized it: |
|||
55 ; |
|||
56 ; <h> Stack Space for reentrant functions in the SMALL model. |
|||
57 ; <q> IBPSTACK: Enable SMALL model reentrant stack |
|||
A51 MACRO ASSEMBLER STARTUP 09/06/2024 11:24:45 PAGE 2 |
|||
|
|||
58 ; <i> Stack space for reentrant functions in the SMALL model. |
|||
0000 59 IBPSTACK EQU 0 ; set to 1 if small reentrant is used. |
|||
60 ; <o> IBPSTACKTOP: End address of SMALL model stack <0x0-0xFF> |
|||
61 ; <i> Set the top of the stack to the highest location. |
|||
0100 62 IBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1 |
|||
63 ; </h> |
|||
64 ; |
|||
65 ; <h> Stack Space for reentrant functions in the LARGE model. |
|||
66 ; <q> XBPSTACK: Enable LARGE model reentrant stack |
|||
67 ; <i> Stack space for reentrant functions in the LARGE model. |
|||
0001 68 XBPSTACK EQU 1 ; set to 1 if large reentrant is used. |
|||
69 ; <o> XBPSTACKTOP: End address of LARGE model stack <0x0-0xFFFF> |
|||
70 ; <i> Set the top of the stack to the highest location. |
|||
0000 71 XBPSTACKTOP EQU 0xFFFF +1 ; default 0FFFFH+1 |
|||
72 ; </h> |
|||
73 ; |
|||
74 ; <h> Stack Space for reentrant functions in the COMPACT model. |
|||
75 ; <q> PBPSTACK: Enable COMPACT model reentrant stack |
|||
76 ; <i> Stack space for reentrant functions in the COMPACT model. |
|||
0000 77 PBPSTACK EQU 0 ; set to 1 if compact reentrant is used. |
|||
78 ; |
|||
79 ; <o> PBPSTACKTOP: End address of COMPACT model stack <0x0-0xFFFF> |
|||
80 ; <i> Set the top of the stack to the highest location. |
|||
0100 81 PBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1 |
|||
82 ; </h> |
|||
83 ;</h> |
|||
84 ;------------------------------------------------------------------------------ |
|||
85 ; |
|||
86 ; Memory Page for Using the Compact Model with 64 KByte xdata RAM |
|||
87 ; <e>Compact Model Page Definition |
|||
88 ; |
|||
89 ; <i>Define the XDATA page used for PDATA variables. |
|||
90 ; <i>PPAGE must conform with the PPAGE set in the linker invocation. |
|||
91 ; |
|||
92 ; Enable pdata memory page initalization |
|||
0000 93 PPAGEENABLE EQU 0 ; set to 1 if pdata object are used. |
|||
94 ; |
|||
95 ; <o> PPAGE number <0x0-0xFF> |
|||
96 ; <i> uppermost 256-byte address of the page used for PDATA variables. |
|||
0000 97 PPAGE EQU 0 |
|||
98 ; |
|||
99 ; <o> SFR address which supplies uppermost address byte <0x0-0xFF> |
|||
100 ; <i> most 8051 variants use P2 as uppermost address byte |
|||
00A0 101 PPAGE_SFR DATA 0A0H |
|||
102 ; |
|||
103 ; </e> |
|||
104 ;------------------------------------------------------------------------------ |
|||
105 |
|||
106 ; Standard SFR Symbols |
|||
00E0 107 ACC DATA 0E0H |
|||
00F0 108 B DATA 0F0H |
|||
0081 109 SP DATA 81H |
|||
0082 110 DPL DATA 82H |
|||
0083 111 DPH DATA 83H |
|||
112 |
|||
113 NAME ?C_STARTUP |
|||
114 |
|||
115 |
|||
116 ?C_C51STARTUP SEGMENT CODE |
|||
117 ?STACK SEGMENT IDATA |
|||
118 |
|||
---- 119 RSEG ?STACK |
|||
0000 120 DS 1 |
|||
121 |
|||
122 EXTRN CODE (?C_START) |
|||
123 PUBLIC ?C_STARTUP |
|||
A51 MACRO ASSEMBLER STARTUP 09/06/2024 11:24:45 PAGE 3 |
|||
|
|||
124 |
|||
---- 125 CSEG AT 0 |
|||
0000 020000 F 126 ?C_STARTUP: LJMP STARTUP1 |
|||
127 |
|||
---- 128 RSEG ?C_C51STARTUP |
|||
129 |
|||
0000 130 STARTUP1: |
|||
131 |
|||
132 IF IDATALEN <> 0 |
|||
0000 787F 133 MOV R0,#IDATALEN - 1 |
|||
0002 E4 134 CLR A |
|||
0003 F6 135 IDATALOOP: MOV @R0,A |
|||
0004 D8FD 136 DJNZ R0,IDATALOOP |
|||
137 ENDIF |
|||
138 |
|||
139 IF XDATALEN <> 0 |
|||
0006 900000 140 MOV DPTR,#XDATASTART |
|||
0009 7F20 141 MOV R7,#LOW (XDATALEN) |
|||
142 IF (LOW (XDATALEN)) <> 0 |
|||
000B 7E04 143 MOV R6,#(HIGH (XDATALEN)) +1 |
|||
144 ELSE |
|||
MOV R6,#HIGH (XDATALEN) |
|||
ENDIF |
|||
000D E4 147 CLR A |
|||
000E F0 148 XDATALOOP: MOVX @DPTR,A |
|||
000F A3 149 INC DPTR |
|||
0010 DFFC 150 DJNZ R7,XDATALOOP |
|||
0012 DEFA 151 DJNZ R6,XDATALOOP |
|||
152 ENDIF |
|||
153 |
|||
154 IF PPAGEENABLE <> 0 |
|||
MOV PPAGE_SFR,#PPAGE |
|||
ENDIF |
|||
157 |
|||
158 IF PDATALEN <> 0 |
|||
MOV R0,#LOW (PDATASTART) |
|||
MOV R7,#LOW (PDATALEN) |
|||
CLR A |
|||
PDATALOOP: MOVX @R0,A |
|||
INC R0 |
|||
DJNZ R7,PDATALOOP |
|||
ENDIF |
|||
166 |
|||
167 IF IBPSTACK <> 0 |
|||
EXTRN DATA (?C_IBP) |
|||
|
|||
MOV ?C_IBP,#LOW IBPSTACKTOP |
|||
ENDIF |
|||
172 |
|||
173 IF XBPSTACK <> 0 |
|||
174 EXTRN DATA (?C_XBP) |
|||
175 |
|||
0014 750000 F 176 MOV ?C_XBP,#HIGH XBPSTACKTOP |
|||
0017 750000 F 177 MOV ?C_XBP+1,#LOW XBPSTACKTOP |
|||
178 ENDIF |
|||
179 |
|||
180 IF PBPSTACK <> 0 |
|||
EXTRN DATA (?C_PBP) |
|||
MOV ?C_PBP,#LOW PBPSTACKTOP |
|||
ENDIF |
|||
184 |
|||
001A 758100 F 185 MOV SP,#?STACK-1 |
|||
186 |
|||
187 ; This code is required if you use L51_BANK.A51 with Banking Mode 4 |
|||
188 ;<h> Code Banking |
|||
189 ; <q> Select Bank 0 for L51_BANK.A51 Mode 4 |
|||
A51 MACRO ASSEMBLER STARTUP 09/06/2024 11:24:45 PAGE 4 |
|||
|
|||
190 |
|||
|
|||
|
|||
|
|||
|
|||
195 ;</h> |
|||
001D 020000 F 196 LJMP ?C_START |
|||
197 |
|||
198 END |
|||
A51 MACRO ASSEMBLER STARTUP 09/06/2024 11:24:45 PAGE 5 |
|||
|
|||
SYMBOL TABLE LISTING |
|||
------ ----- ------- |
|||
|
|||
|
|||
N A M E T Y P E V A L U E ATTRIBUTES |
|||
|
|||
?C_C51STARTUP. . . C SEG 0020H REL=UNIT |
|||
?C_START . . . . . C ADDR ----- EXT |
|||
?C_STARTUP . . . . C ADDR 0000H A |
|||
?C_XBP . . . . . . D ADDR ----- EXT |
|||
?STACK . . . . . . I SEG 0001H REL=UNIT |
|||
ACC. . . . . . . . D ADDR 00E0H A |
|||
B. . . . . . . . . D ADDR 00F0H A |
|||
DPH. . . . . . . . D ADDR 0083H A |
|||
DPL. . . . . . . . D ADDR 0082H A |
|||
IBPSTACK . . . . . N NUMB 0000H A |
|||
IBPSTACKTOP. . . . N NUMB 0100H A |
|||
IDATALEN . . . . . N NUMB 0080H A |
|||
IDATALOOP. . . . . C ADDR 0003H R SEG=?C_C51STARTUP |
|||
PBPSTACK . . . . . N NUMB 0000H A |
|||
PBPSTACKTOP. . . . N NUMB 0100H A |
|||
PDATALEN . . . . . N NUMB 0000H A |
|||
PDATASTART . . . . N NUMB 0000H A |
|||
PPAGE. . . . . . . N NUMB 0000H A |
|||
PPAGEENABLE. . . . N NUMB 0000H A |
|||
PPAGE_SFR. . . . . D ADDR 00A0H A |
|||
SP . . . . . . . . D ADDR 0081H A |
|||
STARTUP1 . . . . . C ADDR 0000H R SEG=?C_C51STARTUP |
|||
XBPSTACK . . . . . N NUMB 0001H A |
|||
XBPSTACKTOP. . . . N NUMB 0000H A |
|||
XDATALEN . . . . . N NUMB 0320H A |
|||
XDATALOOP. . . . . C ADDR 000EH R SEG=?C_C51STARTUP |
|||
XDATASTART . . . . N NUMB 0000H A |
|||
|
|||
|
|||
REGISTER BANK(S) USED: 0 |
|||
|
|||
|
|||
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,326 @@ |
|||
C51 COMPILER V9.54 TTSS_TASK 09/06/2024 11:24:47 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE TTSS_TASK |
|||
OBJECT MODULE PLACED IN ..\out\TTSS_task.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\ctask\TTSS_task.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOI |
|||
-NTPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;.. |
|||
-\source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRIN |
|||
-T(..\out\TTSS_task.lst) TABS(2) OBJECT(..\out\TTSS_task.obj) |
|||
|
|||
line level source |
|||
|
|||
1 /***************************************************** |
|||
2 *============================================================================ |
|||
3 * HISTORY |
|||
4 * Below this line, this part is controlled by TSTS. DO NOT MODIFY!! |
|||
5 伪时间片嵌入�平�(Task Step by Step Turn by Turn Structure,简称TSTS) |
|||
6 20220830_23642 CCmodify 优化了task handdle |
|||
7 ///cc 2023/04/08--12:13:47 TS_task_val_ tst_v;////TTSS常用的全局�� |
|||
8 |
|||
9 *============================================================================ |
|||
10 ****************************************************************************/ |
|||
11 |
|||
12 #include "TTSS_task.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
13 //任务命�规则: |
|||
14 // 1:第一层 |
|||
15 /// 0驱动芯片级 flash |
|||
16 /// 1芯片应用级 save |
|||
17 /// 2任务应用级 jilu_save |
|||
18 // |
|||
19 // 2:第二层/flash/i2c/7290/ç‰å�„类芯片 |
|||
20 // 3:任务��/��的芯片/ |
|||
21 // |
|||
22 |
|||
23 TS_task ts_task_init = |
|||
24 { |
|||
25 0L, ///vU32 n; |
|||
26 /// volatile UN_TYPE en; //å…³é—任务,也å�¯ä»¥ç�†è§£ä¸ºæš‚å�œ,但是使用idelay的地方时间在å� |
|||
-Žå�°è®¡æ•°ä»»åŠ¡åœ¨å»¶æ—¶åˆ°äº†å�Žæ‰�æš‚å�œ,而的delay相当于暂å�œ |
|||
27 0, ///volatile UN_TYPE sh; //当�任务段 |
|||
28 0 ///volatile UN_TYPE sh_next; //下一个任务段,并�代表一定下一任务段一定是他,有� |
|||
-能ä¸é—´æ�’入延时ç‰ä»»åŠ¡æ®µ |
|||
29 /// volatile UN_TYPE sh_pre; //å‰�一个任务段,一般为调出缓å˜ä»»åŠ¡æ®µä½¿ç”¨ |
|||
30 |
|||
31 |
|||
32 }; |
|||
33 ////L1_task_init |
|||
34 TS_task_val_ tst_v;////TTSS常用的全局�� |
|||
35 |
|||
36 void L1_task_reg_clear(TS_task *s) |
|||
37 { |
|||
38 1 // s->en = 1; |
|||
39 1 // s->pfun = 0; |
|||
40 1 s->sh = 0; |
|||
41 1 s->sh_next= 0; |
|||
42 1 /// s->sh_pre= 0; |
|||
43 1 s->n= 0; |
|||
44 1 } |
|||
45 |
|||
46 |
|||
47 /////>>>>>>>>>>>>>>>>>>>>>>>>>>>>>供演示task 结构的使用 ä¸�å�¯åˆ 除>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
|||
48 #define D_task_test_01 0x20 |
|||
49 #define D_task_test_02 0x22 |
|||
C51 COMPILER V9.54 TTSS_TASK 09/06/2024 11:24:47 PAGE 2 |
|||
|
|||
50 #define D_task_test_03 0x23 |
|||
51 |
|||
52 #ifdef D_debug_task_test |
|||
////>>>>>>>>>>>>>>>>>>>>>_s_task_test_>>>>>>>>>>>>>>>>>>>>>> |
|||
TS_task_test_ ts_task_test; |
|||
void L2_task_test_register(void) |
|||
{ |
|||
ddd |
|||
L1_task_reg_clear(&ts_task_test.task); |
|||
L3_task_s_go(ts_task_test,D_task_init); |
|||
} |
|||
|
|||
///L2_task_test_handle(&ts_task_test); |
|||
void L2_task_test_handle(TS_task_test_ *s) |
|||
{ |
|||
unsigned char d = 0; |
|||
TTSS_Task_init(): |
|||
L2_task_go(D_task_test_01); |
|||
TTSS_Task_step(D_task_test_01): |
|||
if(d > 8) |
|||
{ |
|||
d = 0; |
|||
L2_task_go(D_task_test_02); |
|||
L1_task_Cdelay(D_Cdelay_200us); |
|||
}else |
|||
{ |
|||
d ++; |
|||
} |
|||
TTSS_Task_step(D_task_test_02): |
|||
if(d > 4) |
|||
{ |
|||
d = 0; |
|||
L2_task_go(D_task_test_01); |
|||
L1_task_Tdelay(D_Tdelay_100ms); |
|||
}else |
|||
{ |
|||
d ++; |
|||
} |
|||
|
|||
TTSS_Task_end(); |
|||
} |
|||
#endif//#ifdef D_debug_task_test |
|||
92 ////<<<<<<<<<<<<<<<<<<<<<_s_task_test_<<<<<<<<<<<<<<<<<<<<<< |
|||
93 |
|||
94 |
|||
95 |
|||
96 //example : |
|||
97 #if 0 |
|||
|
|||
|
|||
//L2_task_voice_handle(&s_task_music.task); |
|||
//L1_task_go(D_task_close); |
|||
//if(L1_task_busy(s)){ L1_task_goout(s_task_music.task,D_task_voice_send_single) } |
|||
void L2_task_voice_handle(struct _s_task_music_ *s) |
|||
{ //s_task_music.task.sh |
|||
switch(s->task.sh) |
|||
{ |
|||
|
|||
case D_task_voice_init:// |
|||
|
|||
s->sector = 0; |
|||
break; |
|||
C51 COMPILER V9.54 TTSS_TASK 09/06/2024 11:24:47 PAGE 3 |
|||
|
|||
case D_task_voice_cuimian : |
|||
s->sector = D_voice_music_wantsleep; |
|||
L2_task_go_son(D_task_voice_play,D_task_voice_cuimian1); |
|||
break; |
|||
case D_task_voice_cuimian1:// |
|||
L2_task_go(D_task_voice_cuimian2); |
|||
|
|||
break; |
|||
case D_task_voice_cuimian2:// |
|||
|
|||
if(0 == s->volume_change) |
|||
{ |
|||
//L3_voice_stop(); |
|||
s->sector = D_voice_stop; |
|||
s->status = D_voice_status_stop; |
|||
//L2_task_go(D_task_voice_play); |
|||
L2_task_go_son(D_task_voice_play,0); |
|||
}else |
|||
{ |
|||
s->volume_change --; |
|||
s->volume_temp = s->volume; |
|||
s->volume = s->volume_change*s->volume_shop/20;// |
|||
if (s->volume_temp != s->volume) |
|||
{ |
|||
s->sector = D_voice_volume|s->volume; |
|||
//s->status = D_voice_status_stop; |
|||
//L2_task_go(D_task_voice_volume3); |
|||
L2_task_go_son(D_task_voice_play,D_task_voice_cuimian2); |
|||
} |
|||
//else |
|||
{ |
|||
L2_task_delay(D_task_delay_1m); |
|||
} |
|||
} |
|||
break; |
|||
|
|||
//>>>>>>>>>>>>>>>>>> son function |
|||
case D_task_voice_play:// |
|||
if(L3_task_s_busy(s_task_wt558d)) |
|||
{ |
|||
}else |
|||
{ |
|||
s_task_wt558d.reg = s_task_music.sector; |
|||
L3_task_s_go(s_task_wt558d,D_task_wt558d_fun); |
|||
|
|||
L2_task_go(D_task_voice_ask); |
|||
} |
|||
break; |
|||
case D_task_voice_ask:// |
|||
if(L3_task_s_busy(s_task_wt558d)) |
|||
{ |
|||
|
|||
}else |
|||
{ |
|||
|
|||
L2_task_go_father();//回到 |
|||
} |
|||
break; |
|||
//<<<<<<<<<<<<<<<<<<<<<< son function |
|||
//-----------------------task standerd code |
|||
case D_task_Tdelay://---- |
|||
s->task.n--; |
|||
C51 COMPILER V9.54 TTSS_TASK 09/06/2024 11:24:47 PAGE 4 |
|||
|
|||
if (s->task.n == 0) |
|||
{ |
|||
s->task.n = 0; |
|||
L2_task_delay_over(); |
|||
} |
|||
break; |
|||
|
|||
default : |
|||
break; |
|||
} |
|||
L2_task_wt558d_handle(&s_task_wt558d); |
|||
} |
|||
|
|||
|
|||
void L2_task_voice_handle(struct _s_task_music_ *s) |
|||
{ //s_task_music.task.sh |
|||
switch(s->task.sh) |
|||
{ |
|||
|
|||
case D_task_voice_init:// |
|||
|
|||
s->sector = 0; |
|||
break; |
|||
case D_task_voice_cuimian : |
|||
s->sector = D_voice_music_wantsleep; |
|||
L2_task_go_son(D_task_voice_play,D_task_voice_cuimian1); |
|||
break; |
|||
case D_task_voice_cuimian1:// |
|||
L2_task_go(D_task_voice_cuimian2); |
|||
|
|||
break; |
|||
|
|||
//-----------------------task standerd code |
|||
case D_task_Tdelay://---- |
|||
s->task.n--; |
|||
if (s->task.n == 0) |
|||
{ |
|||
s->task.n = 0; |
|||
L2_task_delay_over(); |
|||
} |
|||
break; |
|||
|
|||
default : |
|||
break; |
|||
} |
|||
L2_task_wt558d_handle(&s_task_wt558d); |
|||
} |
|||
|
|||
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
|||
//>>>>>>>>>>>>>>>>>>>>>记录task |
|||
struct _s_task_4ChuShengRiQi_ |
|||
{ |
|||
TS_task task; |
|||
unsigned char pic_id;//画�ID |
|||
|
|||
|
|||
}; |
|||
extern struct _s_task_4ChuShengRiQi_ s_task_4ChuShengRiQi_; |
|||
|
|||
#define D_task_4ChuShengRiQi_init 0x10 |
|||
#define D_task_4ChuShengRiQi_key 0x11 |
|||
|
|||
C51 COMPILER V9.54 TTSS_TASK 09/06/2024 11:24:47 PAGE 5 |
|||
|
|||
|
|||
extern void L2_task_4ChuShengRiQi_handle(struct _s_task_4ChuShengRiQi_ *s); |
|||
|
|||
void L2_task_4ChuShengRiQi_handle(struct _s_task_4ChuShengRiQi_ *s) |
|||
{ |
|||
switch(s->task.sh) |
|||
{ |
|||
|
|||
case D_task_4ChuShengRiQi_init:// |
|||
|
|||
s->pic_id= 0; |
|||
break; |
|||
case D_task_4ChuShengRiQi_key : |
|||
if(1 == s_task_keyx1.down ) |
|||
{ |
|||
s_task_keyx1.down = 0; |
|||
|
|||
if(D_keyx_left == s_task_keyx1.key_value) |
|||
{} |
|||
|
|||
|
|||
}else if(1 == s_task_keyx_4.down) |
|||
{ |
|||
s_task_keyx_4.down = 0; |
|||
|
|||
|
|||
} |
|||
else {} |
|||
|
|||
//L2_task_go_son(D_task_4ChuShengRiQi_play,D_task_4ChuShengRiQi_cuimian1); |
|||
break; |
|||
|
|||
L0_task_delay(); |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
//<<<<<<<<<<<<<<<<<<<记录task |
|||
|
|||
|
|||
/////<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<供演示task 结构的使用 ä¸�å�¯åˆ 除<<<<<<<<<<<<<<<<<<<<<<<<<<<<< |
|||
-< |
|||
|
|||
|
|||
#endif |
|||
281 |
|||
282 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 52 ---- |
|||
CONSTANT SIZE = ---- ---- |
|||
XDATA SIZE = 16 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
C51 COMPILER V9.54 TTSS_TASK 09/06/2024 11:24:47 PAGE 6 |
|||
|
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,204 @@ |
|||
C51 COMPILER V9.54 TTSS_TICK 09/06/2024 11:24:47 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE TTSS_TICK |
|||
OBJECT MODULE PLACED IN ..\out\TTSS_tick.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\ctask\TTSS_tick.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOI |
|||
-NTPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;.. |
|||
-\source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRIN |
|||
-T(..\out\TTSS_tick.lst) TABS(2) OBJECT(..\out\TTSS_tick.obj) |
|||
|
|||
line level source |
|||
|
|||
1 /***************************************************************************** |
|||
2 * uart.h: Header file for NXP LPC17xx Family Microprocessors |
|||
3 * |
|||
4 * Copyright (c) 2023 CCSENS |
|||
5 * All rights reserved. |
|||
6 * |
|||
7 * History |
|||
8 * 2009.05.27 ver 1.00 Prelimnary version, first Release |
|||
9 *2017.01.10 ver 1.10 rename TTSS_tick.h tick.c |
|||
10 2019.03.11 ver 1.30 定时时间更改为25ms 解决串口接收受干扰的情况 |
|||
11 *2021.12.12 ver 2.10 detail |
|||
12 ****************************************************************************************/ |
|||
13 /***************************************************** |
|||
14 *============================================================================ |
|||
15 * HISTORY |
|||
16 * Below this line, this part is controlled by TSTS. DO NOT MODIFY!! |
|||
17 伪时间片嵌入式平台(Task Step by Step Turn by Turn Structure,简称TSTS) |
|||
18 *============================================================================ |
|||
19 ****************************************************************************/ |
|||
20 |
|||
21 #include "TTSS_tick.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
22 |
|||
23 #include "msp_uart1.h" |
|||
24 ///#include "msp_uart2.h" |
|||
25 ///#include "msp_uart3.h" |
|||
26 ///#include "msp_uart4.h" |
|||
27 |
|||
28 TS_nos_tick_ s_nos_tick; |
|||
29 #ifdef D_use_tick_fum |
|||
30 void L1_task_tick_init(void) |
|||
31 { |
|||
32 1 s_nos_tick.uart1_overtime_callback = L2_uart1_overtime_callback; |
|||
33 1 s_nos_tick.uart2_overtime_callback = L2_uart1_overtime_callback; |
|||
34 1 s_nos_tick.uart2_overtime_callback = L2_uart1_overtime_callback;///保护使用防止误删 容易崩溃 |
|||
35 1 |
|||
36 1 s_nos_tick.t_1s = 0; |
|||
37 1 s_nos_tick.jiffies = 0; |
|||
38 1 s_nos_tick.t1s_heartbeat= 0; |
|||
39 1 |
|||
40 1 s_nos_tick.uart1_overtime_callback = L2_uart1_overtime_callback;///必备步骤1(method step 3) |
|||
41 1 //// s_nos_tick.uart2_overtime_callback = L2_uart2_overtime_callback;///必备步骤1(method step 3) |
|||
42 1 //// s_nos_tick.uart3_overtime_callback = L2_uart3_overtime_callback;///必备步骤1(method step 3) |
|||
43 1 // s_nos_tick.uart4_overtime_callback = L2_uart4_overtime_callback;///必备步骤1(method step 3) |
|||
44 1 ///s_nos_tick.uart3_overtime_fun = NULL;///必备步骤1(method step 3) |
|||
45 1 ///s_nos_tick.uart4_overtime_fun = NULL;///必备步骤1(method step 3) |
|||
46 1 /***** |
|||
47 1 s_nos_tick.t1s_flag[0] = 0; |
|||
48 1 s_nos_tick.t1s_flag[1] = 0; |
|||
49 1 s_nos_tick.t1s_flag[2] = 0; |
|||
50 1 s_nos_tick.t1s_flag[3] = 0; |
|||
51 1 s_nos_tick.t1s_flag[4] = 0; |
|||
C51 COMPILER V9.54 TTSS_TICK 09/06/2024 11:24:47 PAGE 2 |
|||
|
|||
52 1 s_nos_tick.t1s_flag[5] = 0; |
|||
53 1 if(L2_tick_time_interval(n_stamp,7*D_Tdelay_1s)) |
|||
54 1 {// 时间溢出 |
|||
55 1 L2_tick_time_stamp(s->t_stamp); |
|||
56 1 s_nos_tick.t_10ms = 0; |
|||
57 1 s_nos_tick.tp_count = 0; |
|||
58 1 s_nos_tick.n_stamp = 0; |
|||
59 1 s_nos_tick.t1s_heartbeat= 0; |
|||
60 1 ********/ |
|||
61 1 |
|||
62 1 /// s_nos_tick.flag_1s = 0; |
|||
63 1 /// s_nos_tick.t_n = 0; |
|||
64 1 //s_nos_tick.tmp = 0; |
|||
65 1 //L0_timer0_ONF(1); |
|||
66 1 } |
|||
67 //JIFFIES回绕问题没有解决 参见 linux time_after宏定义 |
|||
68 void L1_task_tick_callback (void) |
|||
69 { |
|||
70 1 ///65535*65535/3600/24/365=139nian/s=1.39nian/10ms |
|||
71 1 ///相当于1.39年后t_10ms 溢出,对于电池供电的系统而言 完全可以满足 |
|||
72 1 // 4,294,836,225 = 65535*65535 ;3600*24*60*60 = 31,536,000秒/年 |
|||
73 1 //s_nos_tick.t_50ms ++;//D_led_D1_REV(); 20160522验证 |
|||
74 1 s_nos_tick.jiffies++; |
|||
75 1 if(s_nos_tick.jiffies % HZ == 0) |
|||
76 1 { |
|||
77 2 // 65535*65535/24/60/60/356/10 =12.7年 |
|||
78 2 s_nos_tick.t_1s ++; |
|||
79 2 s_nos_tick.t1s_heartbeat = 1; |
|||
80 2 } |
|||
81 1 s_nos_tick.uart1_overtime_callback();////必备步骤1(method step 1) |
|||
82 1 // s_nos_tick.uart2_overtime_callback();////必备步骤1(method step 2)// |
|||
83 1 // s_nos_tick.uart3_overtime_callback();////必备步骤1(method step 1) |
|||
84 1 // s_nos_tick.uart4_overtime_callback();////必备步骤1(method step 1) |
|||
85 1 } |
|||
86 |
|||
87 |
|||
88 |
|||
89 #else |
|||
|
|||
#endif |
|||
92 |
|||
93 #if 0 |
|||
/// 定时器调用 10ms 一个中断 |
|||
/// 定时器调用 25ms 一个中断 |
|||
void L1_tick_tick (void) |
|||
{ /// 65535*65535 /3600/24/365=139nian/s=1.39nian/10ms |
|||
///相当于1.39年后t_10ms 溢出,对于电池供电的系统而言 完全可以满足 |
|||
// 4,294,836,225 = 65535*65535 ;3600*24*60*60 = 31,536,000秒/年 |
|||
s_nos_tick.tp_count++; |
|||
s_nos_tick.t_10ms ++;//D_led_D1_REV(); 20160522 验证 |
|||
if(s_nos_tick.t_10ms%D_TIMER0_1S_COUNT == 0) |
|||
{// 65535*65535/24/60/60/356/10 =12.7年 |
|||
s_nos_tick.t_1s ++;//// 65535*65535/24/60/60/356/10 =12.7年 |
|||
/// s_nos_tick.flag_1s2 = 1; |
|||
s_nos_tick.t1s_heartbeat = 1; |
|||
/// LED1 = !LED1; |
|||
} |
|||
|
|||
|
|||
//<<<<<<<<<<<<<<<<<<<<<< |
|||
} |
|||
|
|||
C51 COMPILER V9.54 TTSS_TICK 09/06/2024 11:24:47 PAGE 3 |
|||
|
|||
|
|||
void L1_tick_tick (void) |
|||
{ |
|||
s_nos_tick.t_n++; |
|||
if (s_nos_tick.t_n >= D_TIMER0_10MS_COUNT)// 5500--- 100 10s--556 |
|||
/// s 5ms 65535*65535 /3600/24/365=139nian/s |
|||
// 4,294,836,225 = 65535*65535 ;3600*24*60*60 = 31,536,000秒/年 |
|||
// fixme:此处 保留了一个百年bug:) |
|||
{ |
|||
s_nos_tick.t_10ms ++;//D_led_D1_REV(); 20160522 验证 |
|||
if(s_nos_tick.t_10ms%D_TIMER0_1S_COUNT == 0) |
|||
{// 65535*65535/24/60/60/356/10 =12.7年 |
|||
s_nos_tick.t_1s ++;// |
|||
|
|||
// led_red =~led_red; |
|||
//s_nos_tick.t1s_flag[0] = 1; |
|||
//s_nos_tick.t1s_flag[1] = 1; |
|||
//s_nos_tick.t1s_flag[2] = 1; |
|||
//s_nos_tick.t1s_flag[3] = 1; |
|||
//s_nos_tick.t1s_flag[4] = 1; |
|||
//s_nos_tick.t1s_flag[5] = 1; |
|||
s_nos_tick.flag_1s = 1; |
|||
s_nos_tick.t1s_heatbeart = 1; |
|||
} |
|||
s_nos_tick.t_n = 0; |
|||
} |
|||
/******************* |
|||
// 0.2mm 4/0.2 = 20 20/60s = 333ms/maicong |
|||
// 0.2mm 60s 60 100 ms |
|||
// 0.2 6000ms |
|||
// 平时为1 水满一次为0 |
|||
// rain = 1;必须要做的初始化 |
|||
if(0 == rain) |
|||
{ |
|||
if(1 == s_rain.temp) |
|||
{// ````\___ |
|||
s_rain.pool = s_rain.t; |
|||
s_rain.all ++; |
|||
s_rain.t = 0; |
|||
} |
|||
s_rain.temp = 0; |
|||
}else |
|||
{ |
|||
s_rain.temp = 1; |
|||
} |
|||
s_rain.t ++; |
|||
|
|||
******/ |
|||
//<<<<<<<<<<<<<<<<<<<<<< |
|||
} |
|||
|
|||
|
|||
#endif |
|||
167 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 175 ---- |
|||
CONSTANT SIZE = ---- ---- |
|||
XDATA SIZE = 26 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
C51 COMPILER V9.54 TTSS_TICK 09/06/2024 11:24:47 PAGE 4 |
|||
|
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,126 @@ |
|||
C51 COMPILER V9.54 TTSS_TIME_STC 09/06/2024 11:24:47 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE TTSS_TIME_STC |
|||
OBJECT MODULE PLACED IN ..\out\TTSS_time_stc.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\ctask\TTSS_time_stc.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER |
|||
- NOINTPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tp |
|||
-c;..\source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG |
|||
-PRINT(..\out\TTSS_time_stc.lst) TABS(2) OBJECT(..\out\TTSS_time_stc.obj) |
|||
|
|||
line level source |
|||
|
|||
1 #include "ttss_time_stc.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
2 #define D_TIMER_COUNT(t,clk,timeInUs) (U16)(65536 - (clk) / 1000 * timeInUs / 1000 / t) |
|||
3 |
|||
4 /*************初始化定时器0由 stc-isp v6.86L定时器计算器生成******************/ |
|||
5 |
|||
6 |
|||
7 #if(MainFre_5M == D_sys_MainFre) |
|||
|
|||
|
|||
#elif(MainFre_22M == D_sys_MainFre) |
|||
11 void L0_timer0_Init(void)//void Timer0Init(void) //12500微秒@22.1184MHz |
|||
12 { |
|||
13 1 AUXR &= 0x7F; //定时器时钟12T模式 |
|||
14 1 TMOD &= 0xF0; //设置定时器模式 |
|||
15 1 TL0 = 0x00; //设置定时初始值 |
|||
16 1 TH0 = 0xA6; //设置定时初始值 |
|||
17 1 TF0 = 0; //清除TF0标志 |
|||
18 1 TR0 = 1; //定时器0开始计时 |
|||
19 1 } |
|||
20 |
|||
21 |
|||
22 #elif(MainFre_27M == D_sys_MainFre) |
|||
|
|||
|
|||
|
|||
#elif(MainFre_44M == D_sys_MainFre) |
|||
|
|||
void L0_timer0_Init(void)/////void Timer0Init(void) //12.5m秒@44.0800MHz |
|||
{ |
|||
AUXR &= 0x7F; //定时器时钟12T模式 |
|||
TMOD &= 0xF0; //设置定时器模式 |
|||
TL0 = 0xA3; //设置定时初始值 |
|||
TH0 = 0x4C; //设置定时初始值 |
|||
TF0 = 0; //清除TF0标志 |
|||
TR0 = 1; //定时器0开始计时 |
|||
} |
|||
void L0_timer4_Init(void)/////void Timer4_Init(void) //100微秒@44.2368MHz |
|||
{ |
|||
T4T3M |= 0x20; //定时器时钟1T模式 |
|||
T4L = 0xB8; //设置定时初始值 |
|||
T4H = 0xEE; //设置定时初始值 |
|||
T4T3M |= 0x80; //定时器4开始计时 |
|||
} |
|||
|
|||
#else ///MainFre_11M |
|||
////#warn |
|||
void L0_timer0_Init(void) |
|||
{ |
|||
U16 val = D_TIMER_COUNT(12,D_sys_MainFre,D_sys_Jiffies * 1000); |
|||
AUXR &= 0x7F; //定时器时钟12T模式 |
|||
TMOD &= 0xF0; //设置定时器模式 |
|||
C51 COMPILER V9.54 TTSS_TIME_STC 09/06/2024 11:24:47 PAGE 2 |
|||
|
|||
//TL0 = 0x00; //设置定时初值 |
|||
//TH0 = 0x4C; //设置定时初值 |
|||
TL0 = val; //设置定时初值 |
|||
TH0 = val >> 8; //设置定时初值 |
|||
TF0 = 0; //清除TF0标志 |
|||
TR0 = 1; //定时器0开始计时 |
|||
} |
|||
|
|||
#endif//D_sys_MainFre) |
|||
61 #if 0 |
|||
/// 65535*65535 /3600/24/365=139nian/s=1.39nian/10ms |
|||
///相当于1.39年后t_10ms 溢出,对于电池供电的系统而言 完全可以满足 |
|||
// 4,294,836,225 = 65535*65535 ;3600*24*60*60 = 31,536,000秒/年 |
|||
s_nos_tick.t_10ms ++;//D_led_D1_REV(); 20160522 验证 |
|||
#endif |
|||
67 |
|||
68 //10---87 10s |
|||
69 /********************** Timer0中断函数************************/ |
|||
70 /// 和 L0_timer0_Init 关联,需要配置 bsp_config.h中的 D_sys_MainFre |
|||
71 /// 默认10ms 作为TTSS系统的定时引擎 |
|||
72 void timer0_isrHandle (void) D_SERVE_TIMER0 |
|||
73 {// |
|||
74 1 NOP(); NOP(); NOP(); |
|||
75 1 TF0 = 0; |
|||
76 1 L1_task_tick_callback(); ///系统中的1sflag 和以10ms为颗粒的延时使用 为tdelay服务 |
|||
77 1 /// BITN_1(DR_who_wakeup, DRB_who_wakeup_timer0); |
|||
78 1 NOP(); NOP(); NOP(); |
|||
79 1 } |
|||
80 |
|||
81 void L1_timer0_Init(void) |
|||
82 { |
|||
83 1 ///step1:时钟 |
|||
84 1 ///step2:模块使能 |
|||
85 1 ///step3:启动 |
|||
86 1 ///step4:模块中断使能 |
|||
87 1 ///step5:全局中断使能 |
|||
88 1 L0_timer0_Init(); |
|||
89 1 ET0 = 1;///经常因为替换L0_timer0_Init(由stcisp例程生成) 改指令漏掉 |
|||
90 1 } |
|||
91 |
|||
92 |
|||
93 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 93 ---- |
|||
CONSTANT SIZE = ---- ---- |
|||
XDATA SIZE = ---- ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,434 @@ |
|||
C51 COMPILER V9.54 APP_CONFIG 09/06/2024 11:24:44 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE APP_CONFIG |
|||
OBJECT MODULE PLACED IN ..\out\app_config.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\app\app_config.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOIN |
|||
-TPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;..\ |
|||
-source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRINT |
|||
-(..\out\app_config.lst) TABS(2) OBJECT(..\out\app_config.obj) |
|||
|
|||
line level source |
|||
|
|||
1 #include "app_config.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
2 //#include "../tpc/tpc_uart.h" |
|||
3 ///#include "../bsp/bsp_cs1232.h" |
|||
4 #include "msp_eeprom.h" |
|||
5 ///#include "../msp/msp_id.h" |
|||
6 #include "debug_drv.h" |
|||
7 #include "msp_uartN.h" |
|||
8 |
|||
9 TS_GlobalRegisterSave_ S; |
|||
10 ////TS_GlobalParam_ G; |
|||
11 |
|||
12 void L3_R_2_S(void) |
|||
13 { |
|||
14 1 TTSS_run_times(4)////tst_v.i |
|||
15 1 { ////ts_adc_samples[tst_v.i].pSPara = &TS_adc_SPara[tst_v.i]; |
|||
16 2 Lc_buf_from_const_uc(D_struct2U8(S.adc_SPara[tst_v.i]),D_struct2U8(TS_adc_SPara[tst_v.i]),D_TS_adc_SPara |
|||
-_LEN); |
|||
17 2 } |
|||
18 1 ///tst_weight.pSPara = &ts_weight_SPara; |
|||
19 1 Lc_buf_from_const_uc(D_struct2U8(S.weight_SPara),D_struct2U8(ts_weight_SPara),D_TS_weight_SPara_len); |
|||
20 1 } |
|||
21 void L3_S_2_R(void) |
|||
22 { |
|||
23 1 TTSS_run_times(4)////tst_v.i |
|||
24 1 { |
|||
25 2 Lc_buf_from_const_uc(D_struct2U8(TS_adc_SPara[tst_v.i]),D_struct2U8(S.adc_SPara[tst_v.i]),D_TS_adc_SPara |
|||
-_LEN); |
|||
26 2 ts_adc_samples[tst_v.i].pSPara = &TS_adc_SPara[tst_v.i]; |
|||
27 2 } |
|||
28 1 /// |
|||
29 1 Lc_buf_from_const_uc(D_struct2U8(ts_weight_SPara),D_struct2U8(S.weight_SPara),D_TS_weight_SPara_len); |
|||
30 1 tst_weight.pSPara = &ts_weight_SPara; |
|||
31 1 } |
|||
32 |
|||
33 #define D_0xaa55 0xaa55 |
|||
34 |
|||
35 ////返回0 并打印 ("\r\nSpara ok "); |
|||
36 /// 返回非零 为错误次数 最后一次ok |
|||
37 /// 返回100 严重错误 一次没有成功 |
|||
38 vtype L3_S_init(void) |
|||
39 { |
|||
40 1 vtype ovt = 0; |
|||
41 1 //// |
|||
42 1 /* |
|||
43 1 |
|||
44 1 存错的多个写法: |
|||
45 1 使用三个区域,增加一致性判定的写法 |
|||
46 1 使用一个区域,容错一次的写法 |
|||
47 1 |
|||
48 1 |
|||
49 1 step 1 上电读取eeprom参数, |
|||
C51 COMPILER V9.54 APP_CONFIG 09/06/2024 11:24:44 PAGE 2 |
|||
|
|||
50 1 step 2 如果标志位数据不对,把每个任务中的spara初始化放到S 中,然后写入eeprom |
|||
-,返回step 1 |
|||
51 1 如果重试次数溢出 打印错误信息;严重警告 系统不可用 |
|||
52 1 step 3 如果标志位数据ok 退出 |
|||
53 1 TTSS_run_times(4)////tst_v.i |
|||
54 1 { ////ts_adc_samples[tst_v.i].pSPara = &TS_adc_SPara[tst_v.i]; |
|||
55 1 Lc_buf_from_const_uc(D_struct2U8(S.adc_SPara[tst_v.i]),D_struct2U8(&TS_adc_SPara[tst_v.i]),D_TS_adc_SPara |
|||
-_LEN); |
|||
56 1 } |
|||
57 1 |
|||
58 1 ///tst_weight.pSPara = &ts_weight_SPara; |
|||
59 1 Lc_buf_from_const_uc(D_struct2U8(S.weight_SPara),D_struct2U8(&ts_weight_SPara),D_TS_weight_SPara_len); |
|||
60 1 |
|||
61 1 |
|||
62 1 */ |
|||
63 1 do{ |
|||
64 2 L0_Iap_Read_array(D_EEP_BASE,D_struct2U8(S),D_S_LEN); |
|||
65 2 printf1("\r\nread S: %d ",(int)ovt); |
|||
66 2 L1_uartD_Arrayhex(D_struct2U8(S),D_S_LEN); |
|||
67 2 |
|||
68 2 if(0xaa55 == S.d0xaa55) |
|||
69 2 {////>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>和应用强相关 |
|||
70 3 L3_S_2_R(); |
|||
71 3 ////<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<和应用强相关 |
|||
72 3 printfs("\r\nSpara ok "); |
|||
73 3 return ovt; |
|||
74 3 }else |
|||
75 2 { |
|||
76 3 S.d0xaa55 = D_0xaa55; |
|||
77 3 printf1("\r\nProg %x",S.d0xaa55); |
|||
78 3 L3_R_2_S(); |
|||
79 3 L0_Iap_Program_array(D_EEP_BASE,D_struct2U8(S),D_S_LEN); |
|||
80 3 } |
|||
81 2 }while(ovt ++< 2); |
|||
82 1 return 100; |
|||
83 1 } |
|||
84 |
|||
85 /* |
|||
86 void L3_param_init(void) |
|||
87 { |
|||
88 int i; |
|||
89 for(i=0;i<D_ch_max_num;i++) |
|||
90 { |
|||
91 G.weight[i] = 0; |
|||
92 } |
|||
93 G.allweight = 0; |
|||
94 G._total_weight = 0; |
|||
95 G._total_zweight = 0; |
|||
96 |
|||
97 //L3_eeprom_read_param(); |
|||
98 } |
|||
99 |
|||
100 */ |
|||
101 |
|||
102 ///出厂参数 向 保存参数 |
|||
103 void L3_S(void) |
|||
104 { |
|||
105 1 |
|||
106 1 |
|||
107 1 /// Lc_buf_copy_uc((u8 *)&R.sd,(u8 *)&iapData,20); |
|||
108 1 //写入eeprom |
|||
109 1 /// if(L1_eeprom_write((U8*)&iapData,sizeof(TS_GlobalRegisterSave_)) == 0) |
|||
C51 COMPILER V9.54 APP_CONFIG 09/06/2024 11:24:44 PAGE 3 |
|||
|
|||
110 1 { |
|||
111 2 // L0_uart0_sendstr("e2p write success"); |
|||
112 2 } |
|||
113 1 } |
|||
114 |
|||
115 ////把当前任务中的数据放入到保存参数(一般是eeprom |
|||
116 void L2_para_2_S(TS_para_ *t) |
|||
117 {////void L0_Iap_Program_array(vU16 addr,U8 *buf,U8 len) |
|||
118 1 /// L0_Iap_Program_array(t->add,); |
|||
119 1 |
|||
120 1 } |
|||
*** WARNING C280 IN LINE 116 OF ..\source\app\app_config.c: 't': unreferenced local variable |
|||
121 |
|||
122 |
|||
123 |
|||
124 //读取iap内容,写入reg |
|||
125 void L3_iap_2_reg(void) |
|||
126 { |
|||
127 1 |
|||
128 1 /* |
|||
129 1 |
|||
130 1 |
|||
131 1 U8 len = 0,i = 0; |
|||
132 1 if(L1_eeprom_read((U8*)&iapData,&len) == 1) |
|||
133 1 { |
|||
134 1 L0_uart0_sendstr("e2p read failed\r\n"); |
|||
135 1 return; |
|||
136 1 } |
|||
137 1 L0_uart0_sendstr("e2p read success\r\n"); |
|||
138 1 |
|||
139 1 Lc_buf_copy_uc((u8 *)&iapData,(u8 *)&R.sd,20); |
|||
140 1 |
|||
141 1 */ |
|||
142 1 |
|||
143 1 } |
|||
144 |
|||
145 /********* |
|||
146 |
|||
147 |
|||
148 int L3_mcu_id_ok(void) |
|||
149 { |
|||
150 U8 i = 0,crc[2]; |
|||
151 U32 enc_key; |
|||
152 //1.获取MCU_ID |
|||
153 L0_id_get_rom(G.e.mcu_id); |
|||
154 for(i=0;i<MCU_ID_LEN;i++) |
|||
155 { |
|||
156 L0_uart0_uchex(G.e.mcu_id[i]); |
|||
157 } |
|||
158 |
|||
159 //2.读取eeprom中的加密信息 |
|||
160 L0_Iap_Read_array(EEP_ENC_ADDR, (U8*)&eep_enc, MCU_ID_KEY_LEN + MCU_ID_LEN + 2); |
|||
161 crc16(crc,(U8*)&eep_enc,MCU_ID_KEY_LEN + MCU_ID_LEN); |
|||
162 if(eep_enc.crc[0] != crc[0] || eep_enc.crc[1] != crc[1]) |
|||
163 { |
|||
164 L0_uart0_uc('-'); |
|||
165 return 0; |
|||
166 } |
|||
167 |
|||
168 //3.根据mcu_id和enc_key计算enc_val |
|||
169 enc_key = ((U32)eep_enc.enc_key[0] << 24) | (eep_enc.enc_key[1] << 16) | (eep_enc.enc_key[2] << 8) |(eep_ |
|||
-enc.enc_key[3] << 0); |
|||
C51 COMPILER V9.54 APP_CONFIG 09/06/2024 11:24:44 PAGE 4 |
|||
|
|||
170 Lc_encrypt_id((U8*)G.e.mcu_enc_id, (U8*)G.e.mcu_id, enc_key, MCU_ID_LEN); |
|||
171 |
|||
172 //4.判断enc_val是否一致 |
|||
173 for(i=0;i<MCU_ID_KEY_LEN;i++) |
|||
174 { |
|||
175 if(G.e.mcu_enc_id[i] != eep_enc.enc_val[i]) |
|||
176 { |
|||
177 return 0; |
|||
178 } |
|||
179 } |
|||
180 return 1; |
|||
181 } |
|||
182 |
|||
183 |
|||
184 **********/ |
|||
185 |
|||
186 |
|||
187 |
|||
188 #if 0 |
|||
TS_EEPROM_ENC_ eep_enc; |
|||
|
|||
void L0_reg_reset() |
|||
{/****** |
|||
//R.p.reset = 0; |
|||
R.p.adc_ch_status = ADC_status_ch1_Ready | ADC_status_ch2_Ready | ADC_status_ch3_Ready | ADC_status_ch4_R |
|||
-eady; //修改采集通道 |
|||
R.p.slaver_id = D_UART0_485_SLAVER_ID; |
|||
R.zero = 0; |
|||
R.status_eep_save = 0; |
|||
// R.reset = 0; |
|||
R.p.weight_max = 150; //500kg |
|||
R.p.lmd = 15; //2mv/v |
|||
|
|||
R.p.adc_blur_mid = 1; |
|||
R.p.adc_blur_avg = 6; |
|||
R.p.adc_blur_shift[0] = 0; |
|||
R.p.adc_blur_shift[1] = 2; |
|||
R.p.adc_blur_shift[2] = 4; |
|||
R.p.adc_blur_threshold[0] = 1600; //1.6kg |
|||
R.p.adc_blur_threshold[1] = 700; //0.7kg |
|||
*********/ |
|||
|
|||
///L3_reg_2_iap(); |
|||
} |
|||
|
|||
void L0_reg_init(void) |
|||
{ |
|||
R.sd.rev0x55aa55aa = 0x55aa55aa; |
|||
//R.total_weight = R.total_zweight = 0; |
|||
///L0_reg_reset(); |
|||
L4_iap_2_reg(); |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
S32 L3_count_std_weight(S32 weight) |
|||
{ |
|||
U8 i = 0; |
|||
U16 ratio = 100; |
|||
weight = (weight - G._total_zweight)/10; |
|||
C51 COMPILER V9.54 APP_CONFIG 09/06/2024 11:24:44 PAGE 5 |
|||
|
|||
for(i=0;i<D_weight_std_num;i++) |
|||
{ |
|||
if(R.p.weight_std[i].weight_range == 0 || (R.p.weight_std[i].weight_range * 100) >= weight) |
|||
{ |
|||
break; |
|||
} |
|||
} |
|||
if(i<D_weight_std_num && R.p.weight_std[i].ratio != 0) |
|||
{ |
|||
ratio = R.p.weight_std[i].ratio; |
|||
} |
|||
return (S32)(weight * 1.0 * ratio / 100) ; |
|||
} |
|||
#endif |
|||
245 |
|||
246 |
|||
247 |
|||
248 void L0_main_lowp(void) |
|||
249 {// |
|||
250 1 |
|||
251 1 |
|||
252 1 BITN_1(P_SW2 ,BITN7);USBCON = 0; |
|||
253 1 |
|||
254 1 D_stdIO_P0_ALL(); |
|||
255 1 |
|||
256 1 D_stdIO_P1_ALL(); |
|||
257 1 D_stdIO_P2_ALL(); |
|||
258 1 D_stdIO_P3_ALL(); |
|||
259 1 D_stdIO_P4_ALL(); |
|||
260 1 D_stdIO_P5_ALL(); |
|||
261 1 |
|||
262 1 |
|||
263 1 |
|||
264 1 |
|||
265 1 |
|||
266 1 WKTCL = 0xff; //设定掉电唤醒时钟约为 1 秒钟 WKTCH = 0x87; |
|||
267 1 |
|||
268 1 WKTCH = 0x87; |
|||
269 1 ///SetWakeUpTime(10000); |
|||
270 1 |
|||
271 1 D_P24_REV(); |
|||
272 1 Lc_delay_ms(500); |
|||
273 1 D_P24_REV(); |
|||
274 1 Lc_delay_ms(500); |
|||
275 1 D_P24_REV(); |
|||
276 1 Lc_delay_ms(500); |
|||
277 1 |
|||
278 1 D_P24_ON(); |
|||
279 1 P_SW2|=0x80; |
|||
280 1 |
|||
281 1 P0PU = 0; |
|||
282 1 P1PU = 0; |
|||
283 1 P2PU = 0; |
|||
284 1 P3PU = 0; |
|||
285 1 P4PU = 0; |
|||
286 1 P5PU = 0; |
|||
287 1 |
|||
288 1 P0SR =0xff; |
|||
289 1 P1SR =0xff; |
|||
290 1 P2SR =0xff; |
|||
291 1 P3SR =0xff; |
|||
292 1 P4SR =0xff; |
|||
C51 COMPILER V9.54 APP_CONFIG 09/06/2024 11:24:44 PAGE 6 |
|||
|
|||
293 1 P5SR =0xff; |
|||
294 1 |
|||
295 1 P0DR =0xff; |
|||
296 1 P1DR =0xff; |
|||
297 1 P2DR =0xff; |
|||
298 1 P3DR =0xff; |
|||
299 1 P4DR =0xff; |
|||
300 1 P5DR =0xff; |
|||
301 1 |
|||
302 1 |
|||
303 1 P0IE =0; |
|||
304 1 P1IE =0; |
|||
305 1 P2IE =0; |
|||
306 1 P3IE =0; |
|||
307 1 P4IE =0; |
|||
308 1 P5IE =0; |
|||
309 1 |
|||
310 1 USBCON = 0; |
|||
311 1 ///USBCON = 0x80; |
|||
312 1 |
|||
313 1 |
|||
314 1 |
|||
315 1 |
|||
316 1 D_HighR_P0_ALL(); |
|||
317 1 D_HighR_P1_ALL(); |
|||
318 1 D_HighR_P2_ALL(); |
|||
319 1 D_HighR_P3_ALL(); |
|||
320 1 D_HighR_P4_ALL(); |
|||
321 1 D_HighR_P5_ALL(); |
|||
322 1 P_SW2 = 0x80; |
|||
323 1 // XOSCCR =0; |
|||
324 1 ///HIRCCR = 0; |
|||
325 1 /***** |
|||
326 1 |
|||
327 1 IRC32KCR = 0x80; //启动内部32K IRC |
|||
328 1 while (!(IRC32KCR & 1)); //等待时钟稳定 |
|||
329 1 CLKDIV = 0x00; //时钟不分频 |
|||
330 1 CLKSEL = 0x03; //选择内部32K |
|||
331 1 P_SW2 = 0x00; |
|||
332 1 |
|||
333 1 |
|||
334 1 D_stdIO_P0_ALL(); |
|||
335 1 D_stdIO_P1_ALL(); |
|||
336 1 D_stdIO_P2_ALL(); |
|||
337 1 D_stdIO_P3_ALL(); |
|||
338 1 D_stdIO_P4_ALL(); |
|||
339 1 D_stdIO_P5_ALL(); |
|||
340 1 |
|||
341 1 P0 = 0xff; |
|||
342 1 P1 = 0xff; |
|||
343 1 P2 = 0xff; |
|||
344 1 P3 = 0xff; |
|||
345 1 P4 = 0xff; |
|||
346 1 P5 = 0xff; |
|||
347 1 |
|||
348 1 |
|||
349 1 |
|||
350 1 *******/ |
|||
351 1 RSTCFG=0;//没有变化43ua 41ua |
|||
352 1 |
|||
353 1 while(9) |
|||
354 1 { |
|||
C51 COMPILER V9.54 APP_CONFIG 09/06/2024 11:24:44 PAGE 7 |
|||
|
|||
355 2 |
|||
356 2 D_HighR_P2_ALL(); |
|||
357 2 |
|||
358 2 |
|||
359 2 |
|||
360 2 |
|||
361 2 |
|||
362 2 _nop_(); |
|||
363 2 _nop_(); |
|||
364 2 |
|||
365 2 PCON = 0x02; ////2222 //MCU进入掉电模式 |
|||
366 2 ///D_LPCD_INT_CLOSE(); 对掉电唤醒后有一个中断进来没有效果 |
|||
367 2 _nop_(); |
|||
368 2 _nop_(); _nop_(); |
|||
369 2 _nop_(); _nop_(); |
|||
370 2 _nop_(); |
|||
371 2 /// D_P24_REV(); |
|||
372 2 |
|||
373 2 D_stdIO_P2_ALL(); |
|||
374 2 D_P24_REV(); |
|||
375 2 |
|||
376 2 Lc_delay_ms(300); |
|||
377 2 D_P24_REV(); |
|||
378 2 |
|||
379 2 |
|||
380 2 } |
|||
381 1 |
|||
382 1 } |
|||
383 |
|||
384 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 892 ---- |
|||
CONSTANT SIZE = 36 ---- |
|||
XDATA SIZE = 54 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,614 @@ |
|||
C51 COMPILER V9.54 APP_WEIGHT 09/06/2024 11:24:44 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE APP_WEIGHT |
|||
OBJECT MODULE PLACED IN ..\out\app_weight.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\app\app_weight.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOIN |
|||
-TPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;..\ |
|||
-source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRINT |
|||
-(..\out\app_weight.lst) TABS(2) OBJECT(..\out\app_weight.obj) |
|||
|
|||
line level source |
|||
|
|||
1 //////////////////////////////////////////////////////////////////////////// |
|||
2 ///@copyright Copyright (c) 2018, 隡䭾綉蝘烐� All rights reserved. |
|||
3 ///------------------------------------------------------------------------- |
|||
4 /// @file bsp_drv.c |
|||
5 /// @brief bsp @ driver config |
|||
6 ///------------------------------------------------------------------------- |
|||
7 /// @version 1.0 |
|||
8 /// @author CC |
|||
9 /// @date 20180331 |
|||
10 /// @note cc_AS_stc02 |
|||
11 ////////////////////////////////////////////////////////////////////////////// |
|||
12 |
|||
13 #include "app_weight.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
14 #include "app_config.h" |
|||
15 #include "debug_drv.h" |
|||
16 #include "msp_eeprom.h" |
|||
17 |
|||
18 #define D_0kg 0 |
|||
19 #define D_20kg 200///0x00c8 |
|||
20 #define D_85kg 850////0x0352 |
|||
21 |
|||
22 /* |
|||
23 #define D_Rsensor_out_D_0kg 0x18D9 |
|||
24 #define D_Rsensor_out_D_20kg 0x1B8B |
|||
25 #define D_Rsensor_out_D_85kg 0x244D |
|||
26 */ |
|||
27 |
|||
28 #define D_Rsensor_out_D_0kg 0x18D9 |
|||
29 #define D_Rsensor_out_D_20kg 0x1c2c |
|||
30 #define D_Rsensor_out_D_85kg 0x26f9 |
|||
31 |
|||
32 |
|||
33 |
|||
34 |
|||
35 ///#define D_20kg 190 |
|||
36 ///cc 2023/04/06--6:41:48 镼踹��孵� 隡䭾��� �寞旿隡䭾��刻��� 蝔见�摨磰砲銝㯄秄�唳旿蝏𤘪� |
|||
37 |
|||
38 |
|||
39 ///cc 2023/04/06--7:50:26 摨磰砲�眩st_weight.out6���� |
|||
40 ///cc 2023/04/09--8:11:50 adc�嫣蛹out �牐蛹�唬�weight餈嗘�撅� 撌脩�銝滚���鍂adc嚗蘏dc����� |
|||
-颲枏枂out蝏嗘�weight�亙�餈鞟� |
|||
41 |
|||
42 TS_weight_SPara_ ts_weight_SPara = |
|||
43 { |
|||
44 'W',//0 1 u8 rev1; |
|||
45 'E',//1 2 u8 rev2; |
|||
46 D_0kg ,D_Rsensor_out_D_0kg, |
|||
47 D_20kg,D_Rsensor_out_D_20kg, |
|||
48 D_85kg,D_Rsensor_out_D_85kg, |
|||
49 |
|||
50 //2 3 TS_weight_point_ zerows[3]; ///4x3=12 �见極皜�妟�𡒊���㺭, 瘝⊥�皜�妟�𤥁��枂�蹱�憭滚� |
|||
C51 COMPILER V9.54 APP_WEIGHT 09/06/2024 11:24:44 PAGE 2 |
|||
|
|||
-啣��箏�霈曄蔭銝���,��閬���嗡�摮� |
|||
51 'A',//3 4 u8 rev3; |
|||
52 ' ',//4 5 u8 rev4; |
|||
53 |
|||
54 }; |
|||
55 TS_TASK_weight_ tst_weight; |
|||
56 |
|||
57 |
|||
58 #define D_task_WEIGHT_add 12 |
|||
59 #define D_task_WEIGHT_CAL 13 |
|||
60 #define D_task_WEIGHT_get 14 |
|||
61 #define D_task_WEIGHT_zero 15 |
|||
62 ///#define D_task_WEIGHT_CAL 124 |
|||
63 |
|||
64 #define D_task_WEIGHT_out 45 |
|||
65 #define D_task_WEIGHT_Sline 11 |
|||
66 #define D_task_WEIGHT_getADC 22 |
|||
67 ///#define D_task_WEIGHT_CAL 33 |
|||
68 ////#define D_task_WEIGHT_Sline |
|||
69 |
|||
70 |
|||
71 |
|||
72 void L2_task_weight_init(u8 openclose) |
|||
73 { |
|||
74 1 if(openclose) |
|||
75 1 { |
|||
76 2 L0_ADS1213_INIT(D_ADS1213_GAIN_128); |
|||
77 2 L2_task_adc_init(0); |
|||
78 2 L2_task_adc_init(1); |
|||
79 2 L2_task_adc_init(2); |
|||
80 2 L2_task_adc_init(3); |
|||
81 2 |
|||
82 2 }else |
|||
83 1 { |
|||
84 2 tst_weight.pSPara = &ts_weight_SPara; |
|||
85 2 } |
|||
86 1 /* |
|||
87 1 L2_task_adc_SAinit(0,&S.sd.ADC_shiftaverage_a,&S.sd.ADC_shiftaverage_b); |
|||
88 1 L2_task_adc_SAinit(1,&S.sd.ADC_shiftaverage_a,&S.sd.ADC_shiftaverage_b); |
|||
89 1 L2_task_adc_SAinit(2,&S.sd.ADC_shiftaverage_a,&S.sd.ADC_shiftaverage_b); |
|||
90 1 L2_task_adc_SAinit(3,&S.sd.ADC_shiftaverage_a,&S.sd.ADC_shiftaverage_b); |
|||
91 1 |
|||
92 1 |
|||
93 1 |
|||
94 1 |
|||
95 1 ts_adc_samples[0].offset = S.sd.offset[0]; |
|||
96 1 ts_adc_samples[1].offset = S.sd.offset[1]; |
|||
97 1 ts_adc_samples[2].offset = S.sd.offset[2]; |
|||
98 1 ts_adc_samples[3].offset = S.sd.offset[3]; |
|||
99 1 |
|||
100 1 |
|||
101 1 */ |
|||
102 1 |
|||
103 1 |
|||
104 1 } |
|||
105 |
|||
106 void L3_task_weight_init(void) |
|||
107 { |
|||
108 1 //�曄內隞餃𦛚�嘥��� |
|||
109 1 L1_task_reg_clear(&tst_weight.task); |
|||
110 1 L3_task_s_go(tst_weight,D_task_init); |
|||
111 1 L2_task_weight_init(1); |
|||
C51 COMPILER V9.54 APP_WEIGHT 09/06/2024 11:24:44 PAGE 3 |
|||
|
|||
112 1 ///Lc_buf_from_const_uc(U8 * d, const U8 * s, U16 num) |
|||
113 1 ///tst_weight.pSPara->ts_WPoint |
|||
114 1 } |
|||
115 |
|||
116 #define D_debug_ch D_Wch2 |
|||
117 ///L3_task_weight_handler(&tst_weight); |
|||
118 void L3_task_weight_handler(TS_TASK_weight_ *s) |
|||
119 { |
|||
120 1 L2_task_adc_sample(&ts_adc_samples[D_Wch1]); |
|||
121 1 |
|||
122 1 L2_task_adc_sample(&ts_adc_samples[D_Wch2]); |
|||
123 1 |
|||
124 1 L2_task_adc_sample(&ts_adc_samples[D_Wch3]); |
|||
125 1 |
|||
126 1 L2_task_adc_sample(&ts_adc_samples[D_Wch4]); |
|||
127 1 |
|||
128 1 TTSS_Task_init(): |
|||
129 2 L0_waitFree_uartN(0); |
|||
130 2 |
|||
131 2 /* |
|||
132 2 printf("\r\nR.sd.zeroout= %d = 0x%4x offset %d = 0x%4x", R.sd.zeroout, R.sd.zeroout,ts_adc_samples[0]. |
|||
-offset,ts_adc_samples[0].offset); |
|||
133 2 printf("\r\nR.sd.zeroout= %d = 0x%4x offset %d = 0x%4x", R.sd.zeroout, R.sd.zeroout,ts_adc_samples[1]. |
|||
-offset,ts_adc_samples[1].offset); |
|||
134 2 printf("\r\nR.sd.zeroout= %d = 0x%4x offset %d = 0x%4x", R.sd.zeroout, R.sd.zeroout,ts_adc_samples[2]. |
|||
-offset,ts_adc_samples[2].offset); |
|||
135 2 printf("\r\nR.sd.zeroout= %d = 0x%4x offset %d = 0x%4x", R.sd.zeroout, R.sd.zeroout,ts_adc_samples[3]. |
|||
-offset,ts_adc_samples[3].offset); |
|||
136 2 |
|||
137 2 printf('4'); |
|||
138 2 |
|||
139 2 */ |
|||
140 2 s->slow = 0; |
|||
141 2 s->zero = 0;s->kgx10_zero = 0; |
|||
142 2 printfs(" L3_task_weight_handler "); |
|||
143 2 |
|||
144 2 L2_task_go(D_task_WEIGHT_get); |
|||
145 2 TTSS_Task_step(D_task_WEIGHT_get): |
|||
146 2 if(1 == ts_adc_samples[D_Wch4].ok) |
|||
147 2 {// |
|||
148 3 ts_adc_samples[0].ok = 0; |
|||
149 3 ts_adc_samples[1].ok = 0; |
|||
150 3 ts_adc_samples[2].ok = 0; |
|||
151 3 ts_adc_samples[3].ok = 0; |
|||
152 3 s->slow ++; |
|||
153 3 // L0_uart0_uc('%'); |
|||
154 3 L2_task_go(D_task_WEIGHT_Sline); |
|||
155 3 } |
|||
156 2 TTSS_Task_step(D_task_WEIGHT_Sline): |
|||
157 2 if (s->slow >= 1)////��甅�誯�� |
|||
158 2 {s->slow = 0; |
|||
159 3 ///靚�鍂asp�婙�𤤗dc銝剔�颲枏枂 out3 |
|||
160 3 /************/ |
|||
161 3 ///cc 2023/04/06--8:9:18 �㗇𥋘雿輻鍂�芯��⊥誘瘜Y瑪 |
|||
162 3 |
|||
163 3 ts_adc_samples[0].out5 = ts_adc_samples[0].ts_SAa.out4_shift; |
|||
164 3 ts_adc_samples[1].out5 = ts_adc_samples[1].ts_SAa.out4_shift; |
|||
165 3 ts_adc_samples[2].out5 = ts_adc_samples[2].ts_SAa.out4_shift; |
|||
166 3 ts_adc_samples[3].out5 = ts_adc_samples[3].ts_SAa.out4_shift; |
|||
167 3 |
|||
168 3 L2_task_go(D_task_WEIGHT_getADC); |
|||
169 3 }else |
|||
C51 COMPILER V9.54 APP_WEIGHT 09/06/2024 11:24:44 PAGE 4 |
|||
|
|||
170 2 { |
|||
171 3 L2_task_go(D_task_WEIGHT_get); |
|||
172 3 } |
|||
173 2 //L2_task_go(D_task_WEIGHT_getADC); |
|||
174 2 TTSS_Task_step(D_task_WEIGHT_getADC): |
|||
175 2 |
|||
176 2 |
|||
177 2 ////�𥕢葵隡䭾��函㮾�惩�撟喳� |
|||
178 2 tst_weight.sum32 = ts_adc_samples[0].out5; |
|||
179 2 tst_weight.sum32 += ts_adc_samples[1].out5; |
|||
180 2 tst_weight.sum32 += ts_adc_samples[2].out5; |
|||
181 2 tst_weight.sum32 += ts_adc_samples[3].out5; |
|||
182 2 |
|||
183 2 tst_weight.out6 = tst_weight.sum32 >>2; |
|||
184 2 |
|||
185 2 L2_task_go(D_task_WEIGHT_CAL); |
|||
186 2 TTSS_Task_step(D_task_WEIGHT_CAL): |
|||
187 2 |
|||
188 2 tst_weight.adc32 = tst_weight.out6; |
|||
189 2 |
|||
190 2 L3_task_weight_cal(); |
|||
191 2 |
|||
192 2 L2_task_go(D_task_WEIGHT_out); |
|||
193 2 TTSS_Task_step(D_task_WEIGHT_out): |
|||
194 2 if(tst_weight.kgx10 > tst_weight.kgx10_zero) |
|||
195 2 { |
|||
196 3 s->kgx10_out = s->kgx10 - s->kgx10_zero; |
|||
197 3 }else |
|||
198 2 { |
|||
199 3 s->kgx10_out = 0 ; |
|||
200 3 } |
|||
201 2 //// D_LED1_REV(); L4_weight_out(); D_LED1_REV(); |
|||
202 2 |
|||
203 2 |
|||
204 2 |
|||
205 2 /// L4_weight_print();///��閬��霂閧��嗅�蹱�撘�!!!!!!!!!!!!!!! |
|||
206 2 L2_task_Tdelay_go(D_Tdelay_200ms, D_task_WEIGHT_get); |
|||
207 2 /// L2_task_go(D_task_WEIGHT_get); |
|||
208 2 TTSS_Task_step(D_task_WEIGHT_zero): |
|||
209 2 |
|||
210 2 |
|||
211 2 L2_task_go(D_task_WEIGHT_get); |
|||
212 2 TTSS_Task_end(); |
|||
213 1 } |
|||
214 |
|||
215 |
|||
216 void L3_task_weight_cal(void) |
|||
217 { |
|||
218 1 if(tst_weight.adc32 <= (vU32)S.weight_SPara.ts_WPoint[1].adc) |
|||
219 1 { |
|||
220 2 if(tst_weight.adc32 <= (vU32)S.weight_SPara.ts_WPoint[0].adc ) |
|||
221 2 { |
|||
222 3 tst_weight.adc32 = (vU32)S.weight_SPara.ts_WPoint[0].adc; |
|||
223 3 } |
|||
224 2 ///0-0-40KG |
|||
225 2 tst_weight.t32a = (tst_weight.adc32-(vU32)S.weight_SPara.ts_WPoint[0].adc);////�匧虾��<0 |
|||
226 2 tst_weight.t32b = (vU32)(S.weight_SPara.ts_WPoint[1].adc-S.weight_SPara.ts_WPoint[0].adc); |
|||
227 2 tst_weight.t32a *= (vU32)(S.weight_SPara.ts_WPoint[1].kg - S.weight_SPara.ts_WPoint[0].kg); |
|||
228 2 tst_weight.t32a /= tst_weight.t32b; |
|||
229 2 |
|||
230 2 }else |
|||
231 1 { ///40KG 80KG |
|||
C51 COMPILER V9.54 APP_WEIGHT 09/06/2024 11:24:44 PAGE 5 |
|||
|
|||
232 2 tst_weight.t32a = (vU32)(tst_weight.adc32-S.weight_SPara.ts_WPoint[1].adc);////�匧虾�賢之鈭筯 |
|||
233 2 tst_weight.t32b = (vU32)(S.weight_SPara.ts_WPoint[2].adc-S.weight_SPara.ts_WPoint[1].adc); |
|||
234 2 tst_weight.t32a *= (vU32)(S.weight_SPara.ts_WPoint[2].kg-S.weight_SPara.ts_WPoint[1].kg) ; |
|||
235 2 tst_weight.t32a /= tst_weight.t32b; |
|||
236 2 tst_weight.t32a += (vU32)S.weight_SPara.ts_WPoint[1].kg; |
|||
237 2 |
|||
238 2 } |
|||
239 1 tst_weight.kgx10 = (vU16)tst_weight.t32a; |
|||
240 1 } |
|||
241 |
|||
242 /* |
|||
243 |
|||
244 #define D_0kg 0 |
|||
245 #define D_20kg 200///0x00c8 |
|||
246 #define D_85kg 850////0x0352 |
|||
247 |
|||
248 #define D_Rsensor_out_D_0kg 0x18D9 |
|||
249 #define D_Rsensor_out_D_20kg 0x1B8B |
|||
250 #define D_Rsensor_out_D_85kg 0x244D |
|||
251 |
|||
252 */ |
|||
253 |
|||
254 #if 0 |
|||
void L3_weight_ONdebug(u8 filter)//// ON listen function |
|||
{ |
|||
if(filter == pd->filter) |
|||
{ |
|||
///filter num d1 d2 d3 ....dn |
|||
////FE 08 11 22 33 44 55 66 77 88 |
|||
///printf("\r\nDdebug:FD R1 R2 R3 R4 R5 R6 ocr FD->"); |
|||
///printf4("22 ch:(%2X)-%2X S %2X=%2X\r\n",(int)pd->R1,(int)pd->R2,(int)pd->R3,(int)pd->ocr); |
|||
L1_uartD_Arrayhex((u8*)pd,9); |
|||
switch (pd->ocr) |
|||
{ |
|||
case 0x20: |
|||
////�㗇𥋘銝�銝芰�����煾��0x12��誘嚗𣬚��舘粉�𣇉��唳旿 �𣬚�����漤�雿輻鍂 20 21 22�� |
|||
-�唳䔉 |
|||
///fx R1 R2 R3R4 R5R6 ocr |
|||
///Fe ch 00 2233 4455 20 0x2233 kg= 0x4455 adc |
|||
///Fe 00 00 0000 18D9 20 |
|||
///Fe 01 00 00c8 1c2c 20 |
|||
///Fe 02 00 0352 26f9 20 |
|||
/// 0352 26f9 |
|||
///00c8 1c2c |
|||
///Fe 22 33 44 55 21 |
|||
///Fe 22 33 44 55 22 |
|||
if(pd->R1 < 3) |
|||
ts_weight_SPara.ts_WPoint[pd->R1].kg = D_2uc_u16(pd->R3,pd->R4); |
|||
ts_weight_SPara.ts_WPoint[pd->R1].adc = D_2uc_u16(pd->R5,pd->R6); |
|||
|
|||
printf5("\r\nset %d: %4x(%6d) %4x(%6d)\r\n",(int)pd->R1, |
|||
ts_weight_SPara.ts_WPoint[pd->R1].kg,ts_weight_SPara.ts_WPoint[pd->R1].kg, |
|||
ts_weight_SPara.ts_WPoint[pd->R1].adc,ts_weight_SPara.ts_WPoint[pd->R1].adc); { |
|||
|
|||
} |
|||
|
|||
L3_R_2_S(); |
|||
L0_Iap_Program_array(D_EEP_BASE,D_struct2U8(S),D_S_LEN); |
|||
break; |
|||
case 0x35: ///// '5'/// |
|||
////�㗇𥋘銝�銝芰�����煾��0x12��誘嚗𣬚��舘粉�𣇉��唳旿 �𣬚�����漤�雿輻鍂 20 21 22�� |
|||
-�唳䔉 |
|||
C51 COMPILER V9.54 APP_WEIGHT 09/06/2024 11:24:44 PAGE 6 |
|||
|
|||
///fx R1 R2 R3R4 R5R6 ocr |
|||
///Fe ch 00 2233 4455 35 kg= 0x2233 |
|||
|
|||
////�∪�20kg 颲枏� Fe 01 00 00 c8 02 00 35 |
|||
///Fe 01 00 00 c8 02 00 35 kg= 0x00c8=200d///��閬�嵗����漤��� 20kg 200d=0xc8 |
|||
///�∪�20kg 颲枏� Fe 01 00 00 c8 02 00 35 |
|||
|
|||
/// Fe 00 00 00 00 01 00 35 �∪��嗥� 銝漤�閬���萄朖�� |
|||
/// Fe 01 00 00 c8 02 00 35 20kg �曄蔭20kg �嗅�颲枏� |
|||
/// Fe 02 00 01 d6 03 00 35 47kg 10銝�3kg�萘�摰鮋���27kg+20kg |
|||
////憒����閬��雿齿㦤霈曄蔭 ��閬�銁銝𠹺��箇�銝脣藁 �牐�D4 D隞�”chuandi |
|||
if(pd->R1 < 3) |
|||
{ |
|||
ts_weight_SPara.ts_WPoint[pd->R1].kg = D_2uc_u16(pd->R3,pd->R4); |
|||
ts_weight_SPara.ts_WPoint[pd->R1].adc = tst_weight.adc32;////雿輻鍂敶枏���甅�� |
|||
|
|||
printf5("\r\nset %d: %4x(%6d) %4x(%6d)\r\n",(int)pd->R1, |
|||
ts_weight_SPara.ts_WPoint[pd->R1].kg,ts_weight_SPara.ts_WPoint[pd->R1].kg, |
|||
ts_weight_SPara.ts_WPoint[pd->R1].adc,ts_weight_SPara.ts_WPoint[pd->R1].adc); |
|||
} |
|||
|
|||
L3_R_2_S(); |
|||
L0_Iap_Program_array(D_EEP_BASE,D_struct2U8(S),D_S_LEN); |
|||
break; |
|||
|
|||
case 0x21: /// 皜�妟��誘 �𠰴��滨��漤��潔�銝�0�對� �臭誑�私ad銝𢠃�蝵桀��� |
|||
////Fe 223344556677 21 |
|||
|
|||
L4_weight_print(); |
|||
tst_weight.kgx10_zero = tst_weight.kgx10; |
|||
printf2("\r\n kgx10_zero= %4x(%4d)",tst_weight.kgx10_zero,tst_weight.kgx10_zero); |
|||
break; |
|||
|
|||
case 0x23: |
|||
///Fe 11 22 33 44 55 66 23 |
|||
TTSS_run_times(3) |
|||
{ |
|||
printf5("\r\n%d: %4x(%4d ) %4x(%6d)\r\n",(int)tst_v.i, |
|||
ts_weight_SPara.ts_WPoint[tst_v.i].kg,ts_weight_SPara.ts_WPoint[tst_v.i].kg, |
|||
ts_weight_SPara.ts_WPoint[tst_v.i].adc,ts_weight_SPara.ts_WPoint[tst_v.i].adc); |
|||
} |
|||
break; |
|||
|
|||
case 0x32: ///霂餃�敶枏�����誩�隡䭾��冽㺭�� |
|||
///Fe 223344556677 12 |
|||
printfs("\r\n "); |
|||
L4_weight_print(); |
|||
break; |
|||
|
|||
case 0x33: ///霂餃�敶枏�����誩�隡䭾��冽㺭�� hex |
|||
///Fe 223344556677 12 |
|||
D_LED1_REV(); |
|||
L4_weight_out(); |
|||
D_LED1_REV(); |
|||
break; |
|||
|
|||
default: |
|||
printfs(" pp error\r\n "); |
|||
break; |
|||
}; |
|||
printfs("333"); |
|||
} |
|||
C51 COMPILER V9.54 APP_WEIGHT 09/06/2024 11:24:44 PAGE 7 |
|||
|
|||
} |
|||
|
|||
#else |
|||
357 void L3_weight_ONdebug(u8 filter)//// ON listen function |
|||
358 { |
|||
359 1 // printf(" \r\n0->filter=%X ", (int)filter); |
|||
360 1 // printf(" \r\n1->filter=%X slaveId=%X cmd=%X len = %d ", (int)pd485->filter,(int)pd485->slaveId, (int)p |
|||
-d485->cmd, (int)ts_Urec[D_UART1].num); |
|||
361 1 // D_LED2_REV(); |
|||
362 1 if(filter == pd485->filter) |
|||
363 1 { |
|||
364 2 // L1_uartD_Arrayhex((u8*)pd,9); |
|||
365 2 switch (pd485->cmd) |
|||
366 2 { |
|||
367 3 case 0x10: |
|||
368 3 ////霂餃�蝘圈� |
|||
369 3 D_LED1_REV(); |
|||
370 3 L4_weight_out(); |
|||
371 3 D_LED1_REV(); |
|||
372 3 break; |
|||
373 3 |
|||
374 3 case 0x20: |
|||
375 3 ///// �∪� |
|||
376 3 ////�㗇𥋘銝�銝芰�����煾��0x12��誘嚗𣬚��舘粉�𣇉��唳旿 �𣬚�����漤�雿輻鍂 20 21 22�� |
|||
-�唳䔉 |
|||
377 3 ///fx R1 R2 R3R4 R5R6 ocr |
|||
378 3 ///Fe ch 00 2233 4455 35 kg= 0x2233 |
|||
379 3 |
|||
380 3 ////�∪�20kg 颲枏� Fe 01 00 00 c8 02 00 35 |
|||
381 3 ///Fe 01 00 00 c8 02 00 35 kg= 0x00c8=200d///��閬�嵗����漤��� 20kg 200d=0xc8 |
|||
382 3 ///�∪�20kg 颲枏� Fe 01 00 00 c8 02 00 35 |
|||
383 3 |
|||
384 3 /// Fe 00 00 00 00 01 00 35 �∪��嗥� 銝漤�閬���萄朖�� |
|||
385 3 /// Fe 01 00 00 c8 02 00 35 20kg �曄蔭20kg �嗅�颲枏� |
|||
386 3 /// Fe 02 00 01 d6 03 00 35 47kg 10銝�3kg�萘�摰鮋���27kg+20kg |
|||
387 3 ////憒����閬��雿齿㦤霈曄蔭 ��閬�銁銝𠹺��箇�銝脣藁 �牐�D4 D隞�”chuandi |
|||
388 3 |
|||
389 3 //AA 02 20 00 03 pIndex kgx10_0 kgx10_1 ocr 撖雷Index(0/1/2)�寡�銵峕嵗����∪��潔蛹kgx10 |
|||
390 3 if(pd485->buf[0] < 3) |
|||
391 3 { |
|||
392 4 ts_weight_SPara.ts_WPoint[pd485->buf[0]].kg = D_2uc_u16(pd485->buf[1],pd485->buf[2]); |
|||
393 4 ts_weight_SPara.ts_WPoint[pd485->buf[0]].adc = tst_weight.adc32;////雿輻鍂敶枏���甅�� |
|||
394 4 |
|||
395 4 // printf5("\r\nset %d: %4x(%6d) %4x(%6d)\r\n",(int)pd->R1, |
|||
396 4 // ts_weight_SPara.ts_WPoint[pd->R1].kg,ts_weight_SPara.ts_WPoint[pd->R1].kg, |
|||
397 4 // ts_weight_SPara.ts_WPoint[pd->R1].adc,ts_weight_SPara.ts_WPoint[pd->R1].adc); |
|||
398 4 D_LED1_REV(); |
|||
399 4 L4_WPoint_out(); |
|||
400 4 D_LED1_REV(); |
|||
401 4 |
|||
402 4 //�坔�IAP |
|||
403 4 L3_R_2_S(); |
|||
404 4 L0_Iap_Program_array(D_EEP_BASE,D_struct2U8(S),D_S_LEN); |
|||
405 4 } |
|||
406 3 |
|||
407 3 break; |
|||
408 3 |
|||
409 3 case 0x30: |
|||
410 3 /// 皜�妟��誘 �𠰴��滨��漤��潔�銝�0�對� �臭誑�私ad銝𢠃�蝵桀��� |
|||
411 3 ////Fe 223344556677 21 |
|||
412 3 //L4_weight_print(); |
|||
413 3 tst_weight.kgx10_zero = tst_weight.kgx10; |
|||
C51 COMPILER V9.54 APP_WEIGHT 09/06/2024 11:24:44 PAGE 8 |
|||
|
|||
414 3 //printf2("\r\n kgx10_zero= %4x(%4d)",tst_weight.kgx10_zero,tst_weight.kgx10_zero); |
|||
415 3 |
|||
416 3 D_LED1_REV(); |
|||
417 3 L4_kgx10zero_out(); |
|||
418 3 D_LED1_REV(); |
|||
419 3 |
|||
420 3 break; |
|||
421 3 |
|||
422 3 case 0x40: |
|||
423 3 ///Fe 11 22 33 44 55 66 23 |
|||
424 3 TTSS_run_times(3) |
|||
425 3 { |
|||
426 4 printf5("\r\n%d: %4x(%4d ) %4x(%6d)\r\n",(int)tst_v.i, |
|||
428 4 ts_weight_SPara.ts_WPoint[tst_v.i].kg,ts_weight_SPara.ts_WPoint[tst_v.i].kg, |
|||
428 4 ts_weight_SPara.ts_WPoint[tst_v.i].adc,ts_weight_SPara.ts_WPoint[tst_v.i].adc); |
|||
429 4 } |
|||
430 3 break; |
|||
431 3 |
|||
432 3 case 0x50: ///霂餃�敶枏�����誩�隡䭾��冽㺭�� |
|||
433 3 ///Fe 223344556677 12 |
|||
434 3 printfs("\r\n "); |
|||
435 3 L4_weight_print(); |
|||
436 3 break; |
|||
437 3 |
|||
438 3 default: |
|||
439 3 printfs(" pp error\r\n "); |
|||
440 3 break; |
|||
441 3 }; |
|||
442 2 } |
|||
443 1 } |
|||
444 #endif |
|||
445 |
|||
446 |
|||
447 void L4_weight_print(void) |
|||
448 { |
|||
449 1 L1_uartD_ushex(ts_adc_samples[0].out1_adc);L1_uartD_uc(' '); |
|||
450 1 L1_uartD_ushex(ts_adc_samples[1].out1_adc);L1_uartD_uc(' '); |
|||
451 1 L1_uartD_ushex(ts_adc_samples[2].out1_adc);L1_uartD_uc(' '); |
|||
452 1 L1_uartD_ushex(ts_adc_samples[3].out1_adc);L1_uartD_uc(' '); |
|||
453 1 |
|||
454 1 /* L1_uartD_uc('|');L1_uartD_uc(' '); |
|||
455 1 L1_uartD_ushex(ts_adc_samples[0].out2_offset);L1_uartD_uc(' ');////靚�㟲�讐宏�誩����� |
|||
456 1 L1_uartD_ushex(ts_adc_samples[1].out2_offset);L1_uartD_uc(' '); |
|||
457 1 L1_uartD_ushex(ts_adc_samples[2].out2_offset);L1_uartD_uc(' '); |
|||
458 1 L1_uartD_ushex(ts_adc_samples[3].out2_offset);L1_uartD_uc(' '); |
|||
459 1 |
|||
460 1 L1_uartD_ushex(ts_adc_samples[0].out5);L1_uartD_uc(' ');////靚�㟲�讐宏�誩����� |
|||
461 1 L1_uartD_ushex(ts_adc_samples[1].out5);L1_uartD_uc(' '); |
|||
462 1 L1_uartD_ushex(ts_adc_samples[2].out5);L1_uartD_uc(' '); |
|||
463 1 L1_uartD_ushex(ts_adc_samples[3].out5);L1_uartD_uc(' '); |
|||
464 1 |
|||
465 1 */ |
|||
466 1 |
|||
467 1 L1_uartD_uc('|');L1_uartD_uc(' '); |
|||
468 1 L1_uartD_ushex((vU16)tst_weight.adc32); L1_uartD_uc(' ');///���餈鞟����� |
|||
469 1 printf2(" (%d)%4x ", tst_weight.kgx10,tst_weight.kgx10); |
|||
470 1 printf2("out (%d)%4x\r\n", tst_weight.kgx10_out,tst_weight.kgx10_out); |
|||
471 1 } |
|||
472 |
|||
473 |
|||
474 |
|||
475 |
|||
C51 COMPILER V9.54 APP_WEIGHT 09/06/2024 11:24:44 PAGE 9 |
|||
|
|||
476 #if 0 |
|||
TS_weight_out_ ts_weight_out; |
|||
void L4_weight_out(void) |
|||
{ |
|||
ts_weight_out.fx = 0x55; |
|||
ts_weight_out.sensor_adc[0]=ts_adc_samples[0].out1_adc; |
|||
ts_weight_out.sensor_adc[1]=ts_adc_samples[1].out1_adc; |
|||
ts_weight_out.sensor_adc[2]=ts_adc_samples[2].out1_adc; |
|||
ts_weight_out.sensor_adc[3]=ts_adc_samples[3].out1_adc; |
|||
ts_weight_out.kgx10_out = tst_weight.kgx10_out; |
|||
ts_weight_out.adc32= tst_weight.adc32;////��甅�潛鍂雿𨀣嵗��𧒄雿輻鍂 |
|||
ts_weight_out.ocr =0x33; |
|||
#if 0 |
|||
ts_weight_out.num = 17; |
|||
#else |
|||
|
|||
ts_weight_out.num = 15; |
|||
#endif |
|||
ts_weight_out.out6= tst_weight.out6; |
|||
L1_uartD_Array((u8 *)&ts_weight_out,ts_weight_out.num); |
|||
|
|||
|
|||
} |
|||
|
|||
#else |
|||
501 |
|||
502 TS_weight_out_ ts_weight_out; |
|||
503 void L4_weight_out(void) |
|||
504 { |
|||
505 1 U8 dnum = 12, total = 18; |
|||
506 1 ts_weight_out.filter = 0xAA; |
|||
507 1 ts_weight_out.slaveId = 0x02; |
|||
508 1 ts_weight_out.cmd = 0x10; |
|||
509 1 ts_weight_out.num[0] = (dnum >> 8) & 0xFF; |
|||
510 1 ts_weight_out.num[1] = dnum & 0xFF; |
|||
511 1 ts_weight_out.sensor_adc[0]=ts_adc_samples[0].out1_adc; |
|||
512 1 ts_weight_out.sensor_adc[1]=ts_adc_samples[1].out1_adc; |
|||
513 1 ts_weight_out.sensor_adc[2]=ts_adc_samples[2].out1_adc; |
|||
514 1 ts_weight_out.sensor_adc[3]=ts_adc_samples[3].out1_adc; |
|||
515 1 ts_weight_out.kgx10_out = tst_weight.kgx10_out; |
|||
516 1 ts_weight_out.adc32= tst_weight.adc32;////��甅�潛鍂雿𨀣嵗��𧒄雿輻鍂 |
|||
517 1 ts_weight_out.ocr =0x33; |
|||
518 1 L1_uartD_Array((u8 *)&ts_weight_out,total); |
|||
519 1 } |
|||
520 |
|||
521 TS_WPoint_out_ ts_wpoint_out; |
|||
522 void L4_WPoint_out(void) |
|||
523 { |
|||
524 1 U8 dnum = 12, total = 18; |
|||
525 1 ts_wpoint_out.filter = 0xAA; |
|||
526 1 ts_wpoint_out.slaveId = 0x02; |
|||
527 1 ts_wpoint_out.cmd = 0x20; |
|||
528 1 ts_wpoint_out.num[0] = (dnum >> 8) & 0xFF; |
|||
529 1 ts_wpoint_out.num[1] = dnum & 0xFF; |
|||
530 1 Lc_buf_from_const_uc(ts_wpoint_out.wpoint, S.weight_SPara.ts_WPoint , sizeof(S.weight_SPara.ts_WPoint)); |
|||
*** WARNING C182 IN LINE 530 OF ..\source\app\app_weight.c: pointer to different objects |
|||
*** WARNING C182 IN LINE 530 OF ..\source\app\app_weight.c: pointer to different objects |
|||
531 1 ts_wpoint_out.ocr =0x33; |
|||
532 1 L1_uartD_Array((u8 *)&ts_wpoint_out,total); |
|||
533 1 } |
|||
534 |
|||
535 |
|||
C51 COMPILER V9.54 APP_WEIGHT 09/06/2024 11:24:44 PAGE 10 |
|||
|
|||
536 TS_Kgx10zero_out_ ts_kgx10zero_out; |
|||
537 void L4_kgx10zero_out(void) |
|||
538 { |
|||
539 1 U8 dnum = 2, total = 8; |
|||
540 1 ts_kgx10zero_out.filter = 0xAA; |
|||
541 1 ts_kgx10zero_out.slaveId = 0x02; |
|||
542 1 ts_kgx10zero_out.cmd = 0x30; |
|||
543 1 ts_kgx10zero_out.num[0] = (dnum >> 8) & 0xFF; |
|||
544 1 ts_kgx10zero_out.num[1] = dnum & 0xFF; |
|||
545 1 ts_kgx10zero_out.kgx10zero[0] = tst_weight.kgx10_zero >> 8 & 0xFF; |
|||
546 1 ts_kgx10zero_out.kgx10zero[1] = tst_weight.kgx10_zero >> 0 & 0xFF; |
|||
547 1 ts_kgx10zero_out.ocr =0x33; |
|||
548 1 L1_uartD_Array((u8 *)&ts_kgx10zero_out,total); |
|||
549 1 } |
|||
550 |
|||
551 #endif |
|||
552 |
|||
553 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 2553 ---- |
|||
CONSTANT SIZE = 96 ---- |
|||
XDATA SIZE = 123 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 3 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,359 @@ |
|||
C51 COMPILER V9.54 ASP_LOWPOWER 09/06/2024 11:24:45 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE ASP_LOWPOWER |
|||
OBJECT MODULE PLACED IN ..\out\asp_lowpower.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\asp\asp_lowpower.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NO |
|||
-INTPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;. |
|||
-.\source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRI |
|||
-NT(..\out\asp_lowpower.lst) TABS(2) OBJECT(..\out\asp_lowpower.obj) |
|||
|
|||
line level source |
|||
|
|||
1 ////////////////////////////////////////////////////////////////////////// |
|||
2 /// COPYRIGHT NOTICE |
|||
3 /// Copyright (c) 2023, 传控科技 |
|||
4 /// All rights reserved. |
|||
5 /// |
|||
6 /// @file asp_gsensor.c |
|||
7 /// @brief asp_gsensor |
|||
8 /// |
|||
9 ///(本文件实现的功能的详述) |
|||
10 /// |
|||
11 |
|||
12 ////20221217_213321 CCmodify new uart struct for road protocol |
|||
13 |
|||
14 #include "msp_uart1.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
15 |
|||
16 #include "msp_UART2.h" |
|||
17 |
|||
18 #include "debug_drv.h" |
|||
19 #include "bsp_config.h" |
|||
20 #include "asp_gsensor.h" |
|||
21 #include "bsp_moto.h" |
|||
22 |
|||
23 #include "asp_move.h" |
|||
24 |
|||
25 #include "asp_lowpower.h" |
|||
26 |
|||
27 #define D_version_main "7.0" |
|||
28 |
|||
29 |
|||
30 |
|||
31 void L0_uart_close(void) |
|||
32 { |
|||
33 1 L0_uart1_str("\r\nuart1 close");/// |
|||
34 1 Lc_delay_ms(20); |
|||
35 1 |
|||
36 1 EA = 0; |
|||
37 1 D_uart1_ES_INT(0); |
|||
38 1 //// D_UART2_ES_INT(0); |
|||
39 1 AUXR = 0; //定时器2开始计时 |
|||
40 1 |
|||
41 1 ET1 = 0; //禁止定时器%d中断 |
|||
42 1 TR1 = 0; //定时器1开始计时 |
|||
43 1 } |
|||
44 void L0_uart1_open(void) |
|||
45 {// |
|||
46 1 L0_uart1_buf_init();//串口初始化// |
|||
47 1 |
|||
48 1 EA = 1; |
|||
49 1 L0_uart1_str("\r\nuart1 open"); |
|||
50 1 } |
|||
51 void L0_uart2_open(void) |
|||
C51 COMPILER V9.54 ASP_LOWPOWER 09/06/2024 11:24:45 PAGE 2 |
|||
|
|||
52 {// |
|||
53 1 // L0_uart2_buf_init(); |
|||
54 1 |
|||
55 1 EA = 1; |
|||
56 1 L0_uart1_str("\r\nuart2 open"); |
|||
57 1 } |
|||
58 |
|||
59 |
|||
60 |
|||
61 void L0_SetWakeUpTime(u16 SetTime) |
|||
62 { |
|||
63 1 SetTime = (U16)((32768UL * (U32)SetTime) / 16000); //重装值 = Fwkt/16 * SetTime/1000 = Fwkt * SetT |
|||
-ime / 16000 |
|||
64 1 if(SetTime > 0) SetTime--; |
|||
65 1 WKTCL = (u8)SetTime; |
|||
66 1 WKTCH = (u8)(SetTime >> 8) | 0x80; |
|||
67 1 } |
|||
68 |
|||
69 |
|||
70 void L0_main_lowp_set(void) |
|||
71 {// |
|||
72 1 L0_uart_close(); |
|||
73 1 L0_SetWakeUpTime(10000);/// |
|||
74 1 BITN_1(P_SW2 ,BITN7);///P_SW2|=0x80; |
|||
75 1 ////PCON = 0; |
|||
76 1 |
|||
77 1 |
|||
78 1 ///0:禁止端口内部的 4.1K 上拉电阻 |
|||
79 1 ///1:使能端口内部的 4.1K 上拉电阻 |
|||
80 1 P0PU = 0; |
|||
81 1 P1PU = 0; |
|||
82 1 P2PU = 0; |
|||
83 1 P3PU = 0; |
|||
84 1 P4PU = 0; |
|||
85 1 P5PU = 0; |
|||
86 1 |
|||
87 1 |
|||
88 1 ///0:使能端口的施密特触发功能。(上电复位后默认使能施密特触发) |
|||
89 1 P0NCS = 0xff; |
|||
90 1 P1NCS = 0xff; |
|||
91 1 P2NCS = 0xff; |
|||
92 1 P3NCS = 0xff; |
|||
93 1 P4NCS = 0xff; |
|||
94 1 P5NCS = 0xff; |
|||
95 1 |
|||
96 1 |
|||
97 1 |
|||
98 1 |
|||
99 1 |
|||
100 1 ////1:电平转换速度慢,相应的上下冲比较小 |
|||
101 1 P0SR =0xff; |
|||
102 1 P1SR =0xff; |
|||
103 1 P2SR =0xff; |
|||
104 1 P3SR =0xff; |
|||
105 1 P4SR =0xff; |
|||
106 1 P5SR =0xff; |
|||
107 1 |
|||
108 1 ///1:一般驱动能力 |
|||
109 1 P0DR =0xff; |
|||
110 1 P1DR =0xff; |
|||
111 1 P2DR =0xff; |
|||
112 1 P3DR =0xff; |
|||
C51 COMPILER V9.54 ASP_LOWPOWER 09/06/2024 11:24:45 PAGE 3 |
|||
|
|||
113 1 P4DR =0xff; |
|||
114 1 P5DR =0xff; |
|||
115 1 |
|||
116 1 ///0:禁止数字信号输入。若 I/O 被当作比较器输入口、ADC 输入口、触摸按键输入 |
|||
-口或者为外部晶 振接入脚等模拟口时, |
|||
117 1 ///进入时钟停振模式前,必须设置为 0,否则会有额外的耗电。 |
|||
118 1 ///1:使能数字信号输入。若 I/O 被当作数字口时,必须设置为 1,否 MCU 无法读取 |
|||
-外部端口的电平。 |
|||
119 1 P0IE =0; |
|||
120 1 P1IE =0; |
|||
121 1 P2IE =0; |
|||
122 1 P3IE =0; |
|||
123 1 P4IE =0; |
|||
124 1 P5IE =0; |
|||
125 1 |
|||
126 1 BITN_1(P_SW2 ,BITN7);USBCON = 0; |
|||
127 1 ////USBCON = 0; |
|||
128 1 ///USBCON = 0x80; |
|||
129 1 |
|||
130 1 ADC_CONTR = 0; ////建议进入空闲模式和掉电模式前将 ADC 电源关闭,以降低功耗 |
|||
131 1 RSTCFG = 0;//没有变化43ua 41ua 低压复位控制位 |
|||
132 1 |
|||
133 1 D_HighR_P0_ALL(); |
|||
134 1 D_HighR_P1_ALL(); |
|||
135 1 D_HighR_P2_ALL(); |
|||
136 1 D_HighR_P3_ALL(); |
|||
137 1 D_HighR_P4_ALL(); |
|||
138 1 D_HighR_P5_ALL();/*********** |
|||
139 1 |
|||
140 1 P3 = 0; |
|||
141 1 |
|||
142 1 |
|||
143 1 P0 = 0; |
|||
144 1 P1 = 0; |
|||
145 1 P2 = 0; |
|||
146 1 P4 = 0; |
|||
147 1 P5 = 0; |
|||
148 1 |
|||
149 1 |
|||
150 1 *********/ |
|||
151 1 |
|||
152 1 P0 = 0xff; |
|||
153 1 P1 = 0xff; |
|||
154 1 P2 = 0xff; |
|||
155 1 P4 = 0xff; |
|||
156 1 P5 = 0xff; |
|||
157 1 |
|||
158 1 D_stdIO_P4(BITN1); |
|||
159 1 ///D_OpenD_P4(BITN1); |
|||
160 1 D_P41_ON(); |
|||
161 1 |
|||
162 1 |
|||
163 1 /***** |
|||
164 1 |
|||
165 1 // XOSCCR =0; |
|||
166 1 ///HIRCCR = 0; |
|||
167 1 IRC32KCR = 0x80; //启动内部32K IRC |
|||
168 1 while (!(IRC32KCR & 1)); //等待时钟稳定 |
|||
169 1 CLKDIV = 0x00; //时钟不分频 |
|||
170 1 CLKSEL = 0x03; //选择内部32K |
|||
171 1 P_SW2 = 0x00; |
|||
172 1 |
|||
C51 COMPILER V9.54 ASP_LOWPOWER 09/06/2024 11:24:45 PAGE 4 |
|||
|
|||
173 1 P45 |
|||
174 1 P27 |
|||
175 1 P26 |
|||
176 1 P44 |
|||
177 1 P43 |
|||
178 1 p13 |
|||
179 1 P23 switch2 限位开关 |
|||
180 1 P40 SWITCH1 限位开关 |
|||
181 1 |
|||
182 1 P41 SW_CAL 电源分压电阻 =1 关闭 |
|||
183 1 *******/ |
|||
184 1 |
|||
185 1 } |
|||
186 |
|||
187 /* |
|||
188 |
|||
189 void L2_main_version(u8 d) |
|||
190 { |
|||
191 |
|||
192 printfs(D_version_main); |
|||
193 L1_uartD_uc(d); |
|||
194 printfs(D_BOARD_NAME); |
|||
195 printfs(__DATE__); |
|||
196 printfs(__TIME__); |
|||
197 |
|||
198 |
|||
199 } |
|||
200 */ |
|||
201 |
|||
202 |
|||
203 void L1_main_lowp_test(void) |
|||
204 {// |
|||
205 1 |
|||
206 1 while(9) |
|||
207 1 { |
|||
208 2 /// L2_gsensor_init(0); |
|||
209 2 L0_main_lowp_set(); |
|||
210 2 _nop_(); |
|||
211 2 _nop_(); |
|||
212 2 |
|||
213 2 //// L0_uart_close(); |
|||
214 2 |
|||
215 2 PCON = 0x02; ////2222 //MCU进入掉电模式 |
|||
216 2 ///D_LPCD_INT_CLOSE(); 对掉电唤醒后有一个中断进来没有效果 |
|||
217 2 _nop_(); |
|||
218 2 _nop_(); _nop_(); |
|||
219 2 _nop_(); _nop_(); |
|||
220 2 _nop_(); |
|||
221 2 |
|||
222 2 L0_uart1_open(); |
|||
223 2 L0_uart2_open(); |
|||
224 2 /// L2_main_version(0); |
|||
225 2 |
|||
226 2 /// L2_gsensor_init(1); |
|||
227 2 } |
|||
228 1 |
|||
229 1 } |
|||
230 |
|||
231 |
|||
232 void L3_test_lp(u8 filter)//// ON listen function |
|||
233 { |
|||
234 1 if(filter == pd->filter) |
|||
C51 COMPILER V9.54 ASP_LOWPOWER 09/06/2024 11:24:45 PAGE 5 |
|||
|
|||
235 1 {///filter num d1 d2 d3 ....dn |
|||
236 2 //// FD 08 11 22 33 44 55 66 77 88 |
|||
237 2 ///printf("\r\nDdebug:F1 R1 R2 R3 R4 ocr FD->"); |
|||
238 2 switch (pd->ocr) |
|||
239 2 { |
|||
240 3 case 0x22: ///'s' |
|||
241 3 ///FX R1 R2 R3 R4 ocr |
|||
242 3 ///F1 m R2 R3 R4 22 |
|||
243 3 |
|||
244 3 // L0_moto_run(pd->R1); |
|||
245 3 printf1("22: moto=(%X)",(int)pd->R1); |
|||
246 3 break; |
|||
247 3 |
|||
248 3 default: |
|||
249 3 printfs(" pp error\r\n "); |
|||
250 3 |
|||
251 3 break; |
|||
252 3 }; |
|||
253 2 |
|||
254 2 printfs("333"); |
|||
255 2 } |
|||
256 1 } |
|||
257 /*** |
|||
258 |
|||
259 case 0x23: ///'s' |
|||
260 ///FX R1 R2 R3 R4 ocr |
|||
261 ///F1 m R2 R3 R4 22 |
|||
262 if(pd->R1) |
|||
263 { |
|||
264 D_BUZ_OPEN(); |
|||
265 |
|||
266 }else |
|||
267 { |
|||
268 D_BUZ_OFF(); |
|||
269 |
|||
270 } |
|||
271 printf("22: moto=(%X)",(int)pd->R1); |
|||
272 break; |
|||
273 |
|||
274 |
|||
275 case 0x24: ///'s' |
|||
276 ///F1 m 23 56 64 22 |
|||
277 ts_task_move.loc_angle[0] = pd->R1; |
|||
278 ts_task_move.loc_angle[1] = pd->R2; |
|||
279 ts_task_move.loc_angle[2] = pd->R3; |
|||
280 ts_task_move.loc_angle[3] = pd->R4; |
|||
281 L3_task_s_go(ts_task_move,D_task_move_init); |
|||
282 printf("move: %d %d %d %d )",(int)pd->R1,(int)pd->R2,(int)pd->R3,(int)pd->R4); |
|||
283 break; |
|||
284 case 0x25: ///'s' |
|||
285 ///F1 m 23 56 64 22 |
|||
286 ts_task_move.loc_angle[0] = pd->R1; |
|||
287 ts_task_move.loc_angle[1] = pd->R2; |
|||
288 ts_task_move.loc_angle[2] = pd->R3; |
|||
289 ts_task_move.loc_angle[3] = pd->R4; |
|||
290 L3_task_s_go(ts_task_move,D_task_move_init); |
|||
291 ts_task_move.loc_now =D_2uc_u16(pd->R1, pd->R2); |
|||
292 printf("move: loc_now %XH %d )",(int)ts_task_move.loc_now,(int)ts_task_move.loc_now); |
|||
293 break; |
|||
294 |
|||
295 case 0x26: ///'s' |
|||
296 ///F1 m 23 56 64 22 |
|||
C51 COMPILER V9.54 ASP_LOWPOWER 09/06/2024 11:24:45 PAGE 6 |
|||
|
|||
297 ts_task_move.loc_angle[0] = pd->R1; |
|||
298 if(pd->R1) |
|||
299 { |
|||
300 ts_task_move.loc_now ++; |
|||
301 } |
|||
302 else |
|||
303 { |
|||
304 ts_task_move.loc_now --; |
|||
305 } |
|||
306 printf("move: loc_now %XH %d ->%d )",(int)ts_task_move.loc_now,(int)ts_task_move.loc_now,(int)ts_task_ |
|||
-move.loc_want); |
|||
307 break; |
|||
308 |
|||
309 |
|||
310 |
|||
311 |
|||
312 ****/ |
|||
313 |
|||
314 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 590 ---- |
|||
CONSTANT SIZE = 71 ---- |
|||
XDATA SIZE = 3 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,789 @@ |
|||
C51 COMPILER V9.54 ASP_SCHAIN 09/06/2024 11:24:45 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE ASP_SCHAIN |
|||
OBJECT MODULE PLACED IN ..\out\asp_schain.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\asp\asp_schain.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOIN |
|||
-TPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;..\ |
|||
-source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRINT |
|||
-(..\out\asp_schain.lst) TABS(2) OBJECT(..\out\asp_schain.obj) |
|||
|
|||
line level source |
|||
|
|||
1 //////////////////////////////////////////////////////////////////////////// |
|||
2 ///@copyright Copyright (c) 2018, 莨�謗ァ遘第橿 All rights reserved. |
|||
3 ///------------------------------------------------------------------------- |
|||
4 /// @file bsp_drv.c |
|||
5 /// @brief bsp @ driver config |
|||
6 ///------------------------------------------------------------------------- |
|||
7 /// @version 1.0 |
|||
8 /// @author CC |
|||
9 /// @date 20180331 |
|||
10 /// @note cc_AS_stc02 |
|||
11 ////////////////////////////////////////////////////////////////////////////// |
|||
12 |
|||
13 #include "asp_schain.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
14 ///#include "common.h" |
|||
15 #include "msp_uart1.h" |
|||
16 #include "bsp_cs1232.h" |
|||
17 #include "debug_drv.h" |
|||
18 |
|||
19 #define D_sensor_up_down 1/// 遘ー驥堺シ�諢溷勣荳贋ク矩復蜒城画叫 |
|||
20 |
|||
21 //============================================= |
|||
22 ///謇灘シadc霎灘�逶第而��0kg逧�ッ戊ッ墓ッ丈ク霍ッ逧�セ灘�蟆ア譏ッ 0kg_out1_adc FF77 FFB3 00A4 FFEA |
|||
23 #define D_ch1_0kg_out1_adc (vS16)0xFF77 |
|||
24 #define D_ch2_0kg_out1_adc (vS16)0xFFB3 |
|||
25 #define D_ch3_0kg_out1_adc (vS16)0x00A4 |
|||
26 #define D_ch4_0kg_out1_adc (vS16)0xFFEA |
|||
27 /////髴隕�夊ソ�オ玖ッ暮�鄂ョ 螯よ棡荳榊惠諢冗ャヲ蜿キ菴� 蜿ッ莉・莨伜喧 diao |
|||
28 #define D_ch1_out1_offset (vS16)(D_ch1_wantline-D_ch1_0kg_out1_adc) |
|||
29 #define D_ch2_out1_offset (vS16)(D_ch2_wantline-D_ch2_0kg_out1_adc) |
|||
30 #define D_ch3_out1_offset (vS16)(D_ch3_wantline-D_ch3_0kg_out1_adc) |
|||
31 #define D_ch4_out1_offset (vS16)(D_ch4_wantline-D_ch4_0kg_out1_adc) |
|||
32 |
|||
33 #define D_ch1_wantline (vS16)0x18da |
|||
34 #define D_ch2_wantline (vS16)0x18da |
|||
35 #define D_ch3_wantline (vS16)0x18da |
|||
36 #define D_ch4_wantline (vS16)0x18da |
|||
37 |
|||
38 ///cc 2023/04/06--7:39:40 豈丈クェ莨�諢溷勣謾セ鄂ョ10kg |
|||
39 ///蠎泌序迚�シ�諢溷勣10kg逧�dc蛟シ�碁画叫霑吩クェ譏ッ蝗�荳コ10kg螳ケ譏楢執蠕� 蟷カ荳疲怏荳螳夂噪驥埼㍼蟾ョ |
|||
40 ///霑吩クェ蛟シ髴隕∝ョ樣ェ瑚執蠕� |
|||
41 #define D_ch1_10kg_out1_adc (vS16)0x0584 |
|||
42 #define D_ch2_10kg_out1_adc (vS16)0x05DE |
|||
43 #define D_ch3_10kg_out1_adc (vS16)0x0731 |
|||
44 #define D_ch4_10kg_out1_adc (vS16)0x066C |
|||
45 |
|||
46 #define D_Rsensor_per_10kg ((vS16)10) |
|||
47 #define D_adc_per_kg ((D_ch1_10kg_out1_adc-D_ch1_0kg_out1_adc)/D_Rsensor_per_10kg) |
|||
48 #define D_adc_zeroout (10*D_adc_per_kg) ///髮カ轤ケ驛ス諡牙芦10kg |
|||
49 |
|||
50 TS_adc_SPara_ TS_adc_SPara[D_ADC_CHANNEL_NUM]= |
|||
51 { |
|||
C51 COMPILER V9.54 ASP_SCHAIN 09/06/2024 11:24:45 PAGE 2 |
|||
|
|||
52 |
|||
53 'A',//0 1 u8 rev1; |
|||
54 0,//2 3 u8 ch; |
|||
55 D_ch1_wantline,///vU16 wantline; ///蝗コ螳夂噪遑ャ莉カ蜿よ焚�井セ句ヲらァー驥堺クュ逧�0kg�悟視蜉帑クュ逧�0蜴句鴨� |
|||
-画慮諠ウ隕∬セ灘�逧�dc逧�シ |
|||
56 D_ch1_out1_offset,//3 4 vU16 offset; |
|||
57 2,//4 5 vU8 ashift; ///遘サ蜉ィ逧�ス肴焚 1-2 2-4 3-8 4-16 |
|||
58 5,//5 6 vU8 bshift; ///遘サ蜉ィ逧�ス肴焚 1-2 2-4 3-8 4-16 |
|||
59 |
|||
60 'A',//0 1 u8 rev1; |
|||
61 1,//2 3 u8 ch; |
|||
62 D_ch1_wantline,///vU16 wantline; ///蝗コ螳夂噪遑ャ莉カ蜿よ焚�井セ句ヲらァー驥堺クュ逧�0kg�悟視蜉帑クュ逧�0蜴句鴨� |
|||
-画慮諠ウ隕∬セ灘�逧�dc逧�シ |
|||
63 D_ch2_out1_offset,//3 4 vU16 offset; |
|||
64 2,//4 5 vU8 ashift; ///遘サ蜉ィ逧�ス肴焚 1-2 2-4 3-8 4-16 |
|||
65 5,//5 6 vU8 bshift; ///遘サ蜉ィ逧�ス肴焚 1-2 2-4 3-8 4-16 |
|||
66 |
|||
67 'A',//0 1 u8 rev1; |
|||
68 2,//2 3 u8 ch; |
|||
69 D_ch1_wantline,///vU16 wantline; ///蝗コ螳夂噪遑ャ莉カ蜿よ焚�井セ句ヲらァー驥堺クュ逧�0kg�悟視蜉帑クュ逧�0蜴句鴨� |
|||
-画慮諠ウ隕∬セ灘�逧�dc逧�シ |
|||
70 D_ch3_out1_offset,//3 4 vU16 offset; |
|||
71 2,//4 5 vU8 ashift; ///遘サ蜉ィ逧�ス肴焚 1-2 2-4 3-8 4-16 |
|||
72 5,//5 6 vU8 bshift; ///遘サ蜉ィ逧�ス肴焚 1-2 2-4 3-8 4-16 |
|||
73 |
|||
74 |
|||
75 'A',//0 1 u8 rev1; |
|||
76 3,//2 3 u8 ch; |
|||
77 D_ch1_wantline,///vU16 wantline; ///蝗コ螳夂噪遑ャ莉カ蜿よ焚�井セ句ヲらァー驥堺クュ逧�0kg�悟視蜉帑クュ逧�0蜴句鴨� |
|||
-画慮諠ウ隕∬セ灘�逧�dc逧�シ |
|||
78 D_ch4_out1_offset,//3 4 vU16 offset; |
|||
79 2,//4 5 vU8 ashift; ///遘サ蜉ィ逧�ス肴焚 1-2 2-4 3-8 4-16 |
|||
80 5//5 6 vU8 bshift; ///遘サ蜉ィ逧�ス肴焚 1-2 2-4 3-8 4-16 |
|||
81 |
|||
82 |
|||
83 }; |
|||
84 |
|||
85 |
|||
86 TS_task_adc_sample ts_adc_samples[D_ADC_CHANNEL_NUM]; |
|||
87 |
|||
88 //ch譏ッ0123�御サ」陦ィ4騾夐% |
|||
89 void L2_task_adc_init(U8 ch) |
|||
90 { |
|||
91 1 //騾夐%驥�寔莉サ蜉。蛻晏ァ句喧 |
|||
92 1 L1_task_reg_clear(&ts_adc_samples[ch].task); |
|||
93 1 L3_task_s_go(ts_adc_samples[ch],D_task_init); |
|||
94 1 |
|||
95 1 |
|||
96 1 ts_adc_samples[ch].pSPara = &TS_adc_SPara[ch]; |
|||
97 1 ts_adc_samples[ch].firstRun = 1; |
|||
98 1 |
|||
99 1 |
|||
100 1 } |
|||
101 |
|||
102 //ADC Channel 驥��キ莉サ蜉。 |
|||
103 #define D_task_ADC_CHx_SAMPLE_JITTER_START_SAMPLE 0x53 |
|||
104 #define D_task_ADC_CHx_JITTER 0x63 |
|||
105 #define D_task_ADC_CHx_PIANYI 0x93 |
|||
106 #define D_task_ADC_CHx_JITTER2 0x83 |
|||
107 #define D_task_ADC_CHx_despiking_shift 0x94 |
|||
108 #define D_task_ADC_CHx_SAMPLE_WAIT_LOW 0x73 |
|||
109 #define D_task_ADC_CHx_SAMPLE_READ 0x54 |
|||
C51 COMPILER V9.54 ASP_SCHAIN 09/06/2024 11:24:45 PAGE 3 |
|||
|
|||
110 #define D_task_ADC_CHx_SAMPLE_OUT 0x55 |
|||
111 #define D_task_ADC_CHx_SHIFTFILTER 0x56 |
|||
112 #define D_task_ADC_CHx_SHIFTFILTER2 0x57 |
|||
113 #define D_ADC_JITTER_zero 22///霑伜桁蜷ォ蟒コ遶区慮髣エ 閾ウ蟆�9荳ェ |
|||
114 #define D_ADC_JITTER_FINISH 12///霑伜桁蜷ォ蟒コ遶区慮髣エ 閾ウ蟆�9荳ェ |
|||
115 |
|||
116 /******** |
|||
117 80hZ |
|||
118 1000ms/80= 12.5ms/point |
|||
119 ushex send = 4Bytes+blank = 5Byte; |
|||
120 115200 0.1ms/Byte |
|||
121 謇莉・蜿鷹�5Bytes 豸郁�0.5ms 蜿鷹∝屁蛻� 豸郁�2ms 邉サ扈溯カウ螟溷桃蠎� |
|||
122 |
|||
123 *******/ |
|||
124 |
|||
125 |
|||
126 |
|||
127 S16 L3_out_tran(vU32 rdata) |
|||
128 { |
|||
129 1 S16 t16; |
|||
130 1 /// 24bits 3Bytes |
|||
131 1 rdata >>= 8; |
|||
132 1 t16 = rdata; |
|||
133 1 |
|||
134 1 #if (D_sensor_up_down) |
|||
135 1 t16 *= -1; |
|||
136 1 #else |
|||
///t16 *= -1; |
|||
#endif |
|||
139 1 return t16; |
|||
140 1 } |
|||
141 |
|||
142 vU16 L3_adc_out_offset(vU16 offset,vU16 t16) |
|||
143 { |
|||
144 1 vU16 out; |
|||
145 1 |
|||
146 1 /// L0_uart0_ushex(t16); L0_uart0_uc(' '); |
|||
147 1 if(t16 & 0x8000) //譛鬮倅ス堺クコ1��<0蛻� |
|||
148 1 { |
|||
149 2 t16 = 0xffFF - t16;///霓ャ蜿倅クコ豁」謨ー |
|||
150 2 ///*d = D_ADC_OFFSET - t16; |
|||
151 2 out = offset - t16; |
|||
152 2 // L0_uart0_uc('$'); L0_uart0_ushex(ts_adc_samples[ch].offset);L0_uart0_uc(' '); |
|||
153 2 }else |
|||
154 1 { |
|||
155 2 out = t16 + offset; |
|||
156 2 } |
|||
157 1 // L0_uart0_ushex(out);L0_uart0_uc(' '); L0_uart0_uc('R');L0_uart0_0d0a(); |
|||
158 1 return out; |
|||
159 1 } |
|||
160 |
|||
161 |
|||
162 /* |
|||
163 |
|||
164 adcval adc驥��キ蛟シ |
|||
165 ^ |
|||
166 | |
|||
167 | --.-------------.-------------.------------.---------wantline |
|||
168 | . . . . |
|||
169 | . . offset3 . |
|||
170 | . . . . |
|||
171 | . . .ch3.adc . |
|||
C51 COMPILER V9.54 ASP_SCHAIN 09/06/2024 11:24:45 PAGE 4 |
|||
|
|||
172 | offset1 offset2 . |
|||
173 | . . offset4 |
|||
174 ---0---.-------------.--------------------------.------------ |
|||
175 | . .ch2.adc . |
|||
176 | . . |
|||
177 | ch1.adc . |
|||
178 | . |
|||
179 | ch3.adc. |
|||
180 |
|||
181 .逧�焚驥乗�鬮伜コヲ蟆ア譏ッoffset |
|||
182 adc譛画ュ」謨ー蜥瑚エ滓焚 |
|||
183 |
|||
184 |
|||
185 */ |
|||
186 vU16 L3_adc_get_offset(vU16 wantline,vU16 adcv) |
|||
187 { |
|||
188 1 vU16 out; |
|||
189 1 |
|||
190 1 /// L0_uart0_ushex(t16); L0_uart0_uc(' '); |
|||
191 1 if(adcv & 0x8000) //譛鬮倅ス堺クコ1��<0蛻� |
|||
192 1 { |
|||
193 2 out = 0xffFF - adcv;///霓ャ蜿倅クコ豁」謨ー |
|||
194 2 out += wantline; |
|||
195 2 }else |
|||
196 1 { |
|||
197 2 out = wantline - adcv; |
|||
198 2 } |
|||
199 1 return out; |
|||
200 1 } |
|||
201 |
|||
202 /* |
|||
203 ///cc 2023/04/06--6:34:10 |
|||
204 髓亥ッケ隘ソ螳画婿迚�シ�諢溷勣 |
|||
205 adc |
|||
206 hex dec kg adc/kg |
|||
207 68F 1679 10 168 |
|||
208 |
|||
209 4196 16790 100 |
|||
210 -------------void L2_task_adc_sample(TS_TASK_ADC_SAMPLE *s)---------- |
|||
211 |
|||
212 s->out1_adc = L3_out_tran(s->out0); |
|||
213 ############ |
|||
214 |
|||
215 s->out2_offset = L3_out_offset(s->ch,s->out1_adc); |
|||
216 ############ |
|||
217 |
|||
218 Lc_despiking_shift3_U16(s->outm);////驥��キ蜷手ソ幄。悟炎蟲ー |
|||
219 s->out3_peak = s->outm[1]; |
|||
220 ############ |
|||
221 |
|||
222 s->ts_SAa.out4_shift = (vU16)s->ts_SAa.average; from s->out3_peak |
|||
223 |
|||
224 s->ts_SAb.out4_shift = (vU16)s->ts_SAb.average;from s->out3_peak |
|||
225 |
|||
226 ----------void L3_task_weight_handler(TS_TASK_weight_ *s)----------------- |
|||
227 |
|||
228 |
|||
229 ts_adc_samples[3].out5 = ts_adc_samples[3].ts_SAb.out4_shift; |
|||
230 |
|||
231 ############ |
|||
232 |
|||
233 ////蝗帑クェ莨�諢溷勣逶ク蜉�蜷主ケウ蝮� |
|||
C51 COMPILER V9.54 ASP_SCHAIN 09/06/2024 11:24:45 PAGE 5 |
|||
|
|||
234 tst_weight.sum32 = ts_adc_samples[0].out5; |
|||
235 tst_weight.sum32 += ts_adc_samples[1].out5; |
|||
236 tst_weight.sum32 += ts_adc_samples[2].out5; |
|||
237 tst_weight.sum32 += ts_adc_samples[3].out5; |
|||
238 |
|||
239 tst_weight.out6 = tst_weight.sum32 >>2; |
|||
240 ############ |
|||
241 tst_weight.adc32 = tst_weight.out6; |
|||
242 L3_task_weight_cal(); |
|||
243 |
|||
244 荳顔鳩逧�慮蛟呎怏蜃�遘咲憾諤� |
|||
245 1 譛我ココ |
|||
246 2 譛臥黄菴� |
|||
247 3 譌�莠コ |
|||
248 蜃コ蜴ょソ�、�噪謫堺ス懶シ� |
|||
249 1�梧イ。譛蛾㍾迚ゥ貂�峺�梧焚謐ョ蜀吝�遞句コ擾シ� |
|||
250 蜃コ蜴よ滑adc逧�シ驛ス蛛冗ァサ蛻ー 10kg/200kg 螯よ棡譌カ蝓コ譛ャ譌カ1/20蛛冗ァサ |
|||
251 荵溷ーア譏ッ蜃コ蜴よ慮莨�諢溷勣逧�シ蝓コ譛ャ荳譚。郤ソ |
|||
252 2�御サ・蜷惹ク顔鳩譌カ 謌冶�㍾譁ー蜷ッ蜉ィ譌カ 菴惹コ惹ク螳夐㍾驥丞ーア貂�峺 |
|||
253 3�梧焔蟾・蜿ッ莉・貂�峺 |
|||
254 |
|||
255 |
|||
256 --------------------------- |
|||
257 |
|||
258 蝗帑クェ莨�諢溷勣 蝨ィ豐。譛蛾㍾驥� 蜃コ蜴ら噪譌カ蛟咎怙隕∵級謌仙¥遘サ |
|||
259 邂蜊慕噪譁ケ蠑� 蝗帑クェ莨�諢溷勣邏ッ蜉�逧�ィ。蠑� |
|||
260 |
|||
261 */ |
|||
262 |
|||
263 |
|||
264 void L2_task_adc_sample(TS_task_adc_sample *s) |
|||
265 { |
|||
266 1 TTSS_Task_init(): |
|||
267 2 ////cc 蛻晏ァ句喧蟆ス驥乗叛蛻ー霑咎㈹�御ク崎ヲ∵叛蛻ーmain 窶披琶nit荳ュ�悟㍼蟆醍ウサ扈溷星蜉ィ逧�慮髣エ |
|||
268 2 s->jitter_start = 0; s->ok = 0; |
|||
269 2 ////printf("\r\nADC_SAMPLE\r\n"); |
|||
270 2 /* |
|||
271 2 printf5("\r\nADC_SAMPLE init ch(%d) wantline:%d(%4X) offset %d(%4X)", (int)s->pSPara->ch, |
|||
272 2 ts_adc_samples[s->pSPara->ch].pSPara->wantline,ts_adc_samples[s->pSPara->ch].pSPara->wantline, |
|||
273 2 ts_adc_samples[s->pSPara->ch].pSPara->offset,ts_adc_samples[s->pSPara->ch].pSPara->offset); |
|||
274 2 */ |
|||
275 2 |
|||
276 2 printf1("\r\nADC_SAMPLE init ch(%d) ", (int)s->pSPara->ch); |
|||
277 2 L1_uartD_waitFree() ; |
|||
278 2 |
|||
279 2 s->firstRun = 1; |
|||
280 2 |
|||
281 2 /// L2_task_go(D_task_ADC_CHx_SAMPLE_READ); |
|||
282 2 L2_task_go_Tdelay(D_task_ADC_CHx_SAMPLE_READ,D_Tdelay_Msec(1500)); //蟒カ譌カ15ms |
|||
283 2 |
|||
284 2 TTSS_Task_step(D_task_ADC_CHx_SAMPLE_READ): |
|||
285 2 if(0 == L0_adc_DOUT_AT(s->pSPara->ch)) |
|||
286 2 {////L0_uart0_uc('X');L0_uart0_uc(0x30+s->ch); |
|||
287 3 //// L0_ADS1231_readCH2(s->ch,&(s->out1)); //// |
|||
288 3 L0_ADS1231_readCH2(s->pSPara->ch,&(s->out0)); |
|||
289 3 L2_task_go(D_task_ADC_CHx_PIANYI); |
|||
290 3 } |
|||
291 2 TTSS_Task_step(D_task_ADC_CHx_PIANYI): |
|||
292 2 s->out1_adc = L3_out_tran(s->out0);///////cc 2023/04/06--6:33:46 譛蜴溷ァ狗噪霎灘� |
|||
293 2 s->out2_offset = L3_adc_out_offset(s->pSPara->offset,s->out1_adc); |
|||
294 2 L2_task_go(D_task_ADC_CHx_despiking_shift); |
|||
295 2 TTSS_Task_step(D_task_ADC_CHx_despiking_shift): |
|||
C51 COMPILER V9.54 ASP_SCHAIN 09/06/2024 11:24:45 PAGE 6 |
|||
|
|||
296 2 s->outm[0] = s->outm[1]; |
|||
297 2 s->outm[1] = s->outm[2]; |
|||
298 2 s->outm[2] = s->out2_offset; |
|||
299 2 |
|||
300 2 Lc_despiking_shift3_U16(s->outm);////驥��キ蜷手ソ幄。悟炎蟲ー |
|||
301 2 s->out3_Peak = s->outm[1]; |
|||
302 2 |
|||
303 2 /// s->pSPara->offset = s->pSPara->wantline - s->out3_Peak; |
|||
304 2 |
|||
305 2 if(s->firstRun)/// |
|||
306 2 {////隨ャ荳谺。荳顔鳩 |
|||
307 3 L2_task_go(D_task_ADC_CHx_JITTER2); |
|||
308 3 }else |
|||
309 2 { |
|||
310 3 L2_task_go(D_task_ADC_CHx_SHIFTFILTER); |
|||
311 3 } |
|||
312 2 TTSS_Task_step(D_task_ADC_CHx_JITTER2): |
|||
313 2 |
|||
314 2 |
|||
315 2 if(s->jitter_start < D_ADC_JITTER_FINISH) |
|||
316 2 { |
|||
317 3 ///printfs("\r\n D_ADC_JITTER_zero---"); |
|||
318 3 L1_uartD_uc('9'); |
|||
319 3 s->jitter_start ++; |
|||
320 3 L2_task_go(D_task_ADC_CHx_SAMPLE_READ); |
|||
321 3 }else |
|||
322 2 { |
|||
323 3 /// 荳顔鳩逧�慮蛟吝ヲよ棡豐。譛蛾㍾驥丞庄莉・霑呎�キ �悟ヲよ棡譛牙造�滂シ� |
|||
324 3 ///L3_out_zero(s->ch);///邂怜�蠖灘燕逧�¥遘サ驥� 譖エ譁ーoffset |
|||
325 3 |
|||
326 3 s->pSPara->offset = L3_adc_get_offset(s->pSPara->wantline,s->out1_adc);///蠢�。サout1_adc 蝗�荳コ蛛冗ァサ譏 |
|||
-ッ髓亥ッケ out1_adc逧� |
|||
327 3 /// s->pSPara->offset = s->pSPara->wantline - s->out3_Peak; |
|||
328 3 |
|||
329 3 printfs("\r\n D_ADC_JITTER_zero---"); |
|||
330 3 ///printf3("\r\n ch(%d) out3_Peak %5d %5X ",(int)s->pSPara->ch,s->out3_Peak,s->out3_Peak ); |
|||
331 3 |
|||
332 3 printf4("\r\n ch(%d) adc=%5d ->offset %5d wantline %5d ",(int)s->pSPara->ch,s->out1_adc,s->pSPara->offs |
|||
-et,s->pSPara->wantline); |
|||
333 3 printf4("\r\n ch(%d) adc=%5X ->offset %5X wantline %5X ",(int)s->pSPara->ch,s->out1_adc,s->pSPara->offs |
|||
-et,s->pSPara->wantline); |
|||
334 3 |
|||
335 3 s->ts_SAa.average = (vU32)s->out3_Peak;/// shiftaverage_a霍ッ蛻晏ァ句喧 |
|||
336 3 s->ts_SAa.sum = s->ts_SAa.average << s->pSPara->ashift; |
|||
337 3 /** |
|||
338 3 s->ts_SAb.average = (vU32)s->out3_Peak;/// shiftaverage_b霍ッ蛻晏ァ句喧 |
|||
339 3 s->ts_SAb.sum = s->ts_SAb.average << s->pSPara->bshift; |
|||
340 3 */ |
|||
341 3 |
|||
342 3 s->firstRun = 0; |
|||
343 3 ///蛻壼シ蟋狗噪謚門勘�悟�蜴サ謗牙�荳ェ譛蠑蟋狗噪謨ー謐ョ |
|||
344 3 L2_task_go(D_task_ADC_CHx_SHIFTFILTER); |
|||
345 3 } |
|||
346 2 TTSS_Task_step(D_task_ADC_CHx_SHIFTFILTER): |
|||
347 2 //L0_uart0_uc('B'); |
|||
348 2 s->ts_SAa.sum -= s->ts_SAa.average; |
|||
349 2 s->ts_SAa.sum += (vU32)s->out3_Peak; |
|||
350 2 s->ts_SAa.average = s->ts_SAa.sum >> s->pSPara->ashift; |
|||
351 2 // s->ts_SAa.new = s->ts_SAa.average; |
|||
352 2 s->ts_SAa.out4_shift = (vU16)s->ts_SAa.average; |
|||
353 2 /// L0_uart0_uc('s'); |
|||
354 2 |
|||
C51 COMPILER V9.54 ASP_SCHAIN 09/06/2024 11:24:45 PAGE 7 |
|||
|
|||
355 2 L2_task_go(D_task_ADC_CHx_SHIFTFILTER2); |
|||
356 2 TTSS_Task_step(D_task_ADC_CHx_SHIFTFILTER2): |
|||
357 2 |
|||
358 2 |
|||
359 2 s->ok = 1; |
|||
360 2 L2_task_go(D_task_ADC_CHx_SAMPLE_READ); |
|||
361 2 |
|||
362 2 /// L2_task_go(D_task_ADC_CHx_SAMPLE_OUT); |
|||
363 2 TTSS_Task_step(D_task_ADC_CHx_SAMPLE_OUT): |
|||
364 2 |
|||
365 2 /*** |
|||
366 2 L0_uart0_ulhex(s->out0); L0_uart0_uc(0x09); |
|||
367 2 L0_uart0_ushex(s->out1); L0_uart0_uc(0x09); |
|||
368 2 L0_uart0_ushex(s->out2); L0_uart0_uc(0x09); |
|||
369 2 L0_uart0_ushex(s->ts_SAa.out4); L0_uart0_uc(0x09); |
|||
370 2 L0_uart0_ushex(s->ts_SAb.out4); |
|||
371 2 L0_uart0_0d0a(); |
|||
372 2 |
|||
373 2 |
|||
374 2 **/ |
|||
375 2 |
|||
376 2 //// |
|||
377 2 //// L0_uart0_uc('0' + s->ch);L0_uart0_uc('A');// |
|||
378 2 TTSS_Task_end(); |
|||
379 1 } |
|||
380 |
|||
381 #if 0 |
|||
void L3_out_zero(u8 ch) |
|||
{ |
|||
vS16 t,m; |
|||
|
|||
|
|||
t = ts_adc_samples[ch].out1_adc; |
|||
m = ts_adc_samples[ch].SPara.wantline; |
|||
m -= t; |
|||
ts_adc_samples[ch].SPara.offset = (vU16)m; |
|||
/// L0_waitFree_uartN(0);///豺キ謳ュ菴ソ逕ィprintf逧�慮蛟吝ソ�。サ蜉�荳� |
|||
/// printf("\r\nzeroout = %4x offset= 0x%4x\r\n", ts_adc_samples[ch].zeroout,ts_adc_samples[ch].offset); |
|||
|
|||
/// D_ADC_OFFSET(ch) = ts_adc_samples[ch].zeroout - ts_adc_samples[ch].out1; |
|||
} |
|||
|
|||
|
|||
vU16 L3_out_offset222(u8 ch,vU16 t16) |
|||
{ |
|||
vU16 out; |
|||
|
|||
/// L0_uart0_ushex(t16); L0_uart0_uc(' '); |
|||
if(t16 & 0x8000) //譛鬮倅ス堺クコ1��<0蛻� |
|||
{ |
|||
t16 = 0xffFF - t16;///霓ャ蜿倅クコ豁」謨ー |
|||
///*d = D_ADC_OFFSET - t16; |
|||
out = ts_adc_samples[ch].SPara.offset - t16; |
|||
// L0_uart0_uc('$'); L0_uart0_ushex(ts_adc_samples[ch].offset);L0_uart0_uc(' '); |
|||
}else |
|||
{ |
|||
out = t16 + ts_adc_samples[ch].SPara.offset; |
|||
} |
|||
// L0_uart0_ushex(out);L0_uart0_uc(' '); L0_uart0_uc('R');L0_uart0_0d0a(); |
|||
return out; |
|||
} |
|||
|
|||
C51 COMPILER V9.54 ASP_SCHAIN 09/06/2024 11:24:45 PAGE 8 |
|||
|
|||
vU16 L3_out_tran2(vU32 rdata) |
|||
{ |
|||
vU16 t16; |
|||
//// L0_ADS1231_readCH2(0,&rdata); |
|||
// L0_uart0_uc('0'+ch); L0_uart0_uc(0x09); |
|||
// L0_uart0_ulhex(rdata); L0_uart0_uc(0x09); |
|||
if (rdata > 0x007fFFff) |
|||
{ |
|||
rdata >>= D_sensor_zoom; ///fixme:豁、螟�ュ」雍溷キョ蜥檎ァサ菴堺ク堺ク閾エ髴隕∬ーィ諷� |
|||
rdata |= D_sensor_zoom_FF; /// 1111 1100 |
|||
}else |
|||
{ |
|||
rdata >>= D_sensor_zoom; |
|||
} |
|||
|
|||
// L0_uart0_ulhex(rdata); L0_uart0_uc(0x09); |
|||
t16 = rdata; |
|||
// L0_uart0_ushex(t16); L0_uart0_uc(0x09); |
|||
///L0_uart0_0d0a(); |
|||
return t16; |
|||
} |
|||
|
|||
void L3_task_show_init(void) |
|||
{ |
|||
//譏セ遉コ莉サ蜉。蛻晏ァ句喧 |
|||
L1_task_init(&ts_adc_blur_show.task); |
|||
L3_task_s_go(ts_adc_blur_show,D_task_init); |
|||
ts_adc_blur_show.rough_weight = 0; |
|||
|
|||
} |
|||
|
|||
//荳ュ蛟シ貊、豕「莉サ蜉。 |
|||
#define D_task_ADC_CHx_FILTER_MID_GET 0x50 |
|||
#define D_task_ADC_CHx_FILTER_MID_COUNT 0x51 |
|||
#define D_task_ADC_CHx_FILTER_MID_OUT 0x52 |
|||
void L3_task_adc_filter_mid(S_TASK_ADC_BLUR_MID *s) |
|||
{ |
|||
TTSS_Task_init() |
|||
L2_task_go(D_task_ADC_CHx_FILTER_MID_GET); |
|||
|
|||
TTSS_Task_step(D_task_ADC_CHx_FILTER_MID_GET) |
|||
if(ts_adc_channel_samples[s->ch].n >= s->max) |
|||
{ |
|||
U8 i = 0; |
|||
for(i=0;i<s->max;i++) |
|||
{ |
|||
s->in[i] = ts_adc_channel_samples[s->ch].out1[i]; |
|||
} |
|||
ts_adc_channel_samples[s->ch].n = 0; |
|||
L2_task_go(D_task_ADC_CHx_FILTER_MID_COUNT); |
|||
} |
|||
|
|||
TTSS_Task_step(D_task_ADC_CHx_FILTER_MID_COUNT) |
|||
s->midval = Lc_S32_media(s->in, s->max); |
|||
L2_task_go(D_task_ADC_CHx_FILTER_MID_OUT); |
|||
|
|||
TTSS_Task_step(D_task_ADC_CHx_FILTER_MID_OUT) |
|||
s->out[s->n] = s->midval; |
|||
//R.adval[s->ch] = s->out[s->n]; |
|||
s->n++; |
|||
if(s->n >= MAX_OUT_NUM) |
|||
{ |
|||
C51 COMPILER V9.54 ASP_SCHAIN 09/06/2024 11:24:45 PAGE 9 |
|||
|
|||
s->n = 0; |
|||
} |
|||
L2_task_go(D_task_ADC_CHx_FILTER_MID_GET); |
|||
|
|||
TTSS_Task_end(); |
|||
|
|||
|
|||
} |
|||
|
|||
//蝮�シ貊、豕「莉サ蜉。 |
|||
#define D_task_ADC_CHx_FILTER_AVG_GET 0x50 |
|||
#define D_task_ADC_CHx_FILTER_AVG_COUNT 0x51 |
|||
#define D_task_ADC_CHx_FILTER_AVG_OUT 0x52 |
|||
void L3_task_adc_filter_avg(S_TASK_ADC_BLUR_AVG *s) |
|||
{ |
|||
TTSS_Task_init() |
|||
L2_task_go(D_task_ADC_CHx_FILTER_AVG_GET); |
|||
|
|||
TTSS_Task_step(D_task_ADC_CHx_FILTER_AVG_GET) |
|||
if(ts_adc_channel_samples[s->ch].n >= s->max) |
|||
{ |
|||
U8 i = 0; |
|||
ts_adc_channel_samples[s->ch].n = 0; |
|||
for(i=0;i<s->max;i++) |
|||
{ |
|||
s->in[i] = ts_adc_channel_samples[s->ch].out1[i]; |
|||
} |
|||
L2_task_go(D_task_ADC_CHx_FILTER_AVG_COUNT); |
|||
} |
|||
|
|||
TTSS_Task_step(D_task_ADC_CHx_FILTER_AVG_COUNT) |
|||
s->avgval = Lc_vS32_avg(s->in,s->max); |
|||
L2_task_go(D_task_ADC_CHx_FILTER_AVG_OUT); |
|||
|
|||
TTSS_Task_step(D_task_ADC_CHx_FILTER_AVG_OUT) |
|||
s->out[s->n] = s->avgval; |
|||
//R.adval[s->ch] = s->out[s->n]; |
|||
s->n++; |
|||
if(s->n >= MAX_OUT_NUM) |
|||
{ |
|||
s->n = 0; |
|||
} |
|||
L2_task_go(D_task_ADC_CHx_FILTER_AVG_GET); |
|||
|
|||
TTSS_Task_end(); |
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
//遘サ菴肴サ、豕「莉サ蜉。 |
|||
#define D_task_ADC_CHx_FILTER_SHIFT_GET 0x50 |
|||
#define D_task_ADC_CHx_FILTER_SHIFT_COUNT 0x51 |
|||
#define D_task_ADC_CHx_FILTER_SHIFT_OUT 0x52 |
|||
void L3_task_adc_ShiftFilter(TS_TASK_ADC_SHIFTFILTER *s) |
|||
{ |
|||
TTSS_Task_init() |
|||
s->average = ts_adc_samples[s->ch].out2;/// |
|||
s->sum = s->average << s->shift; |
|||
L2_task_go(D_task_ADC_CHx_FILTER_SHIFT_GET); |
|||
|
|||
TTSS_Task_step(D_task_ADC_CHx_FILTER_SHIFT_GET) |
|||
C51 COMPILER V9.54 ASP_SCHAIN 09/06/2024 11:24:45 PAGE 10 |
|||
|
|||
s->sum += |
|||
|
|||
|
|||
TTSS_Task_step(D_task_ADC_CHx_FILTER_SHIFT_COUNT) |
|||
s->sum[0] -= s->shiftval[0]; |
|||
s->sum[0] += s->in; |
|||
s->shiftval[0] = s->sum[0] >> s->shiftreg[0]; |
|||
s->sum[1] -= s->shiftval[1]; |
|||
s->sum[1] += s->in; |
|||
s->shiftval[1] = s->sum[1] >> s->shiftreg[1]; |
|||
s->sum[2] -= s->shiftval[2]; |
|||
s->sum[2] += s->in; |
|||
s->shiftval[2] = s->sum[2] >> s->shiftreg[2]; |
|||
L2_task_go(D_task_ADC_CHx_FILTER_SHIFT_OUT); |
|||
|
|||
TTSS_Task_step(D_task_ADC_CHx_FILTER_SHIFT_OUT) |
|||
s->out[0][s->n] = s->shiftval[0]; |
|||
s->out[1][s->n] = s->shiftval[1]; |
|||
s->out[2][s->n] = s->shiftval[2]; |
|||
|
|||
|
|||
//R.adval[s->ch] = s->out[0][s->n] = s->shiftval[0]; |
|||
s->n++; |
|||
if(s->n >= MAX_OUT_NUM) |
|||
{ |
|||
s->n = 0; |
|||
} |
|||
L2_task_go(D_task_ADC_CHx_FILTER_SHIFT_GET); |
|||
|
|||
TTSS_Task_end(); |
|||
|
|||
} |
|||
|
|||
|
|||
//霎灘�蛻、螳壻ササ蜉。 |
|||
#define D_task_ADC_CHx_FILTER_OUT_GET 0x50 |
|||
#define D_task_ADC_CHx_FILTER_OUT_COUNT 0x51 |
|||
#define D_task_ADC_CHx_FILTER_OUT_CHANGE 0x52 |
|||
#define D_task_ADC_CHx_FILTER_OUT_OUT 0x53 |
|||
void L3_task_adc_filter_out(S_TASK_ADC_BLUR_OUT *s) |
|||
{ |
|||
TTSS_Task_init() |
|||
L2_task_go(D_task_ADC_CHx_FILTER_OUT_GET); |
|||
|
|||
TTSS_Task_step(D_task_ADC_CHx_FILTER_OUT_GET) |
|||
if(s->h != ts_adc_blur_shift[s->ch].n) |
|||
{ |
|||
s->h = ts_adc_blur_shift[s->ch].n; |
|||
s->in[0] = ts_adc_blur_avg[s->ch].out[count_n(ts_adc_blur_avg[s->ch].n, 1)]; |
|||
s->in[1] = ts_adc_blur_avg[s->ch].out[count_n(ts_adc_blur_avg[s->ch].n, 2)]; |
|||
//闔キ蜿冶セ灘�譖イ郤ソval |
|||
s->newout = ts_adc_blur_shift[s->ch].out[s->oldnum][count_n(ts_adc_blur_shift[s->ch].n, 1)]; |
|||
L2_task_go(D_task_ADC_CHx_FILTER_OUT_COUNT); |
|||
} |
|||
|
|||
TTSS_Task_step(D_task_ADC_CHx_FILTER_OUT_COUNT) //譬ケ謐ョ髦蛟シ騾画叫霎灘�逧�峇郤ソ |
|||
//蛻、譁ュ騾画叫譁ー譖イ郤ソ |
|||
if(Lc_abs(s->in[0] , s->in[1]) >= s->threshold[0])//2KG |
|||
{ |
|||
s->newnum = 0; |
|||
} |
|||
else if(Lc_abs(s->in[0] , s->in[1]) >= s->threshold[1]) //0.5KG |
|||
C51 COMPILER V9.54 ASP_SCHAIN 09/06/2024 11:24:45 PAGE 11 |
|||
|
|||
{ |
|||
s->newnum = 1; |
|||
} |
|||
else |
|||
{ |
|||
s->newnum = 2; |
|||
} |
|||
//L2_task_go(D_task_ADC_CHx_FILTER_OUT_OUT); |
|||
L2_task_go(D_task_ADC_CHx_FILTER_OUT_CHANGE); |
|||
|
|||
TTSS_Task_step(D_task_ADC_CHx_FILTER_OUT_CHANGE) |
|||
if(s->newnum != s->oldnum)//蛻�困遘サ菴肴サ、豕「譌カ隹�紛蜈カ莉匁サ、豕「逧ТUM |
|||
{ |
|||
s->oldnum = s->newnum; //荳崎�蜿ェ隹�紛譁ー蛟シ�梧園譛画峇郤ソ驛ス隕∽ク襍キ隹�紛 |
|||
//ts_adc_blur_shift[s->ch].sum[1] = (ts_adc_blur_avg[s->ch].out[ts_adc_blur_avg[s->ch].n] * R.adc_blur_ |
|||
-avg); |
|||
ts_adc_blur_shift[s->ch].sum[0] = s->newout << ts_adc_blur_shift[s->ch].shiftreg[0]; |
|||
ts_adc_blur_shift[s->ch].shiftval[0] = s->newout; |
|||
ts_adc_blur_shift[s->ch].sum[1] = s->newout << ts_adc_blur_shift[s->ch].shiftreg[1]; |
|||
ts_adc_blur_shift[s->ch].shiftval[1] = s->newout; |
|||
ts_adc_blur_shift[s->ch].sum[2] = s->newout << ts_adc_blur_shift[s->ch].shiftreg[2]; |
|||
ts_adc_blur_shift[s->ch].shiftval[2] = s->newout; |
|||
} |
|||
L2_task_go(D_task_ADC_CHx_FILTER_OUT_OUT); |
|||
|
|||
TTSS_Task_step(D_task_ADC_CHx_FILTER_OUT_OUT) |
|||
R.adval[s->ch] = s->newout; |
|||
//R.adval[s->ch] = ts_adc_channel_samples[s->ch].adcval; |
|||
L2_task_go(D_task_ADC_CHx_FILTER_OUT_GET); |
|||
|
|||
TTSS_Task_end(); |
|||
|
|||
} |
|||
|
|||
|
|||
//譏セ遉コ莉サ蜉。 |
|||
#define D_task_ADC_CHx_SHOW 0x50 |
|||
void L3_task_adc_filter_show(S_TASK_ADC_BLUR_SHOW *s) |
|||
{ |
|||
TTSS_Task_init() |
|||
L2_task_go(D_task_ADC_CHx_SHOW); |
|||
|
|||
TTSS_Task_step(D_task_ADC_CHx_SHOW) |
|||
R.ch_weight[0] = D_COUNT_WEIGHT(R.adval[0]); |
|||
R.ch_weight[1] = D_COUNT_WEIGHT(R.adval[1]); |
|||
R.ch_weight[2] = D_COUNT_WEIGHT(R.adval[2]); |
|||
R.ch_weight[3] = D_COUNT_WEIGHT(R.adval[3]); |
|||
s->rough_weight = R.ch_weight[0] + R.ch_weight[1] + R.ch_weight[2] + R.ch_weight[3]; //豈幃㍾ |
|||
#if 0 |
|||
L0_uart0_ulhex(s->rough_weight); |
|||
L0_uart0_uc(' '); |
|||
#endif |
|||
if( ABS(R.rough_weight,s->rough_weight) >= 50) //蜿伜喧雜�ソ�0.05KG |
|||
{ |
|||
R.rough_weight = s->rough_weight; |
|||
R.total_weight = (R.rough_weight > R.total_zweight) ? (R.rough_weight - R.total_zweight) : (0);//蜃驥� |
|||
} |
|||
L2_task_go_Tdelay(D_task_ADC_CHx_SHOW,D_Tdelay_Msec(15)); //蟒カ譌カ15ms |
|||
|
|||
TTSS_Task_end(); |
|||
} |
|||
|
|||
C51 COMPILER V9.54 ASP_SCHAIN 09/06/2024 11:24:45 PAGE 12 |
|||
|
|||
|
|||
|
|||
/******* |
|||
ts_adc_channel_samples[ch].status = (R.p.adc_ch_status >> ch) & 0x1; |
|||
ts_adc_channel_samples[ch].pool = 0; |
|||
ts_adc_channel_samples[ch].adcval = 0; |
|||
ts_adc_channel_samples[ch].n = 0; |
|||
ts_adc_channel_samples[ch].ch = D_ADCCH_1 + ch; |
|||
|
|||
//騾夐%荳ュ蛟シ貊、豕「莉サ蜉。蛻晏ァ句喧 |
|||
L1_task_init(&ts_adc_blur_mid[ch].task); |
|||
L3_task_s_go(ts_adc_blur_mid[ch],D_task_init); |
|||
ts_adc_blur_mid[ch].n = 0; |
|||
ts_adc_blur_mid[ch].max = R.p.adc_blur_mid; |
|||
ts_adc_blur_mid[ch].ch = D_ADCCH_1 + ch; |
|||
|
|||
//騾夐%蝮�シ貊、豕「莉サ蜉。蛻晏ァ句喧 |
|||
L1_task_init(&ts_adc_blur_avg[ch].task); |
|||
L3_task_s_go(ts_adc_blur_avg[ch],D_task_init); |
|||
ts_adc_blur_avg[ch].max = R.p.adc_blur_avg; |
|||
ts_adc_blur_avg[ch].avgval = 0; |
|||
ts_adc_blur_avg[ch].n = 0; |
|||
ts_adc_blur_avg[ch].ch = D_ADCCH_1 + ch; |
|||
|
|||
//騾夐%遘サ菴肴サ、豕「莉サ蜉。蛻晏ァ句喧 |
|||
L1_task_init(&ts_adc_blur_shift[ch].task); |
|||
L3_task_s_go(ts_adc_blur_shift[ch],D_task_init); |
|||
ts_adc_blur_shift[ch].n = 0; |
|||
ts_adc_blur_shift[ch].h = 0; |
|||
ts_adc_blur_shift[ch].shiftreg[0] = R.p.adc_blur_shift[0]; |
|||
ts_adc_blur_shift[ch].shiftreg[1] = R.p.adc_blur_shift[1]; |
|||
ts_adc_blur_shift[ch].shiftreg[2] = R.p.adc_blur_shift[2]; |
|||
ts_adc_blur_shift[ch].sum[0] = 0; |
|||
ts_adc_blur_shift[ch].sum[1] = 0; |
|||
ts_adc_blur_shift[ch].sum[2] = 0; |
|||
ts_adc_blur_shift[ch].shiftval[0] = 0; |
|||
ts_adc_blur_shift[ch].shiftval[1] = 0; |
|||
ts_adc_blur_shift[ch].shiftval[2] = 0; |
|||
ts_adc_blur_shift[ch].ch = D_ADCCH_1 + ch; |
|||
|
|||
//霎灘�蛻、螳壻ササ蜉。蛻晏ァ句喧 |
|||
L1_task_init(&ts_adc_blur_out[ch].task); |
|||
L3_task_s_go(ts_adc_blur_out[ch],D_task_init); |
|||
ts_adc_blur_out[ch].h= 0; |
|||
ts_adc_blur_out[ch].threshold[0] = D_blur_threshold_2_1(R.p.adc_blur_threshold[0]); //2KG |
|||
ts_adc_blur_out[ch].threshold[1] = D_blur_threshold_2_1(R.p.adc_blur_threshold[1]); //0.5KG |
|||
ts_adc_blur_out[ch].newnum = 0; |
|||
ts_adc_blur_out[ch].oldnum = 0; |
|||
ts_adc_blur_out[ch].oldout = 0; |
|||
ts_adc_blur_out[ch].newout = 0; |
|||
ts_adc_blur_out[ch].n = 0; |
|||
ts_adc_blur_out[ch].ch = D_ADCCH_1 + ch; |
|||
*****/ |
|||
|
|||
#if 0 |
|||
//騾夐%蛻�困莉サ蜉。蛻晏ァ句喧 |
|||
//L1_task_init(&ts_adc_channel_switch.task); |
|||
L3_task_s_go(ts_adc_channel_switch,D_task_init); |
|||
#endif |
|||
|
|||
#endif |
|||
725 |
|||
C51 COMPILER V9.54 ASP_SCHAIN 09/06/2024 11:24:45 PAGE 13 |
|||
|
|||
726 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 2151 ---- |
|||
CONSTANT SIZE = 142 ---- |
|||
XDATA SIZE = 238 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,52 @@ |
|||
C51 COMPILER V9.54 BSP_CONFIG 09/06/2024 11:24:46 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE BSP_CONFIG |
|||
OBJECT MODULE PLACED IN ..\out\bsp_config.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\bsp\TTSSbsp\bsp_config.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE OR |
|||
-DER NOINTPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source |
|||
-\tpc;..\source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEB |
|||
-UG PRINT(..\out\bsp_config.lst) TABS(2) OBJECT(..\out\bsp_config.obj) |
|||
|
|||
line level source |
|||
|
|||
1 #include "bsp_config.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
2 ///#include "../tpc/tpc_modbus.h" |
|||
3 ///#include "app_config.h" |
|||
4 #include "msp_uart1.h" |
|||
5 |
|||
6 ///#include "bsp_AiP650E.h" |
|||
7 //////////////////////////////////////////////////////////////////////////// |
|||
8 ///@copyright Copyright (c) 2023 CCSENS All rights reserved. |
|||
9 ///------------------------------------------------------------------------- |
|||
10 /// @file bsp_func.c |
|||
11 /// @brief bsp @ fuctiong ; io复用选择等,和cpu型号息息相关 |
|||
12 ///------------------------------------------------------------------------- |
|||
13 /// @version 1.0 |
|||
14 /// @author CC |
|||
15 /// @date 20180308 |
|||
16 /// @note cc_AS_stc02 |
|||
17 |
|||
18 ////////////////////////////////////////////////////////////////////////////// |
|||
19 |
|||
20 |
|||
21 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = ---- ---- |
|||
CONSTANT SIZE = ---- ---- |
|||
XDATA SIZE = ---- ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,369 @@ |
|||
C51 COMPILER V9.54 BSP_CS1232 09/06/2024 11:24:46 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE BSP_CS1232 |
|||
OBJECT MODULE PLACED IN ..\out\bsp_cs1232.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\bsp\bsp_cs1232.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOIN |
|||
-TPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;..\ |
|||
-source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRINT |
|||
-(..\out\bsp_cs1232.lst) TABS(2) OBJECT(..\out\bsp_cs1232.obj) |
|||
|
|||
line level source |
|||
|
|||
1 //////////////////////////////////////////////////////////////////////////// |
|||
2 ///@copyright Copyright (c) 2020, 传控科技 All rights reserved. |
|||
3 ///------------------------------------------------------------------------- |
|||
4 /// @file cs1232.h |
|||
5 /// @brief hard cs1232 include |
|||
6 /// @info FILE FOR HARDWARE cs1232 |
|||
7 ///------------------------------------------------------------------------- |
|||
8 |
|||
9 |
|||
10 ////////////////////////////////////////////////////////////////////////////// |
|||
11 /// @version 1.0 |
|||
12 /// @author CC |
|||
13 /// @date 20200530 |
|||
14 /// @note |
|||
15 ////////////////////////////////////////////////////////////////////////////// |
|||
16 |
|||
17 #include "bsp_cs1232.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
18 ///TS_cs1232_ ts_adc;///TSS_FLOW_ tss_ads; |
|||
19 |
|||
20 void L0_ADS1213_mode(vtype mode) |
|||
21 { |
|||
22 1 switch(mode) |
|||
23 1 { |
|||
24 2 case D_ADS1213_POWERDOWN: |
|||
25 2 D_ADC_SCLK1_CLOSE(); |
|||
26 2 D_ADC_DOUT1_CLOSE(); |
|||
27 2 D_ADC_SCLK2_CLOSE(); |
|||
28 2 D_ADC_DOUT2_CLOSE(); |
|||
29 2 D_ADC_SCLK3_CLOSE(); |
|||
30 2 D_ADC_DOUT3_CLOSE(); |
|||
31 2 D_ADC_SCLK4_CLOSE(); |
|||
32 2 D_ADC_DOUT4_CLOSE(); |
|||
33 2 D_ADC_POWERDOWN(); |
|||
34 2 // L0_uart0_uc('d'); |
|||
35 2 break; |
|||
36 2 case D_ADS1213_GAIN_128: |
|||
37 2 D_ADC_GAIN0_128(); |
|||
38 2 /// L0_uart0_uc('8'); |
|||
39 2 break; |
|||
40 2 case D_ADS1213_GAIN_64: |
|||
41 2 D_ADC_GAIN0_64(); |
|||
42 2 // L0_uart0_uc('6'); |
|||
43 2 break; |
|||
44 2 default: |
|||
45 2 D_ADC_GAIN0_64(); |
|||
46 2 // L0_uart0_uc('q'); |
|||
47 2 break; |
|||
48 2 }; |
|||
49 1 } |
|||
50 |
|||
51 void L0_ADS1213_INIT(vtype mode) |
|||
C51 COMPILER V9.54 BSP_CS1232 09/06/2024 11:24:46 PAGE 2 |
|||
|
|||
52 { |
|||
53 1 D_ADC_GAIN0_INIT(); |
|||
54 1 D_ADC_SCLK1_INIT(); |
|||
55 1 D_ADC_DOUT1_INIT(); |
|||
56 1 D_ADC_SCLK2_INIT(); |
|||
57 1 D_ADC_DOUT2_INIT(); |
|||
58 1 D_ADC_SCLK3_INIT(); |
|||
59 1 D_ADC_DOUT3_INIT(); |
|||
60 1 D_ADC_SCLK4_INIT(); |
|||
61 1 D_ADC_DOUT4_INIT(); |
|||
62 1 D_ADC_PDWN_INIT(); |
|||
63 1 D_ADC_PD_WACKUP(); |
|||
64 1 L0_ADS1213_mode(mode); |
|||
65 1 } |
|||
66 |
|||
67 |
|||
68 |
|||
69 void L0_adc_SCLK(vtype ch,vtype onf) |
|||
70 { |
|||
71 1 switch (ch) |
|||
72 1 { |
|||
73 2 case D_ADCCH_1: |
|||
74 2 if(onf){D_ADC_SCLK1_ON();}else{D_ADC_SCLK1_OFF();} |
|||
75 2 break; |
|||
76 2 case D_ADCCH_2: |
|||
77 2 if(onf){D_ADC_SCLK2_ON();}else{D_ADC_SCLK2_OFF();} |
|||
78 2 break; |
|||
79 2 case D_ADCCH_3: |
|||
80 2 if(onf){D_ADC_SCLK3_ON();}else{D_ADC_SCLK3_OFF();} |
|||
81 2 break; |
|||
82 2 case D_ADCCH_4: |
|||
83 2 if(onf){D_ADC_SCLK4_ON();}else{D_ADC_SCLK4_OFF();} |
|||
84 2 break; |
|||
85 2 default: |
|||
86 2 break; |
|||
87 2 } |
|||
88 1 } |
|||
89 |
|||
90 vtype L0_adc_DOUT_AT(vtype ch) |
|||
91 { |
|||
92 1 vtype r = 9; |
|||
93 1 |
|||
94 1 switch (ch) |
|||
95 1 { |
|||
96 2 case D_ADCCH_1: |
|||
97 2 r = D_ADC_DOUT1_AT(); |
|||
98 2 break; |
|||
99 2 case D_ADCCH_2: |
|||
100 2 r = D_ADC_DOUT2_AT(); |
|||
101 2 break; |
|||
102 2 case D_ADCCH_3: |
|||
103 2 r = D_ADC_DOUT3_AT(); |
|||
104 2 break; |
|||
105 2 case D_ADCCH_4: |
|||
106 2 r = D_ADC_DOUT4_AT(); |
|||
107 2 break; |
|||
108 2 default: |
|||
109 2 break; |
|||
110 2 } |
|||
111 1 return r; |
|||
112 1 } |
|||
113 |
|||
C51 COMPILER V9.54 BSP_CS1232 09/06/2024 11:24:46 PAGE 3 |
|||
|
|||
114 |
|||
115 |
|||
116 void L0_ADS1231_readCH2(vtype ch,vU32 *d) |
|||
117 { |
|||
118 1 u8 i = 0; |
|||
119 1 vU32 rdata; |
|||
120 1 /// vU16 t16; |
|||
121 1 rdata = 0; |
|||
122 1 |
|||
123 1 for(i = 0; i < 24; i++) |
|||
124 1 { |
|||
125 2 L0_adc_SCLK(ch,1);/// D_ADC_SCLK1_ON(); |
|||
126 2 rdata <<= 1; |
|||
127 2 L0_adc_SCLK(ch,0);///D_ADC_SCLK1_OFF(); |
|||
128 2 if(L0_adc_DOUT_AT(ch)) |
|||
129 2 { |
|||
130 3 rdata += 1; |
|||
131 3 } |
|||
132 2 } |
|||
133 1 ///25 puls make DOUT high |
|||
134 1 L0_adc_SCLK(ch,1); |
|||
135 1 ///FF84 CC09 FF84 CC09 |
|||
136 1 L0_adc_SCLK(ch,0); |
|||
137 1 *d = rdata; |
|||
138 1 } |
|||
139 |
|||
140 |
|||
141 |
|||
142 #if 0 |
|||
|
|||
|
|||
void L0_ADS1231_readCH2555(vtype ch,vU16 *d) |
|||
{ |
|||
u8 i = 0; |
|||
vU32 rdata; |
|||
vU16 t16; |
|||
rdata = 0; |
|||
|
|||
for(i = 0; i < 24; i++) |
|||
{ |
|||
L0_adc_SCLK(ch,1);/// D_ADC_SCLK1_ON(); |
|||
rdata <<= 1; |
|||
L0_adc_SCLK(ch,0);///D_ADC_SCLK1_OFF(); |
|||
if(L0_adc_DOUT_AT(ch)) |
|||
{ |
|||
rdata += 1; |
|||
} |
|||
} |
|||
///25 puls make DOUT high |
|||
L0_adc_SCLK(ch,1); |
|||
///FF84 CC09 FF84 CC09 |
|||
|
|||
L0_uart0_uc('0'+ch); L0_uart0_uc(0x09); |
|||
L0_uart0_ulhex(rdata); L0_uart0_uc(0x09); |
|||
if (rdata > 0x007fFFff) |
|||
{ |
|||
rdata >>= D_sensor_zoom; ///fixme:此处正负差和移位不一致需要谨慎 |
|||
rdata |= D_sensor_zoom_FF; /// 1111 1100 |
|||
}else |
|||
{ |
|||
rdata >>= D_sensor_zoom; |
|||
} |
|||
C51 COMPILER V9.54 BSP_CS1232 09/06/2024 11:24:46 PAGE 4 |
|||
|
|||
|
|||
// L0_uart0_ulhex(rdata); L0_uart0_uc(0x09); |
|||
t16 = rdata; |
|||
// L0_uart0_ushex(t16); L0_uart0_uc(0x09); |
|||
///L0_uart0_0d0a(); |
|||
|
|||
|
|||
if(t16 & 0x8000) //最高位为1,<0则 |
|||
{ |
|||
t16 = 0xffFF - t16;///转变为正数 |
|||
///*d = D_ADC_OFFSET - t16; |
|||
*d = D_ADC_OFFSET - t16; |
|||
}else |
|||
{ |
|||
*d = t16 + D_ADC_OFFSET; |
|||
} |
|||
// L0_uart0_ushex(*d); L0_uart0_0d0a(); |
|||
|
|||
|
|||
L0_adc_SCLK(ch,0); |
|||
} |
|||
#endif |
|||
198 |
|||
199 /*********************************end file*********************************************/ |
|||
200 |
|||
201 |
|||
202 //#define D_ADC_GATHER_Way1 1 |
|||
203 #if 0 |
|||
|
|||
|
|||
//调试阻塞读 |
|||
vS32 L0_ADS1231_read(U8 ch) |
|||
{ |
|||
vU32 e = 0;u8 i;vS32 rdata = 0; |
|||
while(1 == L0_2dc_DOUT_AT(ch)) |
|||
{ |
|||
if(e ++ > 100000) |
|||
{ |
|||
//return 0; |
|||
} |
|||
} |
|||
for(i = 0; i < 24; i++) |
|||
{ |
|||
L0_2dc_SCLK(ch,1); |
|||
rdata <<= 1; |
|||
L0_2dc_SCLK(ch,0); |
|||
if(L0_2dc_DOUT_AT(ch)) |
|||
{ |
|||
rdata += 1; |
|||
} |
|||
} |
|||
L0_2dc_SCLK(ch,1); |
|||
if(rdata & 0x800000) //???λ?1??<0?? |
|||
{ |
|||
rdata |= 0xFF000000; |
|||
} |
|||
return rdata; |
|||
} |
|||
|
|||
|
|||
void L1_ADS1213_main(void) |
|||
{ |
|||
C51 COMPILER V9.54 BSP_CS1232 09/06/2024 11:24:46 PAGE 5 |
|||
|
|||
U8 ch = D_ADCCH_2; |
|||
while(1) |
|||
{ |
|||
while(1 == L0_2dc_DOUT_AT(ch)) |
|||
; |
|||
tss_ads.u32_i = L0_ADS1231_readCH(ch); |
|||
tss_ads.u16_v = (vU16)( tss_ads.u32_i >> 16); |
|||
L0_uart0_ushex(tss_ads.u16_v); |
|||
tss_ads.u16_v = (vU16)(tss_ads.u32_i & 0x0000ffff); |
|||
L0_uart0_ushex(tss_ads.u16_v);//Lc_delay_us(500); |
|||
L0_uart0_uc(0x0d); L0_uart0_uc(0x0a); |
|||
} |
|||
} |
|||
|
|||
u8 Read_byte_adcIC(void) |
|||
{ |
|||
u8 i; |
|||
u8 rdata = 0; //初始化返回值为 0 |
|||
for(i = 0; i < 8; i++) |
|||
{ |
|||
D_ADC_SCLK1_ON(); |
|||
rdata <<= 1; //返回值左移 1 位 |
|||
/// CS1231_Clk(); //上升沿接收数据,下降沿更新数据 |
|||
|
|||
D_ADC_SCLK1_OFF(); |
|||
|
|||
|
|||
if(D_ADC_DOUT1_AT()) |
|||
{ |
|||
rdata += 1; //若数据线上数据为 1,则返回值加 1 |
|||
} |
|||
} |
|||
return(rdata); |
|||
} |
|||
|
|||
void L0_ADS1213_CH(u8 ch) |
|||
{ |
|||
/// /// SPEED = 1 57--57 ms 硬件配置成高电平 |
|||
D_ADC_PDWN_OFF(); |
|||
switch(ch) |
|||
{ |
|||
case D_ADCCH_T: |
|||
L0_ADS1213_T(1); |
|||
break; |
|||
case D_ADCCH_1: |
|||
D_ADC_CS_A0_OFF(); |
|||
break; |
|||
case D_ADCCH_2: |
|||
D_ADC_CS_A0_ON(); |
|||
break; |
|||
case D_ADCCH_3: |
|||
//D_ADC_CS2_A0_OFF(); |
|||
break; |
|||
case D_ADCCH_4: |
|||
//D_ADC_CS2_A0_ON(); |
|||
break; |
|||
default:/// |
|||
L0_ADS1213_T(0); |
|||
break; |
|||
}; |
|||
Lc_delay_us(50); |
|||
D_ADC_PDWN_ON(); |
|||
C51 COMPILER V9.54 BSP_CS1232 09/06/2024 11:24:46 PAGE 6 |
|||
|
|||
} |
|||
|
|||
//channel-温度 |
|||
void L0_ADS1213_T(u8 onff) |
|||
{ |
|||
if(onff) |
|||
{ |
|||
D_ADC_PDWN_OFF(); |
|||
D_ADC_TEMP_ON(); |
|||
Lc_delay_us(50); |
|||
D_ADC_PDWN_ON(); |
|||
} |
|||
else |
|||
{ |
|||
D_ADC_PDWN_OFF(); |
|||
D_ADC_TEMP_OFF(); |
|||
Lc_delay_us(50); |
|||
D_ADC_PDWN_ON(); |
|||
} |
|||
} |
|||
|
|||
#endif |
|||
322 |
|||
323 |
|||
324 |
|||
325 /*********************************************/ |
|||
326 |
|||
327 |
|||
328 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 626 ---- |
|||
CONSTANT SIZE = ---- ---- |
|||
XDATA SIZE = 15 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,176 @@ |
|||
C51 COMPILER V9.54 BSP_LED 09/06/2024 11:24:46 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE BSP_LED |
|||
OBJECT MODULE PLACED IN ..\out\bsp_led.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\bsp\bsp_led.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOINTPR |
|||
-OMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;..\sou |
|||
-rce\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRINT(.. |
|||
-\out\bsp_led.lst) TABS(2) OBJECT(..\out\bsp_led.obj) |
|||
|
|||
line level source |
|||
|
|||
1 #include "bsp_led.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
2 #include "c_delay.h" |
|||
3 #include "debug_drv.h" |
|||
4 |
|||
5 TS_key_ ts_key; |
|||
6 |
|||
7 |
|||
8 |
|||
9 |
|||
10 void L0_board_init(unsigned char onf) |
|||
11 { |
|||
12 1 if(onf) |
|||
13 1 { |
|||
14 2 /// SWITCH_INIT(); |
|||
15 2 /// LED1_INIT(); |
|||
16 2 // D_LED2_INIT(); |
|||
17 2 }else |
|||
18 1 { |
|||
19 2 |
|||
20 2 /// SWITCH_OFF(); |
|||
21 2 /// LED1_OFF(); |
|||
22 2 // D_LED2_OFF(); |
|||
23 2 |
|||
24 2 } |
|||
25 1 } |
|||
26 |
|||
27 |
|||
28 |
|||
29 |
|||
30 /* |
|||
31 |
|||
32 |
|||
33 void L0_board_key(void) |
|||
34 { |
|||
35 ts_key.now = D_P32_AT(); |
|||
36 if(ts_key.pool != ts_key.now) |
|||
37 { |
|||
38 if(ts_key.now) |
|||
39 { |
|||
40 |
|||
41 }else |
|||
42 {///``\____ |
|||
43 ts_key.val = 1; |
|||
44 } |
|||
45 ts_key.pool = ts_key.now; |
|||
46 } |
|||
47 } |
|||
48 |
|||
49 void L0_sw_key(void)///限位开关判定 |
|||
50 { |
|||
51 ts_key.now = L0_Mmin_AT(); |
|||
C51 COMPILER V9.54 BSP_LED 09/06/2024 11:24:46 PAGE 2 |
|||
|
|||
52 if(ts_key.pool != ts_key.now) |
|||
53 { |
|||
54 if(ts_key.now) |
|||
55 { |
|||
56 |
|||
57 }else |
|||
58 {///``\____ |
|||
59 ts_key.val = 1; |
|||
60 } |
|||
61 ts_key.pool = ts_key.now; |
|||
62 } |
|||
63 } |
|||
64 |
|||
65 */ |
|||
66 |
|||
67 |
|||
68 TS_task_keyled_ ts_task_keyled; |
|||
69 |
|||
70 |
|||
71 |
|||
72 void L2_task_keyled_register(void) |
|||
73 { |
|||
74 1 L1_task_reg_clear(&ts_task_keyled.task); |
|||
75 1 L3_task_s_go(ts_task_keyled,D_task_init); |
|||
76 1 |
|||
77 1 } |
|||
78 |
|||
79 |
|||
80 |
|||
81 #define D_task_keyled_set 0x41 |
|||
82 |
|||
83 #define D_task_keyled_cmd_init 0x41 |
|||
84 #define D_task_keyled_cmd_mac 0x42 |
|||
85 |
|||
86 #define D_task_keyled_1 0x52 |
|||
87 #define D_task_keyled_2 0x43 |
|||
88 #define D_task_keyled_3 0x53 |
|||
89 #define D_task_keyled_4 0x44 |
|||
90 #define D_task_keyled_cmd_innet 0x45 |
|||
91 #define D_task_keyled_cmd_innet_ok 0x55 |
|||
92 |
|||
93 #define D_task_keyled_cmd_32 0x46 |
|||
94 #define D_task_keyled_cmd_32_ok 0x56 |
|||
95 |
|||
96 |
|||
97 #define D_delay_pt D_Tdelay_3s |
|||
98 |
|||
99 |
|||
100 /* |
|||
101 |
|||
102 |
|||
103 ////L2_task_keyled_handle(&ts_task_keyled); |
|||
104 void L2_task_keyled_handle(TS_task_keyled_ *s) |
|||
105 { |
|||
106 unsigned char d = 0; |
|||
107 TTSS_Task_init(): |
|||
108 printf("\r\nL2_task_keyled_handle TTSS_Task_init"); |
|||
109 |
|||
110 L2_task_go(D_task_keyled_2); |
|||
111 TTSS_Task_step(D_task_keyled_2): |
|||
112 |
|||
113 |
|||
C51 COMPILER V9.54 BSP_LED 09/06/2024 11:24:46 PAGE 3 |
|||
|
|||
114 /// L2_task_Tdelay_go(D_Tdelay_2s,D_task_keyled_cmd_netid); |
|||
115 TTSS_Task_step(D_task_keyled_3): |
|||
116 |
|||
117 |
|||
118 /// L0_moto_run(D_MOTO_FORWARD); |
|||
119 if(s->loc_now) |
|||
120 |
|||
121 |
|||
122 /// L2_task_go(D_task_keyled_2); |
|||
123 |
|||
124 ///L2_task_Tdelay_go(D_Tdelay_500ms,D_task_keyled_1); |
|||
125 |
|||
126 |
|||
127 TTSS_Task_end(); |
|||
128 //////////////////////////////////////////////////////////// |
|||
129 |
|||
130 |
|||
131 L0_board_key(); |
|||
132 |
|||
133 } |
|||
134 |
|||
135 |
|||
136 |
|||
137 |
|||
138 */ |
|||
139 |
|||
140 |
|||
141 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 22 ---- |
|||
CONSTANT SIZE = ---- ---- |
|||
XDATA SIZE = 17 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,78 @@ |
|||
C51 COMPILER V9.54 C_DELAY 09/06/2024 11:24:47 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE C_DELAY |
|||
OBJECT MODULE PLACED IN ..\out\c_delay.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\clib\c_delay.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOINTP |
|||
-ROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;..\so |
|||
-urce\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRINT(. |
|||
-.\out\c_delay.lst) TABS(2) OBJECT(..\out\c_delay.obj) |
|||
|
|||
line level source |
|||
|
|||
1 /***************************************************************************** |
|||
2 * uart.c: UART API file for NXP LPC17xx Family Microprocessors |
|||
3 * |
|||
4 * Copyright (c) 2023 CCSENS |
|||
5 * All rights reserved. |
|||
6 * |
|||
7 * History |
|||
8 * 2009.05.27 ver 1.00 Prelimnary version, first Release |
|||
9 * |
|||
10 ******************************************************************************/ |
|||
11 |
|||
12 |
|||
13 #include "c_type51.h" |
|||
14 #include "c_delay.h" |
|||
15 extern void Delay100us(); |
|||
16 |
|||
17 extern void Delay1ms(); |
|||
18 |
|||
19 extern void Delay1us(); |
|||
20 |
|||
21 |
|||
22 |
|||
23 |
|||
24 void Lc_delay_us(vU16 i) |
|||
25 { |
|||
26 1 vU16 m; |
|||
27 1 for(m=i;m>0;m--) |
|||
28 1 { |
|||
29 2 Delay1us(); |
|||
30 2 } |
|||
31 1 } |
|||
32 |
|||
33 |
|||
34 void Lc_delay_ms(vU16 i) |
|||
35 { |
|||
36 1 vU16 m;///,n; |
|||
37 1 for(m=i;m>0;m--) |
|||
38 1 { |
|||
39 2 Delay1ms(); |
|||
40 2 } |
|||
41 1 } |
|||
42 /****************************************************************************** |
|||
43 |
|||
44 ** End Of File |
|||
45 ******************************************************************************/ |
|||
46 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 116 ---- |
|||
CONSTANT SIZE = ---- ---- |
|||
XDATA SIZE = 8 ---- |
|||
C51 COMPILER V9.54 C_DELAY 09/06/2024 11:24:47 PAGE 2 |
|||
|
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) |
Binary file not shown.
File diff suppressed because it is too large
Binary file not shown.
@ -0,0 +1,457 @@ |
|||
C51 COMPILER V9.54 DEBUG_DRV 09/06/2024 11:24:47 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE DEBUG_DRV |
|||
OBJECT MODULE PLACED IN ..\out\debug_drv.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\debug\debug_drv.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOI |
|||
-NTPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;.. |
|||
-\source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRIN |
|||
-T(..\out\debug_drv.lst) TABS(2) OBJECT(..\out\debug_drv.obj) |
|||
|
|||
line level source |
|||
|
|||
1 /***************************************************************************** |
|||
2 * debug_drv.c: debug app |
|||
3 * |
|||
4 * Copyright(C) 2013, cc |
|||
5 * All rights reserved. |
|||
6 * |
|||
7 * History |
|||
8 * 2013.05.24 ver 1.00 Prelimnary version, first Release |
|||
9 * |
|||
10 |
|||
11 |
|||
12 if(ts_s2b_debug.idle) |
|||
13 { |
|||
14 ts_s2b_debug.idle = 0; |
|||
15 printf("\r\n O"); |
|||
16 if(ts_s2b_debug.len > 0) |
|||
17 { |
|||
18 //// L1_uartD_sendArrayhex((U8 *)&ts_s2b_debug.t, 5); |
|||
19 /// xxxx///謠仙叙蜊剰ョョ |
|||
20 /// if(debgu) ts_s2b_debug.ok =1; |
|||
21 |
|||
22 printf("\r\n len = %d",(int)ts_s2b_debug.len); |
|||
23 ts_s2b_debug.len = 0; |
|||
24 } |
|||
25 } |
|||
26 |
|||
27 |
|||
28 ******************************************************************************/ |
|||
29 |
|||
30 #include "debug_drv.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
31 #include "msp_iicMx.h" |
|||
32 #include "c_type51.h" |
|||
33 #include "tpc_road.h" |
|||
34 ///#include "bsp_lora_jx.h" |
|||
35 ///#include "bsp_lora.h" |
|||
36 |
|||
37 #include "msp_eeprom.h" |
|||
38 |
|||
39 TS_P_debug *pd = NULL; |
|||
40 TS_P_rs485 *pd485 = NULL; |
|||
41 |
|||
42 u8 L3_tpc_D2uart(u8 cmd,u8 num) |
|||
43 { |
|||
44 1 if(cmd == 0x0D) |
|||
45 1 {////D2縲ゅゅゅ� 騾丈シ�扈吩クイ蜿」2逧�焚謐ョ |
|||
46 2 |
|||
47 2 if(2 == num)////蜿鷹.2 11 22 33逧�欠莉、蜷� 隗」譫仙ョ轡2�檎サ吩クイ蜿」2 蜿鷹�11 22 33 |
|||
48 2 { |
|||
49 3 printf1("\r\n - >2: %D ",(int)ts_Urec[D_UART1].num); |
|||
50 3 /// D_lora_wakeup(); |
|||
51 3 /// L1_uart2_Array(&ts_Urec[D_UART1].sp[1], ts_Urec[D_UART1].num-1); |
|||
C51 COMPILER V9.54 DEBUG_DRV 09/06/2024 11:24:47 PAGE 2 |
|||
|
|||
52 3 L0_uartN_Arrayhex_withoutbuf(D_UART1,&ts_Urec[D_UART1].sp[1], ts_Urec[D_UART1].num-1); |
|||
53 3 }else if(3 == num) |
|||
54 2 { printfs("\r\n->3:"); |
|||
55 3 ////L1_uart3_Array(&ts_Urec[D_UART1].sp[1], ts_Urec[D_UART1].num-1); |
|||
56 3 }else if(4 == num) |
|||
57 2 { printfs("\r\n->4:"); |
|||
58 3 ////L1_uart4_Array(&ts_Urec[D_UART1].sp[1], ts_Urec[D_UART1].num-1); |
|||
59 3 }else |
|||
60 2 { |
|||
61 3 printfs("\r\nmust in(D2,D3,D4):"); |
|||
62 3 } |
|||
63 2 return 0; |
|||
64 2 } |
|||
65 1 return 0; |
|||
66 1 } |
|||
67 |
|||
68 ////騾夊ソ㌧ebug荳イ蜿」 騾丈シ�蜊剰ョョ |
|||
69 #if 0 |
|||
u8 L3_tpc_hex(void) |
|||
{ |
|||
u8 cmd=0, num=0; |
|||
cmd = D_uc_high(ts_Urec[D_UART1].sp[0]);////荳コ485 隹�紛 隨ャ荳荳ェ |
|||
num = D_uc_low(ts_Urec[D_UART1].sp[0]); |
|||
printf(" 1->cmd=%X num=%X len = %d ",(int)cmd,(int)num, (int)ts_Urec[D_UART1].num); |
|||
|
|||
////debug蜊剰ョョ菴ソ逕ィ荳イ蜿」1 謨�悟�谺。邂蜊戊ァ」譫� 隕∵アらャャ荳荳ェ蟄礼ャヲ蠢�。サ荳コFx |
|||
if(0x0F == cmd)///fx r1 r2 r3 r4 ocr |
|||
{ |
|||
///TS_P_debug |
|||
///printfs("\r\n cmd = "); |
|||
////pd = (TS_P_debug*)ts_Urec[D_UART1].sp; |
|||
L0_uartN_Arrayhex_withoutbuf(D_UART1,&ts_Urec[D_UART1].sp[0], ts_Urec[D_UART1].num);////(U8 *)&pd,髞呵ッ |
|||
-ッ逧�。ィ霎セ譁ケ蠑� pd蟆ア譏ッ蝨ー蝮 |
|||
if(num == 0x0e) |
|||
{ |
|||
/// L3_tpc_FEdebug();return 0; |
|||
} |
|||
return 1; |
|||
} |
|||
if(L3_tpc_D2uart(cmd,num)) |
|||
{ |
|||
return 1; |
|||
} |
|||
else |
|||
{ |
|||
return 0; |
|||
} |
|||
|
|||
printfs("\r\n cmd error!!"); |
|||
return 0; |
|||
} |
|||
#else |
|||
103 u8 L3_tpc_hex(void) |
|||
104 { |
|||
105 1 u8 filter = 0, slaveId = 0, cmd = 0; |
|||
106 1 filter = ts_Urec[D_UART1].sp[0]; |
|||
107 1 slaveId = ts_Urec[D_UART1].sp[1]; |
|||
108 1 cmd = ts_Urec[D_UART1].sp[2]; |
|||
109 1 //printf(" 1->filter=%X slaveId=%X cmd=%X len = %d ",(int)filter,(int)slaveId, (int)cmd, (int)ts_Urec[D_U |
|||
-ART1].num); |
|||
110 1 |
|||
111 1 ////debug蜊剰ョョ菴ソ逕ィ荳イ蜿」1 謨�悟�谺。邂蜊戊ァ」譫� 隕∵アらャャ荳荳ェ蟄礼ャヲ蠢�。サ荳コAA |
|||
C51 COMPILER V9.54 DEBUG_DRV 09/06/2024 11:24:47 PAGE 3 |
|||
|
|||
112 1 ///AA 02 10 00 02 A3 B4 6C |
|||
113 1 if(0xAA == filter) |
|||
114 1 { |
|||
115 2 //L0_uartN_Arrayhex_withoutbuf(D_UART1,&ts_Urec[D_UART1].sp[0], ts_Urec[D_UART1].num); |
|||
116 2 if(0x02 == slaveId) |
|||
117 2 { |
|||
118 3 // if(ocr) |
|||
119 3 return 1; |
|||
120 3 } |
|||
121 2 } |
|||
122 1 // printfs("\r\n cmd error!!"); |
|||
123 1 return 0; |
|||
124 1 } |
|||
125 #endif |
|||
126 |
|||
127 |
|||
128 ////蜷ッ蜉ィ騾丈シ�謖�サ、 蠑蜈ウ謇灘シ 蜿ッ莉・讓。諡溷ス灘燕荳イ蜿」蜿鷹� |
|||
129 vtype L2_debug_ONcomand(void) |
|||
130 { |
|||
131 1 if(1 == ts_Urec[D_UART1].debugok) |
|||
132 1 { |
|||
133 2 ts_Urec[D_UART1].debugok = 0;////隗」譫仙刻隶ョ |
|||
134 2 /// printf("\r\nw ts_Urec[D_UART1].max = %d num = %d",(int)ts_Urec[D_UART1].rmax,(int)ts_Urec[D_UART1].n |
|||
-um); |
|||
135 2 // printf1("\r\ndebugok %2x",(int)ts_Urec[D_UART1].debugok); |
|||
136 2 } |
|||
137 1 |
|||
138 1 if(1 == ts_Urec[D_UART1].ok) |
|||
139 1 { |
|||
140 2 ts_Urec[D_UART1].ok = 0;////隗」譫仙刻隶ョ |
|||
141 2 |
|||
142 2 //// printf1("\r\nD_UART1 ok %d ",(int) ts_Urec[D_UART1].num); |
|||
143 2 // D_LED1_REV(); |
|||
144 2 |
|||
145 2 pd485 = (TS_P_rs485 *)ts_Urecbuf.r1; |
|||
146 2 |
|||
147 2 /// L0_uartN_Arrayhex_withoutbuf(D_UART1,ts_Urecbuf.r1, ts_Urec[D_UART1].num); |
|||
148 2 /// 荳イ蜿」1逧�刻隶ョ蛻�ク、邀サ 1邀サ譏ッ Fx蠑螟エ逧�宙蟇ケ螟冶ョセx逧���㊥debug蜊剰ョョ�帑セ句ヲ�D蠑螟エ譏ッ邉 |
|||
-サ扈歸ebug Fc譏ッiic隹�ッ戊ョセ螟� |
|||
149 2 /// 荳邀サ譏ッDx蠑螟エ逧�ッケ荳イ蜿」x騾丈シ�蜊剰ョョ ////D2縲ゅゅゅ� 騾丈シ�扈吩クイ蜿」2逧�焚謐ョ |
|||
150 2 return L3_tpc_hex();/// |
|||
151 2 /// return 0; |
|||
152 2 } |
|||
153 1 |
|||
154 1 /********* |
|||
155 1 if(1 == ts_Urec[D_UART2].ok) |
|||
156 1 { ts_Urec[D_UART2].ok = 0;////謾カ蛻ー荳蟶ァ謨ー謐ョ |
|||
157 1 printf("\r\nUART2:rec: "); |
|||
158 1 ///sprintf(," %s ",ts_Urecbuf.r2); |
|||
159 1 //pd = (TS_P_debug*)ts_Urecbuf.r2;//// |
|||
160 1 //L1_uartD_sendArrayhex((char *)pd, ts_Urec[D_UART2].num); |
|||
161 1 L1_uartD_Arrayhex(ts_Urecbuf.r2, ts_Urec[D_UART2].num); |
|||
162 1 Lc_buf_copy_uc(ts_Urecbuf.r5,ts_Urecbuf.r2,ts_Urec[D_UART2].num); |
|||
163 1 return L3_tpc_lora(ts_Urecbuf.r5);/// |
|||
164 1 } |
|||
165 1 *********/ |
|||
166 1 |
|||
167 1 #ifdef D_USE_UART3 |
|||
if(1 == ts_Urec[D_UART3].ok) |
|||
{ ts_Urec[D_UART3].ok = 0;////隗」譫仙刻隶ョ |
|||
printfs("\r\nD_UART3 ok "); |
|||
|
|||
C51 COMPILER V9.54 DEBUG_DRV 09/06/2024 11:24:47 PAGE 4 |
|||
|
|||
//pd = (TS_P_debug*)ts_Urecbuf.r2;//// |
|||
//L1_uartD_sendArrayhex((char *)pd, ts_Urec[D_UART2].num); |
|||
L1_uartD_Arrayhex(ts_Urecbuf.r3, ts_Urec[D_UART3].num); |
|||
} |
|||
#else |
|||
177 1 #warning "CC: without uart3" |
|||
*** WARNING C320 IN LINE 177 OF ..\source\debug\debug_drv.c: "CC: without uart3" |
|||
178 1 |
|||
179 1 #endif///D_USE_UART33 |
|||
180 1 |
|||
181 1 #ifdef D_USE_UART4 |
|||
if(1 == ts_Urec[D_UART4].ok) |
|||
{ ts_Urec[D_UART4].ok = 0;////隗」譫仙刻隶ョ |
|||
printfs("\r\nD_UART3 ok "); |
|||
|
|||
//pd = (TS_P_debug*)ts_Urecbuf.r2;//// |
|||
//L1_uartD_sendArrayhex((char *)pd, ts_Urec[D_UART2].num); |
|||
L1_uartD_Arrayhex(ts_Urecbuf.r4, ts_Urec[D_UART4].num); |
|||
} |
|||
#else |
|||
191 1 #warning "CC: without uart4" |
|||
*** WARNING C320 IN LINE 191 OF ..\source\debug\debug_drv.c: "CC: without uart4" |
|||
192 1 #endif///D_USE_UART4 |
|||
193 1 return 0; |
|||
194 1 } |
|||
195 |
|||
196 void L3_test_ONdebug(u8 filter)//// ON listen function |
|||
197 { |
|||
198 1 if(filter == pd->filter) |
|||
199 1 {///filter num d1 d2 d3 ....dn |
|||
200 2 //// FD 08 11 22 33 44 55 66 77 88 |
|||
201 2 printfs("\r\nDdebug:FD R1 R2 R3 R4 ocr FD->"); |
|||
202 2 |
|||
203 2 switch (pd->ocr) |
|||
204 2 { case 0x11:////Fd 11 22 33 44 55 66 11 |
|||
205 3 |
|||
206 3 if(pd->R6 == 0x66) |
|||
207 3 {///gb2312 |
|||
208 4 printf(" \r\n \r\n蜃�、�Ι蜀�,遑ョ隶、荳サ譛コ迚域悽+22M譎カ謖ッ+逶第オ区ウ「迚ケ邇�921600 蜷惹スソ逕ィdownload \ |
|||
-r\n "); |
|||
209 4 printf(" \r\n \r\n 3遘貞�轤ケ蜃サ 荳玖スス謖蛾聴 \r\n "); |
|||
210 4 |
|||
211 4 Lc_delay_ms(1000); |
|||
212 4 printf(" \r\n3\r\n "); |
|||
213 4 Lc_delay_ms(1000); |
|||
214 4 printf(" \r\n2\r\n "); |
|||
215 4 Lc_delay_ms(1000); |
|||
216 4 printf(" \r\n1\r\n "); |
|||
217 4 L0_IAP_enter_ISP();///BITN_1(IAP_CONTR, BITN6|BITN5); |
|||
218 4 }else |
|||
219 3 { |
|||
220 4 printf(" \r\n辜ァ蜀吝多莉、髞呵ッッ\r\n ");///gb2312 |
|||
221 4 } |
|||
222 3 break; |
|||
223 3 case 0x22: |
|||
224 3 ///FD 13 01 33 44 50 /// P13 =1 |
|||
225 3 ///FX R1 R2 R3 R4 ocr |
|||
226 3 ///FD R1 R2 R3 R4 ocr |
|||
227 3 ///FD ch adr reg 12 |
|||
228 3 ///FD 01 AE 09 44 22 隸サ蜿� iic隨ャ荳騾夐%逧�01 | 蝨ー蝮AE逧�ョセ螟� | 蟇�ュ伜勣09 |
|||
229 3 pd->ocr = L2_IICMx_Read1Reg1D(pd->R1,pd->R2,pd->R3); |
|||
230 3 printf4("22 ch:(%2X)-%2X S %2X=%2X\r\n",(int)pd->R1,(int)pd->R2,(int)pd->R3,(int)pd->ocr); |
|||
C51 COMPILER V9.54 DEBUG_DRV 09/06/2024 11:24:47 PAGE 5 |
|||
|
|||
231 3 break; |
|||
232 3 case 0x23: |
|||
233 3 ///FD 13 01 33 50 /// P13 =1 |
|||
234 3 ///FX R1 R2 R3 R4 ocr |
|||
235 3 ///FX R1 R2 R3 R4 ocr |
|||
236 3 ///FD ch adr reg dat 12 |
|||
237 3 ///FD 01 AE 09 04 23 iic隨ャ荳騾夐%逧�01 | 蝨ー蝮AE逧�ョセ螟� | 蟇�ュ伜勣09 蜀吝� 04 |
|||
238 3 printf4("23 ch:(%2X)-%2X W %2X=%2X\r\n",(int)pd->R1,(int)pd->R2,(int)pd->R3,(int)pd->R4); |
|||
239 3 L2_IICMx_WriteCmd(pd->R1,pd->R2,pd->R3,pd->R4); |
|||
240 3 break; |
|||
241 3 |
|||
242 3 |
|||
243 3 default: |
|||
244 3 printfs(" pp error\r\n "); |
|||
245 3 |
|||
246 3 break; |
|||
247 3 }; |
|||
248 2 |
|||
249 2 printfs("333"); |
|||
250 2 } |
|||
251 1 } |
|||
252 |
|||
253 ///#define D_keil_sim |
|||
254 #ifdef D_keil_sim |
|||
void UartInit(void) //9600bps@11.0592MHz |
|||
{ |
|||
SCON = 0x50; //8菴肴焚�ス?蜿ッ蜿俶ウ「迚ケ�ス? |
|||
AUXR |= 0x01; //荳イ蜿」1騾画叫螳壽慮�ス?荳コ豕「迚ケ邇�書逕滂ソス? |
|||
AUXR |= 0x04; //螳壽慮�ス?譌カ髓滉クコFosc,�ス?T |
|||
T2L = 0xE0; //隶セ螳壼ョ壽慮蛻晢ソス �ス? |
|||
T2H = 0xFE; //隶セ螳壼ョ壽慮蛻晢ソス? |
|||
AUXR |= 0x10; //蜷ッ蜉ィ螳壽慮�ス? |
|||
} |
|||
|
|||
void L3_debug_drv_init(void) |
|||
{ |
|||
|
|||
Ts_debug.uxrev = D_ts_uartX_rev; |
|||
|
|||
Ts_debug.td = (TS_P_debug *)Ts_debug.uxrev->buf; |
|||
Ts_debug.ok = &Ts_debug.uxrev->debugok; |
|||
UartInit(); |
|||
|
|||
} |
|||
|
|||
|
|||
char putchar(char ch) |
|||
{ |
|||
SBUF = ch; |
|||
while(TI == 0); |
|||
TI = 0; |
|||
return ch; |
|||
} |
|||
|
|||
#else |
|||
286 #warning "CC: putchar ok" |
|||
*** WARNING C320 IN LINE 286 OF ..\source\debug\debug_drv.c: "CC: putchar ok" |
|||
287 |
|||
288 void L3_debug_drv_init(void) |
|||
289 { |
|||
290 1 /// D_s2b_road1_init(); |
|||
291 1 } |
|||
C51 COMPILER V9.54 DEBUG_DRV 09/06/2024 11:24:47 PAGE 6 |
|||
|
|||
292 |
|||
293 char putchar(char ch) |
|||
294 { |
|||
295 1 /* Place your implementation of fputc here */ |
|||
296 1 /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */ |
|||
297 1 /// HAL_UART_Transmit_IT(&huart4, (uint8_t *)&ch, 1); |
|||
298 1 L1_uartD_uc(ch); |
|||
299 1 return ch; |
|||
300 1 ///SBUF= ch; |
|||
301 1 /// while(t) |
|||
302 1 /// while(!TI); |
|||
303 1 // TI = 0; |
|||
304 1 /// return (SBUF = ch); |
|||
305 1 } |
|||
306 #endif ///#ifdef D_keil_sim |
|||
307 |
|||
308 #if 0 |
|||
|
|||
void L3_debug_drv_init(void) |
|||
{ |
|||
L0pf_send_uc = L0_uart0_uc; |
|||
Lc_print("\r\n debug shell init:\t"); |
|||
/// io �ス�ス�ステオトア�スラシミエ�ス�ス |
|||
|
|||
Lc_print("Mode:"); |
|||
#ifdef D_debug_time |
|||
Lc_print(" debug"); |
|||
#else |
|||
//D_debug_time_using |
|||
Lc_print(" normal"); |
|||
#endif |
|||
} |
|||
|
|||
|
|||
#ifdef D_debug_sim |
|||
|
|||
fff |
|||
void L3_debug_cycle(void) |
|||
{ |
|||
INTERRUPT_UART(); |
|||
TIMER0_IRQHandler(); |
|||
|
|||
|
|||
|
|||
} |
|||
#else |
|||
|
|||
#endif |
|||
void L3_test_debug(u8 filter) |
|||
{ |
|||
if(filter == Ts_debug.td->filter) |
|||
{///filter num d1 d2 d3 ....dn |
|||
//// FD 08 11 22 33 44 55 66 77 88 |
|||
L1_uartD_sendArrayhex(Ts_debug.td,Ts_debug.td->R1); |
|||
} |
|||
} |
|||
|
|||
void L3_iicx_debug(u8 filter) |
|||
{ |
|||
if(filter == Ts_debug.td->filter) |
|||
{ |
|||
if(0x10 == Ts_debug.td->ocr)///read reg1 num 隸サ蜿睦eg1蝨ー蝮荳ュ逧�um荳ェ謨ー�ス? |
|||
C51 COMPILER V9.54 DEBUG_DRV 09/06/2024 11:24:47 PAGE 7 |
|||
|
|||
{ |
|||
|
|||
//NUM: 0 1 2 3 4 |
|||
// Fx R1 R2 R3 ocr |
|||
// sla reg1 num |
|||
/// f1 32 15 06 10 |
|||
|
|||
//NUM: 0 1 2 3 4 |
|||
// Fx R1 R2 R3 ocr |
|||
// sla reg1 num |
|||
/// f1 32 0x28 06 10 |
|||
/// f1 32 0x28 06 10 |
|||
/// 28 |
|||
/// 0010 1000 28 |
|||
/// 1010 1000 a8 |
|||
L2_IICM1_ReadReg(Ts_debug.td->R1,Ts_debug.td->R2,Ts_debug.d,Ts_debug.td->R3); |
|||
///printf("\r\n 0x%2x 0x%2x\r\n",(int)Ts_debug.d[0],(int)Ts_debug.d[1]); |
|||
L1_uartD_sendArrayhex(Ts_debug.d,Ts_debug.td->R3); |
|||
/// printf("\r\n 0x%2x\r\n",(int)Ts_debug.td->ocr); |
|||
} |
|||
else if(0x11 == Ts_debug.td->ocr) |
|||
{ |
|||
L2_IICM1_ReadReg(Ts_debug.td->R1,Ts_debug.td->R2,Ts_debug.d,Ts_debug.td->R3); |
|||
//printf("\r\n 0x%2x 0x%2x\r\n",(int)Ts_debug.d[0],(int)Ts_debug.d[1]); |
|||
//L1_uartD_sendArrayhex(Ts_debug.d,Ts_debug.td->R3); |
|||
printf("\r\n 0x%2x 0x%2x\r\n",(int)Ts_debug.d[0],(int)Ts_debug.d[1]); |
|||
} |
|||
else if(0x12 == Ts_debug.td->ocr) |
|||
{ |
|||
} |
|||
else |
|||
{ |
|||
|
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
#else |
|||
395 |
|||
396 |
|||
397 |
|||
398 #endif |
|||
399 |
|||
400 |
|||
401 |
|||
402 /****************************************************************************** |
|||
403 ** End Of File |
|||
404 ******************************************************************************/ |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 969 ---- |
|||
CONSTANT SIZE = 333 ---- |
|||
XDATA SIZE = 13 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
C51 COMPILER V9.54 DEBUG_DRV 09/06/2024 11:24:47 PAGE 8 |
|||
|
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 4 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,166 @@ |
|||
C51 COMPILER V9.54 MAIN 09/06/2024 11:24:44 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE MAIN |
|||
OBJECT MODULE PLACED IN ..\out\main.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\app\main.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOINTPROMO |
|||
-TE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;..\source |
|||
-\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRINT(..\ou |
|||
-t\main.lst) TABS(2) OBJECT(..\out\main.obj) |
|||
|
|||
line level source |
|||
|
|||
1 ////////////////////////////////////////////////////////////////////////// |
|||
2 /// COPYRIGHT NOTICE |
|||
3 /// Copyright (c) 2023 CCSENS |
|||
4 /// All rights reserved. |
|||
5 /// |
|||
6 /// @file main.c |
|||
7 /// @brief main app |
|||
8 /// |
|||
9 |
|||
10 /// 下面是一个含有两个参数的函数的注释说明(简述) |
|||
11 /// |
|||
12 /// 这里写该函数的详述信息 |
|||
13 /// @param a 被测试的变量(param描述参数) |
|||
14 /// @param s 指向描述测试信息的字符串 |
|||
15 /// @return 测试结果(return描述返回值) |
|||
16 /// @see Test() (本函数参考其它的相关的函数,这里作一个链接) |
|||
17 /// @note (note描述需要注意的问题) |
|||
18 |
|||
19 //=============================================== |
|||
20 //寄存器头文件 |
|||
21 //=============================================== |
|||
22 |
|||
23 /// 20221023_175541 CCmodify |
|||
24 |
|||
25 #include "main.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
26 #include "asp_lowpower.h" |
|||
27 |
|||
28 |
|||
29 void L0_RTC_init(void) |
|||
30 { |
|||
31 1 P_SW2 = 0x80; |
|||
32 1 // XOSCCR =0; |
|||
33 1 ///HIRCCR = 0; |
|||
34 1 IRC32KCR = 0x80; //启动内部32K IRC |
|||
35 1 while (!(IRC32KCR & 1)); //等待时钟稳定 |
|||
36 1 CLKDIV = 0x00; //时钟不分频 |
|||
37 1 /// CLKSEL = 0x03; //选择内部32K |
|||
38 1 |
|||
39 1 RTCCFG = 3; |
|||
40 1 ///RTCCFG |= 0x02; //选择内部 32K 作为 RTC 时钟源 RTCCFG | = 0x02; / / Select internal 32K as RT |
|||
-C, clock source |
|||
41 1 RTCCR = 1; |
|||
42 1 printf3("\r\n %X %X:%X",(int)(DAY), (int)(MIN), (int)(SEC)); |
|||
43 1 |
|||
44 1 D_stdIO_P2(BITN4);D_P24_REV(); |
|||
45 1 Lc_delay_ms(500); |
|||
46 1 |
|||
47 1 printf3("\r\n %X %X:%X",(int)(DAY), (int)(MIN), (int)(SEC)); |
|||
48 1 Lc_delay_ms(200);D_stdIO_P2(BITN4);D_P24_REV(); |
|||
49 1 Lc_delay_ms(500); |
|||
50 1 printf3("\r\n %X %X:%X",(int)(DAY), (int)(MIN), (int)(SEC)); |
|||
C51 COMPILER V9.54 MAIN 09/06/2024 11:24:44 PAGE 2 |
|||
|
|||
51 1 Lc_delay_ms(200);D_stdIO_P2(BITN4);D_P24_REV(); |
|||
52 1 Lc_delay_ms(500); |
|||
53 1 printf3("\r\n %X %X:%X",(int)(DAY), (int)(MIN), (int)(SEC)); |
|||
54 1 Lc_delay_ms(200); |
|||
55 1 } |
|||
56 |
|||
57 void L0_main_initled(void) |
|||
58 { |
|||
59 1 D_LED1_OFF(); |
|||
60 1 |
|||
61 1 TTSS_run_times(6) |
|||
62 1 { |
|||
63 2 D_LED1_REV(); |
|||
64 2 Lc_delay_ms(300); |
|||
65 2 } |
|||
66 1 } |
|||
67 |
|||
68 void L0_main_init(void) |
|||
69 { |
|||
70 1 int r = 0; |
|||
71 1 Lc_delay_ms(200); |
|||
72 1 L0_main_initled(); |
|||
73 1 CLKDIV = 0;////不分频,使用focs |
|||
74 1 |
|||
75 1 L0_uart1_open(); |
|||
76 1 L0_uart2_open(); |
|||
77 1 |
|||
78 1 L3_debug_drv_init(); |
|||
79 1 L1_task_tick_init(); |
|||
80 1 L0_timer0_Init(); |
|||
81 1 ET0 = 1; |
|||
82 1 |
|||
83 1 printf1("\r\nD_sys_MainFre %ld",D_sys_MainFre); |
|||
84 1 |
|||
85 1 r = L3_S_init(); |
|||
86 1 printf1("\r\nL3_S_init %d",r); |
|||
87 1 } |
|||
88 |
|||
89 //=============================================== |
|||
90 //主函数 |
|||
91 //=============================================== |
|||
92 void main(void) |
|||
93 { |
|||
94 1 u16 a= 0; |
|||
95 1 char d[9]={0xab}; |
|||
96 1 |
|||
97 1 L0_main_init(); |
|||
98 1 L3_task_weight_init(); |
|||
99 1 |
|||
100 1 TTSS_run_every_init(s_nos_tick.stamp,10); |
|||
101 1 |
|||
102 1 printfs("\r\3 main while13\r\n"); |
|||
103 1 |
|||
104 1 while(1) |
|||
105 1 { |
|||
106 2 if(1 == s_nos_tick.t1s_heartbeat)/// |
|||
107 2 { |
|||
108 3 s_nos_tick.t1s_heartbeat = 0; |
|||
109 3 L1_uartD_uc('.'); |
|||
110 3 // L0_uart2_uc('Q'); |
|||
111 3 // L0_uart2_us(0x1234); |
|||
112 3 D_LED1_REV(); |
|||
C51 COMPILER V9.54 MAIN 09/06/2024 11:24:44 PAGE 3 |
|||
|
|||
113 3 } |
|||
114 2 |
|||
115 2 // TTSS_run_every(s_nos_tick.stamp,40) |
|||
116 2 // D_LED1_REV(); |
|||
117 2 // L4_weight_out(); |
|||
118 2 // ///55 0D 0C 90 F5 77 FF 52 80 00 00 00 33 |
|||
119 2 // TTSS_run_every_end |
|||
120 2 |
|||
121 2 if(L2_debug_ONcomand()) |
|||
122 2 { |
|||
123 3 L3_weight_ONdebug(D_cmd_filter_weight);///fe xx xx/// |
|||
124 3 } |
|||
125 2 L3_task_weight_handler(&tst_weight); |
|||
126 2 } |
|||
127 1 } |
|||
128 |
|||
129 |
|||
130 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 657 ---- |
|||
CONSTANT SIZE = 74 ---- |
|||
XDATA SIZE = 13 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,281 @@ |
|||
C51 COMPILER V9.54 MSP_ADC 09/06/2024 11:24:46 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE MSP_ADC |
|||
OBJECT MODULE PLACED IN ..\out\msp_adc.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\msp\msp_adc.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOINTPR |
|||
-OMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;..\sou |
|||
-rce\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRINT(.. |
|||
-\out\msp_adc.lst) TABS(2) OBJECT(..\out\msp_adc.obj) |
|||
|
|||
line level source |
|||
|
|||
1 #include "msp_adc.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
2 #include "debug_drv.h" |
|||
3 #include "stc_8_delay.h" |
|||
4 |
|||
5 |
|||
6 /********* |
|||
7 1ã€�ç»™ MCU çš„ 内部 ADC 模å�—电æº�打开å�Žï¼Œéœ€ç‰å¾…约 1ms, ç‰ MCU 内部的 ADC 电æº�稳定 å� |
|||
-Žå†�让 ADC 工作; |
|||
8 2ã€�é€‚å½“åŠ é•¿å¯¹å¤–éƒ¨ä¿¡å�·çš„é‡‡æ ·æ—¶é—´ï¼Œå°±æ˜¯å¯¹ ADC å†…éƒ¨é‡‡æ ·ä¿�æŒ�电容的充电或放电æ |
|||
-—¶é—´,时间够, 内部æ‰�能和外部电势相ç‰ã€‚ |
|||
9 19.1.1 ADC 控制寄å˜å™¨ï¼ˆADC_CONTR),PWM 触å�‘ ADC 控制 |
|||
10 符� 地� B7 B6 B5 B4 B3 B2 B1 B0 |
|||
11 ADC_CONTR BCH ADC_POWER ADC_START ADC_FLAG ADC_EPWMT ADC_CHS[3:0] |
|||
12 ADC_POWER:ADC |
|||
13 电�控制� 0: |
|||
14 å…³é— ADC 电æº� 1:打开 ADC 电æº�。 |
|||
15 建议进入空闲模å¼�和掉电模å¼�å‰�å°† ADC 电æº�å…³é—,以é™�低功耗 |
|||
16 特别注æ„�: 1ã€�ç»™ MCU çš„ 内部 ADC 模å�—电æº�打开å�Žï¼Œéœ€ç‰å¾…约 1ms, ç‰ MCU 内部的 ADC |
|||
- 电�稳定 ��让 ADC 工作; |
|||
17 2ã€�é€‚å½“åŠ é•¿å¯¹å¤–éƒ¨ä¿¡å�·çš„é‡‡æ ·æ—¶é—´ï¼Œå°±æ˜¯å¯¹ ADC å†…éƒ¨é‡‡æ ·ä¿�æŒ�电容的充电或放电æ |
|||
-—¶é—´,时间够内部æ‰�能和外部电势相ç‰ã€‚ |
|||
18 ADC_START:ADC 转æ�¢å�¯åŠ¨æŽ§åˆ¶ä½�。写入 1 å�Žå¼€å§‹ ADC 转æ�¢ï¼Œè½¬æ�¢å®Œæˆ�å�Žç¡¬ä»¶è‡ªåЍ将æ¤ä |
|||
-½�清零。 |
|||
19 0ï¼šæ— å½±å“�。å�³ä½¿ ADC å·²ç»�开始转æ�¢å·¥ä½œï¼Œå†™ 0 也ä¸�会å�œæ¢A/D 转æ�¢ã€‚ |
|||
20 1:开始 ADC 转æ�¢ï¼Œè½¬æ�¢å®Œæˆ�å�Žç¡¬ä»¶è‡ªåЍ将æ¤ä½�清零。 |
|||
21 ADC_FLAG:ADC 转æ�¢ç»“æ�Ÿæ ‡å¿—ä½�。当 ADC 完æˆ�一次转æ�¢å�Žï¼Œç¡¬ä»¶ä¼šè‡ªåЍ将æ¤ä½�ç½® 1, |
|||
22 å¹¶å�‘ CPU æ��出 䏿–è¯·æ±‚ã€‚æ¤æ ‡å¿—ä½�必须软件清零。 |
|||
23 |
|||
24 层次 >逻辑 >æ•°æ�®æµ� >测试 >工具 > 代ç � |
|||
25 套路(方法论)�是最主�的 |
|||
26 12� 800K |
|||
27 �推 |
|||
28 22M / 64ï¼ˆé‡‡æ ·çš„æ€»æ—¶é—´ï¼‰= |
|||
29 |
|||
30 *********/ |
|||
31 |
|||
32 |
|||
33 void L0_ADC_init (unsigned char onf) |
|||
34 { |
|||
35 1 |
|||
36 1 if (onf) |
|||
37 1 { |
|||
38 2 ADC_CONTR = 0; |
|||
39 2 D_ADC_POWER_ON(); |
|||
40 2 /// |
|||
41 2 D_ADC_average(); |
|||
42 2 D_EN_EREG(); |
|||
43 2 ////500us B0000_1111 1msB0000_1111 |
|||
44 2 ADCTIM = B1010_0000|B0000_1111;///CSSETUP:ADC 通�选择时间控制 CSHOLD[1:0]:ADC 通�选择 |
|||
-��时间控制//22M |
|||
45 2 ///SMPDUTY[4:0]:ADC 模拟信å�·é‡‡æ ·æ—¶é—´æŽ§åˆ¶ Tduty(注æ„�:SMPDUTY 一定ä¸�èƒ½è®¾ç½®å° |
|||
C51 COMPILER V9.54 MSP_ADC 09/06/2024 11:24:46 PAGE 2 |
|||
|
|||
-�于 01010B) |
|||
46 2 ADCCFG = B0010_0000|4;///SPEED[3:0]:设置 ADC 工作时钟频率{FADC�SYSclk/2/(SPEED+1)� |
|||
47 2 |
|||
48 2 |
|||
49 2 Lc_delay_ms(1); |
|||
50 2 /// D_ADC_CH(D_ADC_CH_1_19); |
|||
51 2 // D_ADC_START(); |
|||
52 2 |
|||
53 2 // L1_ADC_Readx(D_ADC_CH_1_19); |
|||
54 2 |
|||
55 2 |
|||
56 2 printfs("\r\n L0_ADC_init on"); |
|||
57 2 |
|||
58 2 } |
|||
59 1 else |
|||
60 1 { |
|||
61 2 |
|||
62 2 } |
|||
63 1 } |
|||
64 |
|||
65 |
|||
66 |
|||
67 |
|||
68 /// L1_ADC_Readx(D_ADC_CH_1_19); |
|||
69 |
|||
70 U16 L1_ADC_Readx(u8 CHA) |
|||
71 { |
|||
72 1 vU16 adc_data; |
|||
73 1 vU32 overtimes; |
|||
74 1 int *BGV; //内部1.19Vå�‚考信å�·æº�å€¼å˜æ”¾åœ¨idataä¸ |
|||
75 1 //idataçš„EFH地å�€å˜æ”¾é«˜å—节 |
|||
76 1 //idataçš„F0H地å�€å˜æ”¾ä½Žå—节 |
|||
77 1 //电压��为毫�(mV) |
|||
78 1 BGV = (int idata *)0xef; |
|||
79 1 |
|||
80 1 /// vcc = (int)(1024L * *BGV / res); //(10ä½�ADC算法)计算VREF管脚电压,å�³ç”µæ± 电压 |
|||
81 1 // vcc = (int)(4096L * *BGV / res); //(12ä½�ADC算法)计算VREF管脚电压,å�³ç”µæ± 电压 |
|||
82 1 //注æ„�,æ¤ç”µåŽ‹çš„å�•ä½�为毫ä¼�(mV) |
|||
83 1 |
|||
84 1 |
|||
85 1 D_ADC_CH(CHA); |
|||
86 1 D_ADC_START(); |
|||
87 1 NOP2(); |
|||
88 1 ///BITN_S(ADCEXCFG,) |
|||
89 1 while(0 == D_ADC_OVER()) |
|||
90 1 { |
|||
91 2 if(overtimes++>600000)//// |
|||
92 2 { |
|||
93 3 printf2("\r\n !3A%x W%x\t",(int)ADC_CONTR,(int)CHA); |
|||
94 3 return 0;/// !3Ac7 W7 291 |
|||
95 3 } |
|||
96 2 } |
|||
97 1 D_ADC_CLEARFLAG(); |
|||
98 1 |
|||
99 1 adc_data = ADC_RES; |
|||
100 1 adc_data <<= 8; |
|||
101 1 adc_data |= ADC_RESL; |
|||
102 1 ///adc_data >>= 3; |
|||
103 1 //// r = adc_data; |
|||
104 1 return adc_data; |
|||
105 1 } |
|||
106 |
|||
C51 COMPILER V9.54 MSP_ADC 09/06/2024 11:24:46 PAGE 3 |
|||
|
|||
107 #if 0 |
|||
|
|||
U16 L1_ADC_Read(u8 CHA) |
|||
{ |
|||
vU16 adc_data; |
|||
ADC_CONTR &=0xF8; |
|||
ADC_CONTR |=0x40;//�动AD转� |
|||
//ADC_CONTR |= CHA; |
|||
CHA &= 0x07; //选择ADCçš„8个接å�£ä¸çš„一个(0000 0111 清0高5ä½�) |
|||
ADC_CONTR = (ADC_CONTR & 0xF0) | CHA; |
|||
NOP(); |
|||
NOP(); |
|||
while (!(ADC_CONTR & 0x20)); //查询ADC完æˆ�æ ‡å¿— |
|||
ADC_CONTR &= ~0x20; //æ¸…æ ‡å¿— |
|||
adc_data = ADC_RES; |
|||
adc_data <<= 8; |
|||
adc_data |= ADC_RESL; |
|||
//adc_data = adc_data<<2; |
|||
//adc_data = ADC_RESL & 0X03; |
|||
//adc_data = adc_data | adc_data; |
|||
///L0_uart1_sendstr("ADC:"); |
|||
///L0_uart1_ushex(adc_data); |
|||
///L0_uart1_0d0a(); |
|||
return (adc_data); //返回A/D转�结果(8�) |
|||
|
|||
} |
|||
|
|||
///D_cmd_filter_adc L3_ADC_debug(D_cmd_filter_adc) |
|||
|
|||
|
|||
void L3_ADC_debug(u8 filter) |
|||
{ |
|||
u8 i; |
|||
if(filter == Ts_debug.td->filter) |
|||
{///filter num d1 d2 d3 ....dn |
|||
//// FD 08 11 22 33 44 55 66 77 88 |
|||
L1_uartD_uchexArray(Ts_debug.td,Ts_debug.td->R1); |
|||
if(0x10 == Ts_debug.td->ocr)///read 读,判æ–哪个adc读å�– |
|||
{//fa 05 f1 33 10 |
|||
//NUM: 0 1 2 3 4 |
|||
// Fx R1 R2 R3 ocr |
|||
// sla reg1 num |
|||
/// f1 32 15 06 10 |
|||
//printf("\r\n ch(%d)=",(int)Ts_debug.td->R2); |
|||
for(i = 0xf1;i <= 0xf8;i++) |
|||
{ |
|||
Ts_debug.au16 = L1_ADC_Read_PT(i); |
|||
printf(" %XH %d ",(int)Ts_debug.au16,(int)Ts_debug.au16); //adc1 |
|||
} |
|||
/* |
|||
Ts_debug.au16 = L1_ADC_Read_PT(Ts_debug.td->R2 = 0xf2); |
|||
printf(" %XH %d ",(int)Ts_debug.au16,(int)Ts_debug.au16); //adc2 |
|||
|
|||
Ts_debug.au16 = L1_ADC_Read_PT(Ts_debug.td->R2 = 0xf3); |
|||
printf(" %XH %d ",(int)Ts_debug.au16,(int)Ts_debug.au16); //adc3 |
|||
|
|||
Ts_debug.au16 = L1_ADC_Read_PT(Ts_debug.td->R2 = 0xf4); |
|||
printf(" %XH %d ",(int)Ts_debug.au16,(int)Ts_debug.au16); //adc4 |
|||
|
|||
Ts_debug.au16 = L1_ADC_Read_PT(Ts_debug.td->R2 = 0xf5 ); |
|||
printf(" %XH %d ",(int)Ts_debug.au16,(int)Ts_debug.au16); //adc5 |
|||
Ts_debug.au16 = L1_ADC_Read_PT(Ts_debug.td->R2 = 0xf6); |
|||
C51 COMPILER V9.54 MSP_ADC 09/06/2024 11:24:46 PAGE 4 |
|||
|
|||
printf(" %XH %d ",(int)Ts_debug.au16,(int)Ts_debug.au16); //adc6 |
|||
Ts_debug.au16 = L1_ADC_Read_PT(Ts_debug.td->R2 = 0xf7); |
|||
printf(" %XH %d ",(int)Ts_debug.au16,(int)Ts_debug.au16); //adc7 |
|||
Ts_debug.au16 = L1_ADC_Read_PT(Ts_debug.td->R2 = 0xf8); |
|||
printf(" %XH %d ",(int)Ts_debug.au16,(int)Ts_debug.au16); //adc8 |
|||
*/ |
|||
} |
|||
else if(0x11 == Ts_debug.td->ocr) |
|||
{ |
|||
//printf("\r\n ch(%d)=",(int)Ts_debug.td->R1); |
|||
//Ts_debug.au16 = L1_ADC_Read_PT(Ts_debug.td->R1); |
|||
} |
|||
else if(0x12 == Ts_debug.td->ocr) |
|||
{ |
|||
} |
|||
else |
|||
{ |
|||
//printf"(\r\n ch(%d)=",(int)Ts_debug.td->R1); |
|||
//Ts_debug.au16 = L1_ADC_Read_PT(Ts_debug.td->R1); |
|||
} |
|||
} |
|||
} |
|||
|
|||
U16 L1_ADC_Read_VBAT (unsigned char CHA)//CHA通�� |
|||
{ |
|||
U16 adc_data; |
|||
#if 0 |
|||
U8 AD_FIN=0; //å˜å‚¨A/D转æ�¢æ ‡å¿— |
|||
//CHA &= 0x07; //选择ADCçš„8个接å�£ä¸çš„一个(0000 0111 清0高5ä½�) |
|||
ADC_CONTR = 0x40; //ADC转æ�¢çš„速度(0XX0 0000 å…¶ä¸XXæŽ§åˆ¶é€Ÿåº¦ï¼Œè¯·æ ¹æ�®æ•°æ�®æ‰‹å†Œè®¾ç½® |
|||
Lc_delay_nop(1); |
|||
//ADC_CONTR |= CHA; //选择A/D当�通� |
|||
//Lc_delay_nop(1); |
|||
ADC_CONTR |= 0x80; //�动A/D电� |
|||
Lc_delay_ms(1); //使输入电压达到稳定(1ms��) |
|||
ADC_CFG = 0x20; |
|||
Lc_delay_nop(1); |
|||
CHA &= 0x07; //选择ADCçš„8个接å�£ä¸çš„一个(0000 0111 清0高5ä½�) |
|||
//ADC_CONTR |= CHA; //选择A/D当�通� |
|||
ADC_CONTR = (ADC_CONTR & 0xF0) | CHA; |
|||
Lc_delay_nop(1); |
|||
ADC_CONTR |= 0x40; //�动AD转� |
|||
NOP(); |
|||
NOP(); |
|||
while (!(ADC_CONTR & 0x20)); //查询ADC完æˆ�æ ‡å¿— |
|||
ADC_CONTR &= ~0x20; //清完æˆ�æ ‡å¿— |
|||
//P2 = ADC_RES; //读�ADC结果 |
|||
#endif |
|||
ADC_CONTR &=0xF8; |
|||
ADC_CONTR |=0x40;//�动AD转� |
|||
//ADC_CONTR |= CHA; |
|||
ADC_CONTR = (ADC_CONTR & 0xF0) | CHA; |
|||
NOP(); |
|||
NOP(); |
|||
while (!(ADC_CONTR & 0x20)); //查询ADC完æˆ�æ ‡å¿— |
|||
ADC_CONTR &= ~0x20; //æ¸…æ ‡å¿— |
|||
adc_data = ADC_RES; |
|||
adc_data <<= 8; |
|||
adc_data |= ADC_RESL; |
|||
//adc_data = adc_data<<2; |
|||
//adc_data = ADC_RESL & 0X03; |
|||
//adc_data = adc_data | adc_data; |
|||
C51 COMPILER V9.54 MSP_ADC 09/06/2024 11:24:46 PAGE 5 |
|||
|
|||
//L0_uart0_ushex(adc_data); |
|||
//L0_uart0_0d0a(); |
|||
return (adc_data); //返回A/D转�结果(8�) |
|||
} |
|||
#endif |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 255 ---- |
|||
CONSTANT SIZE = 33 ---- |
|||
XDATA SIZE = 11 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,280 @@ |
|||
C51 COMPILER V9.54 MSP_EEPROM 09/06/2024 11:24:46 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE MSP_EEPROM |
|||
OBJECT MODULE PLACED IN ..\out\msp_eeprom.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\msp\msp_eeprom.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOIN |
|||
-TPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;..\ |
|||
-source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRINT |
|||
-(..\out\msp_eeprom.lst) TABS(2) OBJECT(..\out\msp_eeprom.obj) |
|||
|
|||
line level source |
|||
|
|||
1 //////////////////////////////////////////////////////////////////////////// |
|||
2 ///@copyright Copyright (c) 2018, ä¼ æŽ§ç§‘æŠ€ All rights reserved. |
|||
3 ///------------------------------------------------------------------------- |
|||
4 /// @file msp_eeprom.c |
|||
5 /// @brief msp @ driver config |
|||
6 ///------------------------------------------------------------------------- |
|||
7 /// @version 1.0 |
|||
8 /// @author CC |
|||
9 /// @date 20190106 |
|||
10 /// @note cc_AS_stc02 ç”±stc-isp v6.0860 |
|||
11 ////////////////////////////////////////////////////////////////////////////// |
|||
12 |
|||
13 ///cc 2023/04/07--8:44:38 |
|||
14 /* |
|||
15 EEPROM 的写æ“�作å�ªèƒ½å°†å—节ä¸çš„ 1 写为 0,当需è¦�å°†å—节ä¸çš„ 0 写为 1ï¼Œåˆ™å¿…é¡»æ‰§è¡ |
|||
-Œæ‰‡åŒº 擦除æ“�作。 |
|||
16 EEPROM 的读/写æ“�作是以 1 å—节为å�•ä½�进行,而 EEPROM 擦除æ“�作是以 1 扇区(512 å—èŠ |
|||
-‚) 为å�•ä½�进行, |
|||
17 在执行擦除æ“�ä½œæ—¶ï¼Œå¦‚æžœç›®æ ‡æ‰‡åŒºä¸æœ‰éœ€è¦�ä¿�留的数æ�®ï¼Œåˆ™å¿…须预先将这些数æ�®è |
|||
-¯»å�–到 RAM 䏿š‚å˜ï¼Œ |
|||
18 待擦除完æˆ�å�Žå†�å°†ä¿�å˜çš„æ•°æ�®å’Œéœ€è¦�更新的数æ�®ä¸€èµ·å†�写回 |
|||
19 EEPROM Write operation can only write 1 in the byte as 0, when you need to write 0 in the byte as 1, |
|||
20 you must be sector erased. EEPROM Read / write operation is conducted in 1 byte, |
|||
21 while EEPROM, erasure operation is conducted in 1 sector (512 bytes). During the wipe operation, |
|||
22 if the data in the target sector, the data must be read in the RAM in advance, |
|||
23 and the saved data will be written back together with the data to be updated |
|||
24 |
|||
25 fixme:注�时钟和flash 相关 �时关注掉电和容错 |
|||
26 |
|||
27 */ |
|||
28 |
|||
29 #include "msp_eeprom.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
30 |
|||
31 #include "debug_drv.h" |
|||
32 |
|||
33 #if(TYPE_MCU == TYPE_MCU_STC_8A || TYPE_MCU == TYPE_MCU_STC_8F) |
|||
xxx |
|||
#define WT_30M 0x80 |
|||
#define WT_24M 0x81 |
|||
#define WT_20M 0x82 |
|||
#define WT_12M 0x83 |
|||
#define WT_6M 0x84 |
|||
#define WT_3M 0x85 |
|||
#define WT_2M 0x86 |
|||
#define WT_1M 0x87 |
|||
|
|||
sdfasdfasdf |
|||
void L0_Iap_Idle() |
|||
{ |
|||
IAP_CONTR = 0; //å…³é—IAP功能 |
|||
IAP_CMD = 0; //清除命令寄å˜å™¨ |
|||
C51 COMPILER V9.54 MSP_EEPROM 09/06/2024 11:24:46 PAGE 2 |
|||
|
|||
IAP_TRIG = 0; //清除触å�‘寄å˜å™¨ |
|||
IAP_ADDRH = 0x80; //将地�设置到�IAP区域 |
|||
IAP_ADDRL = 0; |
|||
} |
|||
|
|||
char L0_Iap_Read(vU16 addr) |
|||
{ |
|||
char dat; |
|||
|
|||
IAP_CONTR = WT_12M; //使能IAP |
|||
IAP_CMD = 1; //设置IAP读命令 |
|||
IAP_ADDRL = addr; //设置IAP低地� |
|||
IAP_ADDRH = addr >> 8; //设置IAP高地� |
|||
IAP_TRIG = 0x5a; //写触�命令(0x5a) |
|||
IAP_TRIG = 0xa5; //写触�命令(0xa5) |
|||
_nop_(); |
|||
dat = IAP_DATA; //读IAP数� |
|||
L0_Iap_Idle(); //å…³é—IAP功能 |
|||
|
|||
return dat; |
|||
} |
|||
|
|||
void L0_Iap_Program(vU16 addr, char dat) |
|||
{ |
|||
IAP_CONTR = WT_12M; //使能IAP |
|||
IAP_CMD = 2; //设置IAP写命令 |
|||
IAP_ADDRL = addr; //设置IAP低地� |
|||
IAP_ADDRH = addr >> 8; //设置IAP高地� |
|||
IAP_DATA = dat; //写IAP数� |
|||
IAP_TRIG = 0x5a; //写触�命令(0x5a) |
|||
IAP_TRIG = 0xa5; //写触�命令(0xa5) |
|||
_nop_(); |
|||
L0_Iap_Idle(); //å…³é—IAP功能 |
|||
} |
|||
|
|||
///æ¯�个扇区512å—节 |
|||
///指定地��以为当�扇区内的任�地�,都会完整擦除当�扇区 |
|||
void L0_Iap_Erase(vU16 addr) |
|||
{ |
|||
IAP_CONTR = WT_12M; //使能IAP |
|||
IAP_CMD = 3; //设置IAP擦除命令 |
|||
IAP_ADDRL = addr; //设置IAP低地� |
|||
IAP_ADDRH = addr >> 8; //设置IAP高地� |
|||
IAP_TRIG = 0x5a; //写触�命令(0x5a) |
|||
IAP_TRIG = 0xa5; //写触�命令(0xa5) |
|||
_nop_(); // |
|||
L0_Iap_Idle(); //å…³é—IAP功能 |
|||
} |
|||
|
|||
#elif (TYPE_MCU == TYPE_MCU_STC_8G || TYPE_MCU == TYPE_MCU_STC_8H) |
|||
99 void L0_Iap_Idle() |
|||
100 { |
|||
101 1 IAP_CONTR = 0; //å…³é—IAP功能 |
|||
102 1 IAP_CMD = 0; //清除命令寄å˜å™¨ |
|||
103 1 IAP_TRIG = 0; //清除触å�‘寄å˜å™¨ |
|||
104 1 IAP_ADDRH = 0x80; //将地�设置到�IAP区域 |
|||
105 1 IAP_ADDRL = 0; |
|||
106 1 } |
|||
107 |
|||
108 char L0_Iap_Read(vU16 addr) |
|||
109 { |
|||
110 1 char dat; |
|||
C51 COMPILER V9.54 MSP_EEPROM 09/06/2024 11:24:46 PAGE 3 |
|||
|
|||
111 1 |
|||
112 1 IAP_CONTR = 0x80; //使能IAP |
|||
113 1 IAP_TPS = 12; |
|||
114 1 IAP_CMD = 1; //设置IAP读命令 |
|||
115 1 IAP_ADDRL = addr; //设置IAP低地� |
|||
116 1 IAP_ADDRH = addr >> 8; //设置IAP高地� |
|||
117 1 IAP_TRIG = 0x5a; //写触�命令(0x5a) |
|||
118 1 IAP_TRIG = 0xa5; //写触�命令(0xa5) |
|||
119 1 _nop_(); |
|||
120 1 dat = IAP_DATA; //读IAP数� |
|||
121 1 L0_Iap_Idle(); //å…³é—IAP功能 |
|||
122 1 |
|||
123 1 return dat; |
|||
124 1 } |
|||
125 |
|||
126 void L0_Iap_Program(vU16 addr, char dat) |
|||
127 { |
|||
128 1 IAP_CONTR = 0x80; //使能IAP |
|||
129 1 IAP_TPS = 12; //设置擦除ç‰å¾…å�‚æ•° 12MHz |
|||
130 1 IAP_CMD = 2; //设置IAP写命令 |
|||
131 1 IAP_ADDRL = addr; //设置IAP低地� |
|||
132 1 IAP_ADDRH = addr >> 8; //设置IAP高地� |
|||
133 1 IAP_DATA = dat; //写IAP数� |
|||
134 1 IAP_TRIG = 0x5a; //写触�命令(0x5a) |
|||
135 1 IAP_TRIG = 0xa5; //写触�命令(0xa5) |
|||
136 1 _nop_(); |
|||
137 1 L0_Iap_Idle(); //å…³é—IAP功能 |
|||
138 1 } |
|||
139 |
|||
140 ///æ¯�个扇区512å—节 |
|||
141 ///指定地��以为当�扇区内的任�地�,都会完整擦除当�扇区 |
|||
142 void L0_Iap_Erase(vU16 addr) |
|||
143 { |
|||
144 1 IAP_CONTR = 0x80; //使能IAP |
|||
145 1 IAP_TPS = 12; //设置擦除ç‰å¾…å�‚æ•° 12MHz |
|||
146 1 IAP_CMD = 3; //设置IAP擦除命令 |
|||
147 1 IAP_ADDRL = addr; //设置IAP低地� |
|||
148 1 IAP_ADDRH = addr >> 8; //设置IAP高地� |
|||
149 1 IAP_TRIG = 0x5a; //写触�命令(0x5a) |
|||
150 1 IAP_TRIG = 0xa5; //写触�命令(0xa5) |
|||
151 1 _nop_(); // |
|||
152 1 L0_Iap_Idle(); //å…³é—IAP功能 |
|||
153 1 } |
|||
154 #endif |
|||
155 |
|||
156 |
|||
157 void L0_Iap_Program_array(vU16 addr,U8 *buf,U8 len) |
|||
158 { |
|||
159 1 U8 i = 0; |
|||
160 1 L0_Iap_Erase(addr);/////fixme: 需è¦�å’Œaddré…�å�ˆå¥½ 一次就擦除512å—节 |
|||
161 1 for(i=0;i<len;i++) |
|||
162 1 { |
|||
163 2 L0_Iap_Program(addr + i,buf[i]); |
|||
164 2 } |
|||
165 1 } |
|||
166 |
|||
167 void L0_Iap_Read_array(vU16 addr,U8 *buf,U8 len) |
|||
168 { |
|||
169 1 U8 i = 0; |
|||
170 1 for(i = 0;i < len;i ++) |
|||
171 1 { |
|||
172 2 buf[i] = L0_Iap_Read(addr + i); |
|||
C51 COMPILER V9.54 MSP_EEPROM 09/06/2024 11:24:46 PAGE 4 |
|||
|
|||
173 2 } |
|||
174 1 /// L1_uartD_uchexArray(buf,len); |
|||
175 1 } |
|||
176 |
|||
177 /**************************************************** |
|||
178 |
|||
179 U_F16 uf_ee_add; |
|||
180 |
|||
181 //// AX CMD R2 R3 R4 |
|||
182 /// Ae 01 01 03 04 |
|||
183 ///L3_GC032A_fun |
|||
184 // bsp/bsp_debug |
|||
185 void L1_Iap_main(void) |
|||
186 { |
|||
187 |
|||
188 int i;char m; |
|||
189 L0_Iap_Erase(0); |
|||
190 |
|||
191 |
|||
192 for(i = 0;i <100; i++) |
|||
193 { |
|||
194 L0_Iap_Program(i,i); |
|||
195 } |
|||
196 for(i = 0;i <200; i++) |
|||
197 { |
|||
198 m = L0_Iap_Read(i); |
|||
199 L0_uart0_uc(m); |
|||
200 } |
|||
201 |
|||
202 /// while(1); |
|||
203 |
|||
204 |
|||
205 |
|||
206 } |
|||
207 |
|||
208 /// |
|||
209 void L3_eeprom_fun(U8 *pPara) |
|||
210 { |
|||
211 TS_P_debug *p = pPara; |
|||
212 switch(p->cmd) |
|||
213 { |
|||
214 //Ae 03 03 04 00 |
|||
215 //xx 03 R2 R3 xx |
|||
216 case 4: |
|||
217 L0_Iap_Erase(uf_ee_add.us); |
|||
218 break; |
|||
219 case 5: |
|||
220 L0_Iap_Program(uf_ee_add.us,p->R2); |
|||
221 break; |
|||
222 case 6: |
|||
223 L0_uart0_uc(L0_Iap_Read(uf_ee_add.us)); |
|||
224 break; |
|||
225 case 7:///选择地� |
|||
226 uf_ee_add.BYTE2.H = p->R2; //h |
|||
227 uf_ee_add.BYTE2.L = p->R3; //L |
|||
228 break; |
|||
229 default: |
|||
230 break; |
|||
231 }; |
|||
232 } |
|||
233 |
|||
234 |
|||
C51 COMPILER V9.54 MSP_EEPROM 09/06/2024 11:24:46 PAGE 5 |
|||
|
|||
235 ****************************************************/ |
|||
236 |
|||
237 |
|||
238 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 390 ---- |
|||
CONSTANT SIZE = ---- ---- |
|||
XDATA SIZE = 22 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,885 @@ |
|||
C51 COMPILER V9.54 MSP_IICMX 09/06/2024 11:24:46 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE MSP_IICMX |
|||
OBJECT MODULE PLACED IN ..\out\msp_iicMx.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\msp\msp_iicMx.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOINT |
|||
-PROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;..\s |
|||
-ource\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRINT( |
|||
-..\out\msp_iicMx.lst) TABS(2) OBJECT(..\out\msp_iicMx.obj) |
|||
|
|||
line level source |
|||
|
|||
1 ////////////////////////////////////////////////////////////////////////// |
|||
2 /// COPYRIGHT NOTICE |
|||
3 /// Copyright (c) 2023 CCSENS |
|||
4 /// All rights reserved. |
|||
5 /// |
|||
6 /// @file iic_sim |
|||
7 /// @brief iic 璅⊥�io ��𧋦嚗� �稪pu�惩�嚗�𣈲銝���閬�耨�寧�撠望糓憭游遆�唬葉��恣� |
|||
-𡁜�銋� |
|||
8 /// @info 憒��敹��霂瑕嚉靽格㺿 |
|||
9 ///嚗�𧋦��辣摰䂿緵����賜�霂西膩嚗� |
|||
10 /// |
|||
11 /// @version 1.1 CCsens technology |
|||
12 /// @author CC |
|||
13 /// @date 20180102 |
|||
14 /// @version 1.2 CCsens technology |
|||
15 /// @author CC |
|||
16 /// @date 20230312 |
|||
17 |
|||
18 // |
|||
19 ////////////////////////////////////////////////////////////////////////// |
|||
20 |
|||
21 #include "msp_iicMx.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
22 #include "stc_8_delay.h" |
|||
23 |
|||
24 TS_iicm_ ts_iicm; |
|||
25 |
|||
26 /*------------------------------------------------ |
|||
27 蝡臬藁摰帋� |
|||
28 �沉2C�餌瑪隡㰘��唳旿餈��銝哨�瘥譍�颲㮖�銝芸���� |
|||
29 �質�頝煺�銝芸�蝑𠉛𠶖�����𦻖�嗅膥�交𤣰�唳旿����� |
|||
30 �臭誑�朞�摨𠉛�雿齿䔉�羓䰻�煾��膥���蝑𥪯���𧒄�蠘��� |
|||
31 隞滨眏銝餅㦤鈭抒�嚗諹���蝑𥪯���㺭�桃𠶖����萄儐�𡏭� |
|||
32 �交𤣰靚�漣�麨�萘��笔�嚗�朖�餅糓�望𦻖�嗅膥鈭抒�摨𠉛�雿㵪� |
|||
33 �典�摨𠉛��園��匧��罸𡢿�交𤣰�典�憿餃�SDA 蝥踵� |
|||
34 雿𠬍�雿踹��刻�銝芣𧒄�蠘��脩�擃条㩞撟單��港���迅摰𡁶�雿𡒊㩞撟喉�閫�㦛9嚗� 嚗� |
|||
35 敶梶�敹�◆���撱箇��䔶���𧒄�� |
|||
36 嚗�祕蝏�窈�仿�銵�6嚗� ��蜓�箏�隞擧㦤�煾��㺭�格𧒄嚗� |
|||
37 摨𠉛�雿滨眏隞擧㦤鈭抒�嚗𥕢蜓�箔�隞擧㦤�交𤣰�唳旿�塚�摨𠉛�雿� |
|||
38 �曹蜓�箔漣�麄�� |
|||
39 I2C�餌瑪���閫��嚗� 摨𠉛�雿滢蛹0銵函內�交𤣰�典�蝑� 嚗㇁CK嚗� 嚗� |
|||
40 撣詨虜蝞�霈唬蛹A嚗� 銝�1�躰”蝷粹�摨𠉛� 嚗𠃊ACK嚗� 嚗� |
|||
41 撣貊�霈唬蛹NA�����膥�煾��SB銋见�嚗��敶㯄��鋤DA蝥選��厰�SDA嚗� 嚗� |
|||
42 隞亦�敺�𦻖�嗅膥鈭抒�摨𠉛�雿溻�� |
|||
43 憒���交𤣰�典銁�交𤣰摰峕��𦒘�銝芸�����唳旿嚗� |
|||
44 �𤥁����賢��交𤣰�游���㺭�格𧒄嚗��敶㮖漣�罸�摨𠉛�靽� |
|||
45 �瑟䔉�𡁶䰻�煾��膥�����膥憒���𤑳緵�交𤣰�其漣�煺��𧼮�蝑𠉛𠶖��� |
|||
46 �坔�敶梶�甇W����� |
|||
47 |
|||
48 ------------------------------------------------*/ |
|||
49 ///<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< |
|||
50 |
|||
C51 COMPILER V9.54 MSP_IICMX 09/06/2024 11:24:46 PAGE 2 |
|||
|
|||
51 |
|||
52 void L0_IICMx_SDA_outin(vtype ch,vtype v) |
|||
53 { |
|||
54 1 if(v)///颲枏枂 |
|||
55 1 { |
|||
56 2 switch (ch) |
|||
57 2 { |
|||
58 3 case D_iicch_0: |
|||
59 3 L0_IICM0_SDA_OUT(); |
|||
60 3 break; |
|||
61 3 case D_iicch_1: |
|||
62 3 L0_IICM1_SDA_OUT(); |
|||
63 3 #ifdef D_SIIC_USE_2 |
|||
case D_iicch_2: |
|||
L0_IICM2_SDA_OUT(); |
|||
break; |
|||
#endif |
|||
68 3 #ifdef D_SIIC_USE_3 |
|||
case D_iicch_3: |
|||
L0_IICM3_SDA_OUT(); |
|||
break; |
|||
#endif |
|||
73 3 #ifdef D_SIIC_USE_4 |
|||
case D_iicch_4: |
|||
L0_IICM4_SDA_OUT(); |
|||
break; |
|||
#endif |
|||
78 3 #ifdef D_SIIC_USE_5 |
|||
case D_iicch_5: |
|||
L0_IICM5_SDA_OUT(); |
|||
break; |
|||
#endif |
|||
83 3 #ifdef D_SIIC_USE_6 |
|||
case D_iicch_6: |
|||
L0_IICM6_SDA_OUT(); |
|||
break; |
|||
#endif |
|||
88 3 #ifdef D_SIIC_USE_7 |
|||
case D_iicch_7: |
|||
L0_IICM7_SDA_OUT(); |
|||
break; |
|||
#endif |
|||
93 3 #ifdef D_SIIC_USE_8 |
|||
case D_iicch_8: |
|||
L0_IICM8_SDA_OUT(); |
|||
break; |
|||
#endif |
|||
98 3 default: |
|||
99 3 break; |
|||
100 3 |
|||
101 3 } |
|||
102 2 // L0_slc_1_delay(); |
|||
103 2 } |
|||
104 1 else |
|||
105 1 { |
|||
106 2 switch (ch) |
|||
107 2 { |
|||
108 3 case D_iicch_0: |
|||
109 3 L0_IICM0_SDA_IN(); |
|||
110 3 break; |
|||
111 3 case D_iicch_1: |
|||
112 3 L0_IICM1_SDA_IN(); |
|||
C51 COMPILER V9.54 MSP_IICMX 09/06/2024 11:24:46 PAGE 3 |
|||
|
|||
113 3 break; |
|||
114 3 #ifdef D_SIIC_USE_2 |
|||
case D_iicch_2: |
|||
L0_IICM2_SDA_IN(); |
|||
break; |
|||
#endif |
|||
119 3 #ifdef D_SIIC_USE_3 |
|||
case D_iicch_3: |
|||
L0_IICM3_SDA_IN(); |
|||
break; |
|||
#endif |
|||
124 3 #ifdef D_SIIC_USE_4 |
|||
case D_iicch_4: |
|||
L0_IICM4_SDA_IN(); |
|||
break; |
|||
#endif |
|||
129 3 #ifdef D_SIIC_USE_5 |
|||
case D_iicch_5: |
|||
L0_IICM5_SDA_IN(); |
|||
break; |
|||
#endif |
|||
134 3 #ifdef D_SIIC_USE_6 |
|||
case D_iicch_6: |
|||
L0_IICM6_SDA_IN(); |
|||
break; |
|||
#endif |
|||
139 3 #ifdef D_SIIC_USE_7 |
|||
case D_iicch_7: |
|||
L0_IICM7_SDA_IN(); |
|||
break; |
|||
#endif |
|||
144 3 #ifdef D_SIIC_USE_8 |
|||
case D_iicch_8: |
|||
L0_IICM8_SDA_IN(); |
|||
|
|||
break; |
|||
#endif |
|||
150 3 default: |
|||
151 3 break; |
|||
152 3 |
|||
153 3 } |
|||
154 2 // L0_slc_f_delay(); |
|||
155 2 } |
|||
156 1 |
|||
157 1 } |
|||
158 |
|||
159 |
|||
160 void L0_IICMx_SDA(vtype ch,vtype v) |
|||
161 { |
|||
162 1 if(v) |
|||
163 1 { |
|||
164 2 switch (ch) |
|||
165 2 { |
|||
166 3 case D_iicch_0: |
|||
167 3 L0_IICM0_SDA_ON(); |
|||
168 3 break; |
|||
169 3 case D_iicch_1: |
|||
170 3 L0_IICM1_SDA_ON(); |
|||
171 3 break; |
|||
172 3 #ifdef D_SIIC_USE_2 |
|||
case D_iicch_2: |
|||
L0_IICM2_SDA_ON(); |
|||
C51 COMPILER V9.54 MSP_IICMX 09/06/2024 11:24:46 PAGE 4 |
|||
|
|||
break; |
|||
#endif |
|||
177 3 #ifdef D_SIIC_USE_3 |
|||
case D_iicch_3: |
|||
L0_IICM3_SDA_ON(); |
|||
break; |
|||
#endif |
|||
182 3 #ifdef D_SIIC_USE_4 |
|||
case D_iicch_4: |
|||
L0_IICM4_SDA_ON(); |
|||
break; |
|||
#endif |
|||
187 3 #ifdef D_SIIC_USE_5 |
|||
case D_iicch_5: |
|||
L0_IICM5_SDA_ON(); |
|||
break; |
|||
#endif |
|||
192 3 #ifdef D_SIIC_USE_6 |
|||
case D_iicch_6: |
|||
L0_IICM6_SDA_ON(); |
|||
break; |
|||
#endif |
|||
197 3 #ifdef D_SIIC_USE_7 |
|||
case D_iicch_7: |
|||
L0_IICM7_SDA_ON(); |
|||
break; |
|||
#endif |
|||
202 3 #ifdef D_SIIC_USE_8 |
|||
case D_iicch_8: |
|||
L0_IICM8_SDA_ON(); |
|||
break; |
|||
#endif |
|||
207 3 default: |
|||
208 3 break; |
|||
209 3 |
|||
210 3 } |
|||
211 2 // L0_slc_1_delay(); |
|||
212 2 } |
|||
213 1 else |
|||
214 1 { |
|||
215 2 switch (ch) |
|||
216 2 { |
|||
217 3 case D_iicch_0: |
|||
218 3 L0_IICM0_SDA_OFF(); |
|||
219 3 break; |
|||
220 3 case D_iicch_1: |
|||
221 3 L0_IICM1_SDA_OFF(); |
|||
222 3 |
|||
223 3 break; |
|||
224 3 #ifdef D_SIIC_USE_2 |
|||
case D_iicch_2: |
|||
L0_IICM2_SDA_OFF(); |
|||
break; |
|||
#endif |
|||
229 3 #ifdef D_SIIC_USE_3 |
|||
case D_iicch_3: |
|||
L0_IICM3_SDA_OFF(); |
|||
break; |
|||
#endif |
|||
234 3 #ifdef D_SIIC_USE_4 |
|||
case D_iicch_4: |
|||
L0_IICM4_SDA_OFF(); |
|||
C51 COMPILER V9.54 MSP_IICMX 09/06/2024 11:24:46 PAGE 5 |
|||
|
|||
break; |
|||
#endif |
|||
239 3 #ifdef D_SIIC_USE_5 |
|||
case D_iicch_5: |
|||
L0_IICM5_SDA_OFF(); |
|||
break; |
|||
#endif |
|||
244 3 #ifdef D_SIIC_USE_6 |
|||
case D_iicch_6: |
|||
L0_IICM6_SDA_OFF(); |
|||
break; |
|||
#endif |
|||
249 3 #ifdef D_SIIC_USE_7 |
|||
case D_iicch_7: |
|||
L0_IICM7_SDA_OFF(); |
|||
break; |
|||
#endif |
|||
254 3 #ifdef D_SIIC_USE_8 |
|||
case D_iicch_8: |
|||
L0_IICM8_SDA_OFF(); |
|||
break; |
|||
#endif |
|||
259 3 default: |
|||
260 3 break; |
|||
261 3 |
|||
262 3 } |
|||
263 2 // L0_slc_f_delay(); |
|||
264 2 } |
|||
265 1 |
|||
266 1 } |
|||
267 |
|||
268 void L0_IICMx_SCL(vtype ch,vtype v) |
|||
269 { |
|||
270 1 if(v) |
|||
271 1 { |
|||
272 2 switch (ch) |
|||
273 2 { |
|||
274 3 case D_iicch_0: |
|||
275 3 L0_IICM0_SCL_ON(); |
|||
276 3 break; |
|||
277 3 case D_iicch_1: |
|||
278 3 L0_IICM1_SCL_ON(); |
|||
279 3 break; |
|||
280 3 #ifdef D_SIIC_USE_2 |
|||
|
|||
case D_iicch_2: |
|||
L0_IICM2_SCL_ON(); |
|||
break; |
|||
#endif |
|||
286 3 #ifdef D_SIIC_USE_3 |
|||
case D_iicch_3: |
|||
L0_IICM3_SCL_ON(); |
|||
break; |
|||
#endif |
|||
291 3 #ifdef D_SIIC_USE_4 |
|||
case D_iicch_4: |
|||
L0_IICM4_SCL_ON(); |
|||
break; |
|||
#endif |
|||
296 3 #ifdef D_SIIC_USE_5 |
|||
case D_iicch_5: |
|||
L0_IICM5_SCL_ON(); |
|||
C51 COMPILER V9.54 MSP_IICMX 09/06/2024 11:24:46 PAGE 6 |
|||
|
|||
break; |
|||
#endif |
|||
301 3 #ifdef D_SIIC_USE_6 |
|||
case D_iicch_6: |
|||
L0_IICM6_SCL_ON(); |
|||
break; |
|||
#endif |
|||
306 3 #ifdef D_SIIC_USE_7 |
|||
case D_iicch_7: |
|||
L0_IICM7_SCL_ON(); |
|||
break; |
|||
#endif |
|||
311 3 #ifdef D_SIIC_USE_8 |
|||
case D_iicch_8: |
|||
L0_IICM8_SCL_ON(); |
|||
break; |
|||
#endif |
|||
316 3 default: |
|||
317 3 break; |
|||
318 3 } |
|||
319 2 L0_slc_1_delay(ts_iicm.t1[ch]); |
|||
320 2 } |
|||
321 1 else |
|||
322 1 { |
|||
323 2 switch (ch) |
|||
324 2 { |
|||
325 3 case D_iicch_0: |
|||
326 3 L0_IICM0_SCL_OFF(); |
|||
327 3 break; |
|||
328 3 case D_iicch_1: |
|||
329 3 L0_IICM1_SCL_OFF(); |
|||
330 3 break; |
|||
331 3 #ifdef D_SIIC_USE_2 |
|||
|
|||
case D_iicch_2: |
|||
L0_IICM2_SCL_OFF(); |
|||
break; |
|||
#endif |
|||
337 3 #ifdef D_SIIC_USE_3 |
|||
case D_iicch_3: |
|||
L0_IICM3_SCL_OFF(); |
|||
break; |
|||
#endif |
|||
342 3 #ifdef D_SIIC_USE_4 |
|||
case D_iicch_4: |
|||
L0_IICM4_SCL_OFF(); |
|||
break; |
|||
#endif |
|||
347 3 #ifdef D_SIIC_USE_5 |
|||
case D_iicch_5: |
|||
L0_IICM5_SCL_OFF(); |
|||
break; |
|||
#endif |
|||
352 3 #ifdef D_SIIC_USE_6 |
|||
case D_iicch_6: |
|||
L0_IICM6_SCL_OFF(); |
|||
break; |
|||
#endif |
|||
357 3 #ifdef D_SIIC_USE_7 |
|||
case D_iicch_7: |
|||
L0_IICM7_SCL_OFF(); |
|||
break; |
|||
C51 COMPILER V9.54 MSP_IICMX 09/06/2024 11:24:46 PAGE 7 |
|||
|
|||
#endif |
|||
362 3 #ifdef D_SIIC_USE_8 |
|||
case D_iicch_8: |
|||
L0_IICM8_SCL_OFF(); |
|||
break; |
|||
#endif |
|||
367 3 default: |
|||
368 3 break; |
|||
369 3 } |
|||
370 2 |
|||
371 2 L0_slc_0_delay(ts_iicm.t0[ch]); |
|||
372 2 } |
|||
373 1 |
|||
374 1 } |
|||
375 |
|||
376 /* |
|||
377 |
|||
378 void L0_IICMX_SCL(unsigned char v) |
|||
379 { |
|||
380 if(v) |
|||
381 { |
|||
382 L0_IICM1_SCL_ON();/// L0_SCL_ON(); |
|||
383 L0_slc_1_delay(); |
|||
384 } |
|||
385 else |
|||
386 { |
|||
387 L0_IICM1_SCL_OFF();///L0_SCL_OFF(); |
|||
388 L0_slc_f_delay(); |
|||
389 } |
|||
390 } |
|||
391 void L0_IICM1_SDA(unsigned char v) |
|||
392 { |
|||
393 if(v) |
|||
394 { |
|||
395 L0_IICM1_SDA_ON(); |
|||
396 L0_slc_1_delay(); |
|||
397 } |
|||
398 else |
|||
399 { |
|||
400 L0_IICM1_SDA_OFF(); |
|||
401 L0_slc_f_delay(); |
|||
402 } |
|||
403 } |
|||
404 */ |
|||
405 void L0_IICMx_INIT(vtype ch ,vtype v) |
|||
406 { |
|||
407 1 if (v) |
|||
408 1 { |
|||
409 2 switch(ch) |
|||
410 2 { |
|||
411 3 case D_iicch_0: |
|||
412 3 L0_IICM0_SCL_init(); |
|||
413 3 L0_IICM0_SDA_init(); |
|||
414 3 break; |
|||
415 3 case D_iicch_1: |
|||
416 3 L0_IICM1_SCL_init(); |
|||
417 3 L0_IICM1_SDA_init(); |
|||
418 3 break; |
|||
419 3 #ifdef D_SIIC_USE_2 |
|||
case D_iicch_2: |
|||
L0_IICM2_SCL_init(); |
|||
L0_IICM2_SDA_init(); |
|||
C51 COMPILER V9.54 MSP_IICMX 09/06/2024 11:24:46 PAGE 8 |
|||
|
|||
break; |
|||
#endif |
|||
425 3 #ifdef D_SIIC_USE_3 |
|||
case D_iicch_3: |
|||
L0_IICM3_SCL_init(); |
|||
L0_IICM3_SDA_init(); |
|||
break; |
|||
#endif |
|||
431 3 #ifdef D_SIIC_USE_4 |
|||
case D_iicch_4: |
|||
L0_IICM4_SCL_init(); |
|||
L0_IICM4_SDA_init(); |
|||
break; |
|||
#endif |
|||
437 3 #ifdef D_SIIC_USE_5 |
|||
case D_iicch_5: |
|||
L0_IICM5_SCL_init(); |
|||
L0_IICM5_SDA_init(); |
|||
break; |
|||
#endif |
|||
443 3 #ifdef D_SIIC_USE_6 |
|||
case D_iicch_6: |
|||
L0_IICM6_SCL_init(); |
|||
L0_IICM6_SDA_init(); |
|||
break; |
|||
#endif |
|||
449 3 #ifdef D_SIIC_USE_7 |
|||
case D_iicch_7: |
|||
L0_IICM7_SCL_init(); |
|||
L0_IICM7_SDA_init(); |
|||
break; |
|||
#endif |
|||
455 3 #ifdef D_SIIC_USE_8 |
|||
case D_iicch_8: |
|||
L0_IICM8_SCL_init(); |
|||
L0_IICM8_SDA_init(); |
|||
break; |
|||
#endif |
|||
461 3 default: |
|||
462 3 break; |
|||
463 3 } |
|||
464 2 L0_IICMx_SDA(ch,v); |
|||
465 2 L0_IICMx_SCL(ch,v); |
|||
466 2 } |
|||
467 1 else |
|||
468 1 { |
|||
469 2 |
|||
470 2 |
|||
471 2 } |
|||
472 1 } |
|||
473 |
|||
474 unsigned char L0_IICMx_SDA_get(vtype ch) |
|||
475 { |
|||
476 1 |
|||
477 1 switch(ch) |
|||
478 1 { |
|||
479 2 case D_iicch_0: |
|||
480 2 return L0_IICM0_SDA_AT(); |
|||
481 2 case D_iicch_1: |
|||
482 2 return L0_IICM1_SDA_AT(); |
|||
483 2 |
|||
484 2 #ifdef D_SIIC_USE_2 |
|||
C51 COMPILER V9.54 MSP_IICMX 09/06/2024 11:24:46 PAGE 9 |
|||
|
|||
case D_iicch_2: |
|||
return L0_IICM2_SDA_AT(); |
|||
|
|||
#endif |
|||
489 2 #ifdef D_SIIC_USE_3 |
|||
case D_iicch_3: |
|||
return L0_IICM3_SDA_AT(); |
|||
|
|||
#endif |
|||
494 2 #ifdef D_SIIC_USE_4 |
|||
case D_iicch_4: |
|||
return L0_IICM4_SDA_AT(); |
|||
|
|||
#endif |
|||
499 2 #ifdef D_SIIC_USE_5 |
|||
case D_iicch_5: |
|||
return L0_IICM5_SDA_AT(); |
|||
|
|||
#endif |
|||
504 2 #ifdef D_SIIC_USE_6 |
|||
case D_iicch_6: |
|||
return L0_IICM6_SDA_AT(); |
|||
|
|||
#endif |
|||
509 2 #ifdef D_SIIC_USE_7 |
|||
case D_iicch_7: |
|||
return L0_IICM7_SDA_AT(); |
|||
|
|||
#endif |
|||
514 2 #ifdef D_SIIC_USE_8 |
|||
case D_iicch_8: |
|||
return L0_IICM8_SDA_AT(); |
|||
#endif |
|||
518 2 default: |
|||
519 2 break; |
|||
520 2 } |
|||
521 1 return 0; |
|||
522 1 |
|||
523 1 } |
|||
524 |
|||
525 #define L0_IIC_SIM_INIT(x) |
|||
526 #define L0_IIC_SIM_close(x) |
|||
527 //********************************************** |
|||
528 //��絲憪衤� IO_SDA=1->0 |
|||
529 void L0_IICMx_Start(vtype ch) |
|||
530 { |
|||
531 1 ///L0_IIC_SIM_INIT(); |
|||
532 1 |
|||
533 1 L0_IICMx_SDA_outin(ch,1); |
|||
534 1 L0_IICMx_SDA(ch,1); |
|||
535 1 L0_IICMx_SCL(ch,1); |
|||
536 1 L0_IICMx_SDA(ch,0); |
|||
537 1 L0_slc_1_delay(ts_iicm.t1[ch]); |
|||
538 1 L0_slc_1_delay(ts_iicm.t1[ch]); |
|||
539 1 L0_IICMx_SCL(ch,0); |
|||
540 1 |
|||
541 1 } |
|||
542 //************************************************ |
|||
543 //���甇V� IO_SDA = 0->1 |
|||
544 void L0_IICMx_Stop(vtype ch) |
|||
545 { |
|||
546 1 |
|||
C51 COMPILER V9.54 MSP_IICMX 09/06/2024 11:24:46 PAGE 10 |
|||
|
|||
547 1 L0_IICMx_SDA(ch,0); |
|||
548 1 |
|||
549 1 L0_IICMx_SCL(ch,1); |
|||
550 1 |
|||
551 1 L0_IICMx_SDA(ch,1); |
|||
552 1 L0_IIC_SIM_INIT(); |
|||
553 1 L0_IIC_SIM_close(); |
|||
554 1 } |
|||
555 |
|||
556 |
|||
557 //************************************************ |
|||
558 //銝餃�蝑�(��鉄ack:IO_SDA = 0�矝o_ack:IO_SDA = 0) |
|||
559 void L0_IICMx_Ack(vtype ch) |
|||
560 { //霈曄蔭SDA ��蛹颲枏枂 |
|||
561 1 L0_IICMx_SCL(ch,0); |
|||
562 1 |
|||
563 1 L0_IICMx_SDA(ch,0); |
|||
564 1 |
|||
565 1 L0_IICMx_SCL(ch,1); |
|||
566 1 L0_IICMx_SCL(ch,0); |
|||
567 1 L0_IICMx_SDA(ch,1); |
|||
568 1 } |
|||
569 |
|||
570 void L0_IICMx_NoAck(vtype ch) |
|||
571 { //霈曄蔭SDA ��蛹颲枏枂 |
|||
572 1 L0_IICMx_SCL(ch,0); |
|||
573 1 L0_IICMx_SDA(ch,1); |
|||
574 1 L0_IICMx_SCL(ch,1); |
|||
575 1 L0_IICMx_SCL(ch,0); |
|||
576 1 |
|||
577 1 } |
|||
578 /****** |
|||
579 I2C�餌瑪���閫��嚗� 摨𠉛�雿滢蛹0銵函內�交𤣰�典�蝑� 嚗㇁CK嚗� 嚗� 撣詨虜蝞�霈唬蛹A嚗� |
|||
580 銝�1�躰”蝷粹�摨𠉛� 嚗𠃊ACK嚗� 嚗�虜蝞�霈唬蛹NA�� |
|||
581 �煾��膥�煾��SB銋见�嚗��敶㯄��鋤DA蝥選��厰�SDA嚗� 嚗� |
|||
582 隞亦�敺�𦻖�嗅膥鈭抒�摨𠉛�雿溻�� |
|||
583 憒���交𤣰�典銁�交𤣰摰峕��𦒘�銝芸�����唳旿嚗� |
|||
584 �𤥁����賢��交𤣰�游���㺭�格𧒄嚗��敶㮖漣�罸�摨𠉛�靽� |
|||
585 �瑟䔉�𡁶䰻�煾��膥�����膥憒���𤑳緵�交𤣰�其漣�煺��𧼮�蝑𠉛𠶖��� |
|||
586 �坔�敶梶�甇W����� |
|||
587 // 璉�瘚� SDA�臬炏�麫CK |
|||
588 bit L0_I2C_Test_Ack(void) |
|||
589 { //霈曄蔭SDA ��蛹颲枏� |
|||
590 bit ACK_Flag = 0; |
|||
591 L0_I2C_SCL(0); |
|||
592 L0_I2C_SDA(1); |
|||
593 L0_I2C_SCL(1); |
|||
594 |
|||
595 |
|||
596 if(IO_SDA = 0) |
|||
597 ACK_Flag = 1; |
|||
598 else |
|||
599 ACK_Flag = 0; |
|||
600 L0_I2C_SCL(0); |
|||
601 return ACK_Flag; |
|||
602 // return 1;// debug |
|||
603 } |
|||
604 *******/ |
|||
605 //************************************************* |
|||
606 //摮𡑒��煾���摨� |
|||
607 //�煾��(�臭誑�舀㺭�桐��舀糓�啣�)嚗屸����擧𦻖�嗡�摨𠉛� |
|||
608 //銝滩���隞𤾸�蝑𥪯� |
|||
C51 COMPILER V9.54 MSP_IICMX 09/06/2024 11:24:46 PAGE 11 |
|||
|
|||
609 void L0_IICMx_SendData(vtype ch,unsigned char c ) |
|||
610 { |
|||
611 1 unsigned char ack=8; |
|||
612 1 unsigned char BitCnt=8;//銝�摮𡑒�8雿� |
|||
613 1 //霈曄蔭SDA ��蛹颲枏枂 |
|||
614 1 |
|||
615 1 for(BitCnt = 0;BitCnt < 8;BitCnt ++) //閬������唳旿�踹漲銝�8雿� |
|||
616 1 { |
|||
617 2 if((c << BitCnt ) & 0x80) |
|||
618 2 L0_IICMx_SDA(ch,1); //�斗鱏�煾��� |
|||
619 2 else |
|||
620 2 L0_IICMx_SDA(ch,0); |
|||
621 2 L0_IICMx_SCL(ch,1); //蝵格𧒄�毺瑪銝粹�嚗屸�𡁶䰻鋡急綉�典�憪𧢲𦻖�嗆㺭�桐� |
|||
622 2 L0_IICMx_SCL(ch,0); |
|||
623 2 }//8clk |
|||
624 1 |
|||
625 1 L0_IICMx_SDA(ch,1); //8雿滚�����𡡞��暹㺭�桃瑪嚗��憭�𦻖�嗅�蝑𥪯� |
|||
626 1 L0_IICMx_SDA_outin(ch,0); |
|||
627 1 L0_IICMx_SCL(ch,1); |
|||
628 1 ///gRccUs05 += L0_I2C_SDA_ask(); |
|||
629 1 L0_IICMx_SCL(ch,0); |
|||
630 1 |
|||
631 1 L0_IICMx_SDA_outin(ch,1); |
|||
632 1 //// L0_IICMx_delay(ts_iicm.t[ch]); |
|||
633 1 } |
|||
634 //************************************************** |
|||
635 //摮𡑒��交𤣰蝔见� |
|||
636 //�交𤣰�其辣隡䭾䔉��㺭�殷�甇斤�摨誩��滚�|銝餃�蝑𥪜遆�院i2c_ack_main(void)雿輻鍂 |
|||
637 //return: uchar��1摮𡑒� |
|||
638 unsigned char L0_IICMx_ReceiveData(vtype ch) |
|||
639 { |
|||
640 1 unsigned char BitCnt=8,IIC_RX_Data = 0; |
|||
641 1 L0_IICMx_SDA(ch,1); //霂餃��唳旿 霈曄蔭SDA ��蛹颲枏� |
|||
642 1 L0_IICMx_SDA_outin(ch,0); |
|||
643 1 for(BitCnt = 0;BitCnt<8;BitCnt++) |
|||
644 1 { |
|||
645 2 L0_IICMx_SCL(ch,0); //蝵格𧒄�毺瑪銝箔�嚗��憭�𦻖�嗆㺭�桐� |
|||
646 2 L0_IICMx_SCL(ch,1); //蝵格𧒄�毺瑪銝粹�雿踵㺭�桃瑪銝𦠜㺭�格��� |
|||
647 2 IIC_RX_Data = IIC_RX_Data << 1; |
|||
648 2 if(1 == L0_IICMx_SDA_get(ch)) |
|||
649 2 IIC_RX_Data = IIC_RX_Data + 1; //霂餅㺭�桐�,�交𤣰��㺭�桐��曉�retc銝� |
|||
650 2 }// 8clk up |
|||
651 1 L0_IICMx_SCL(ch,0); |
|||
652 1 L0_IICMx_SDA_outin(ch,1); |
|||
653 1 return IIC_RX_Data; |
|||
654 1 } |
|||
655 /// 霂餃� n銝芣㺭�� �曉�p銝� |
|||
656 void L1_IICMx_ReadNByte(vtype ch,unsigned char Sal, unsigned char *p,unsigned char n) |
|||
657 { |
|||
658 1 unsigned char i; |
|||
659 1 L0_IICMx_Start(ch); // �臬𢆡I2C |
|||
660 1 L0_IICMx_SendData(ch,(Sal)| 0x01); //�煾��膥隞嗅𧑐�� |
|||
661 1 |
|||
662 1 for(i = 0;i < n-1;i ++) //霂餃�摮𡑒��唳旿 |
|||
663 1 { |
|||
664 2 *(p + i) = L0_IICMx_ReceiveData(ch); //霂餃��唳旿 |
|||
665 2 ///printf("%x ",(int)(*(p + i))); |
|||
666 2 |
|||
667 2 L0_IICMx_Ack(ch); //__/```\__ |
|||
668 2 } |
|||
669 1 *(p + n - 1) = L0_IICMx_ReceiveData(ch); |
|||
670 1 |
|||
C51 COMPILER V9.54 MSP_IICMX 09/06/2024 11:24:46 PAGE 12 |
|||
|
|||
671 1 L0_IICMx_NoAck(ch); |
|||
672 1 L0_IICMx_Stop(ch); |
|||
673 1 } |
|||
674 |
|||
675 #if 0 |
|||
|
|||
|
|||
|
|||
|
|||
銝餅㦤隞𦒘�霈曉�霂餃�憭帋葵摮𡑒� |
|||
Master ST SAD+W SUB SR SAD+R MAK MAK NMAK SP |
|||
Slave SAK SAK SAK DATA DATA DATA |
|||
0x19 |
|||
0001 1001 |
|||
0011 001R |
|||
|
|||
#endif |
|||
688 |
|||
689 /////////////////////////////// |
|||
690 ///�坔�銝�銝泗eg 銝箏�蝏剔��坔𦶢隞斗���粉�𡝗��� |
|||
691 void L1_IICMx_WriteReg(vtype ch,unsigned char sla,unsigned char reg ) |
|||
692 { |
|||
693 1 L0_IICMx_Start(ch); //�臬𢆡I2C |
|||
694 1 L0_IICMx_SendData(ch,sla);//�煾��膥隞嗅𧑐�� |
|||
695 1 L0_IICMx_SendData(ch,reg); |
|||
696 1 } |
|||
697 |
|||
698 ///�坔�銝�銝� s+sla+reg |
|||
699 void L2_IICMx_Write1Reg(vtype ch,unsigned char sla,unsigned char reg ) |
|||
700 { |
|||
701 1 L1_IICMx_WriteReg(ch,sla,reg); |
|||
702 1 L0_IICMx_Stop(ch); |
|||
703 1 } |
|||
704 |
|||
705 |
|||
706 |
|||
707 // sla.(reg)=cmd |
|||
708 void L2_IICMx_WriteCmd(vtype ch,unsigned char sla,unsigned char reg,unsigned char cmd ) |
|||
709 { |
|||
710 1 L1_IICMx_WriteReg(ch,sla,reg); |
|||
711 1 L0_IICMx_SendData(ch,cmd); |
|||
712 1 L0_IICMx_Stop(ch); |
|||
713 1 /***************** |
|||
714 1 if(gRccUs05 >0)///瘚贝�iic�㗇��� �𤑳緵瘝⊥�蝏𤘪� |
|||
715 1 { |
|||
716 1 L0_uart0_uc(gRccUs05);gRccUs05 = 0; |
|||
717 1 } |
|||
718 1 ***************/ |
|||
719 1 } |
|||
720 |
|||
721 //霂餃�reg�啣���銝芣㺭�� sla.(reg) sla.(reg+1)................ sla.(reg+n) |
|||
722 void L2_IICMx_ReadReg(vtype ch,unsigned char sla,unsigned char reg, |
|||
723 unsigned char *r,unsigned char n) |
|||
724 { |
|||
725 1 // U8 d[1]; |
|||
726 1 //S ADD W A REG A |
|||
727 1 L1_IICMx_WriteReg(ch,sla,reg); |
|||
728 1 //S ADD R A D1 A D2 A.....DX N P |
|||
729 1 L1_IICMx_ReadNByte(ch,sla,r,n); |
|||
730 1 } |
|||
731 |
|||
732 //霂餃�reg�啣���銝芣㺭�� sla.(reg) sla.(reg+1)................ sla.(reg+n) |
|||
C51 COMPILER V9.54 MSP_IICMX 09/06/2024 11:24:46 PAGE 13 |
|||
|
|||
733 unsigned char L2_IICMx_Read1Reg1D(vtype ch,unsigned char sla,unsigned char reg) |
|||
734 { |
|||
735 1 U8 d; |
|||
736 1 // U8 d[1]; |
|||
737 1 //S ADD W A REG A |
|||
738 1 L1_IICMx_WriteReg(ch,sla,reg); |
|||
739 1 //S ADD R A D1 A D2 A.....DX N P |
|||
740 1 L1_IICMx_ReadNByte(ch,sla,&d,1); |
|||
741 1 return d; |
|||
742 1 } |
|||
743 |
|||
744 |
|||
745 |
|||
746 |
|||
747 #if 0////銝滚虾�𣳇膄 |
|||
///S 80H A Register Address A S 81H A Data NA P |
|||
void L2_tws_ReadReg000(unsigned char sla,unsigned char reg, |
|||
unsigned char *v) |
|||
{ |
|||
unsigned char ack=8; |
|||
unsigned char BitCnt=8;//銝�摮𡑒�8雿� |
|||
// U8 d[1]; |
|||
//S ADD W A REG A |
|||
//// L1_I2C_WriteReg(sla,reg); |
|||
//step 1---- |
|||
L0_I2C_Start(); //�臬𢆡I2C |
|||
//step 2----L0_I2C_SendData(sla);//�煾��膥隞嗅𧑐�� |
|||
//霈曄蔭SDA ��蛹颲枏枂 |
|||
for(BitCnt = 0;BitCnt < 8;BitCnt ++) //閬������唳旿�踹漲銝�8雿� |
|||
{ |
|||
if((sla << BitCnt ) & 0x80) |
|||
L0_I2C_SDA(1); //�斗鱏�煾��� |
|||
else |
|||
L0_I2C_SDA(0); |
|||
L0_I2C_SCL(1); //蝵格𧒄�毺瑪銝粹�嚗屸�𡁶䰻鋡急綉�典�憪𧢲𦻖�嗆㺭�桐� |
|||
L0_I2C_SCL(0); |
|||
}//8clk |
|||
L0_I2C_SDA(1); //8雿滚�����𡡞��暹㺭�桃瑪嚗��憭�𦻖�嗅�蝑𥪯� |
|||
L0_I2C_SCL(1); |
|||
L0_I2C_SCL(0); |
|||
|
|||
//step 3---L0_I2C_SendData(reg); |
|||
for(BitCnt = 0;BitCnt < 8;BitCnt ++) //閬������唳旿�踹漲銝�8雿� |
|||
{ |
|||
if((reg << BitCnt ) & 0x80) |
|||
L0_I2C_SDA(1); //�斗鱏�煾��� |
|||
else |
|||
L0_I2C_SDA(0); |
|||
L0_I2C_SCL(1); //蝵格𧒄�毺瑪銝粹�嚗屸�𡁶䰻鋡急綉�典�憪𧢲𦻖�嗆㺭�桐� |
|||
L0_I2C_SCL(0); |
|||
}//8clk |
|||
L0_I2C_SDA(1); //8雿滚�����𡡞��暹㺭�桃瑪嚗��憭�𦻖�嗅�蝑𥪯� |
|||
L0_I2C_SCL(1); |
|||
L0_I2C_SCL(0); |
|||
|
|||
//step 4---- |
|||
L0_I2C_Start(); //�臬𢆡I2C |
|||
|
|||
//step 5--- |
|||
//霈曄蔭SDA ��蛹颲枏枂 |
|||
sla|=0x01; |
|||
for(BitCnt = 0;BitCnt < 8;BitCnt ++) //閬������唳旿�踹漲銝�8雿� |
|||
C51 COMPILER V9.54 MSP_IICMX 09/06/2024 11:24:46 PAGE 14 |
|||
|
|||
{ |
|||
if((sla << BitCnt ) & 0x80) |
|||
L0_I2C_SDA(1); //�斗鱏�煾��� |
|||
else |
|||
L0_I2C_SDA(0); |
|||
L0_I2C_SCL(1); //蝵格𧒄�毺瑪銝粹�嚗屸�𡁶䰻鋡急綉�典�憪𧢲𦻖�嗆㺭�桐� |
|||
L0_I2C_SCL(0); |
|||
}//8clk |
|||
L0_I2C_SDA(1); //8雿滚�����𡡞��暹㺭�桃瑪嚗��憭�𦻖�嗅�蝑𥪯� |
|||
L0_I2C_SCL(1); |
|||
L0_I2C_SCL(0); |
|||
//step 6---receive data |
|||
//霈曄蔭SDA ��蛹颲枏枂 |
|||
*v = L0_I2C_ReceiveData(); |
|||
L0_I2C_SCL(1); |
|||
L0_I2C_SCL(0);/// send NA |
|||
//step 7--- P |
|||
|
|||
L0_I2C_Stop(); |
|||
|
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
///S 80H A Register Address A S 81H A Data NA P |
|||
|
|||
|
|||
|
|||
#endif |
|||
825 |
|||
826 |
|||
827 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 1471 ---- |
|||
CONSTANT SIZE = ---- ---- |
|||
XDATA SIZE = 56 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,77 @@ |
|||
C51 COMPILER V9.54 MSP_TIME2 09/06/2024 11:24:45 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE MSP_TIME2 |
|||
OBJECT MODULE PLACED IN ..\out\msp_time2.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\msp\msp_time2.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOINT |
|||
-PROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;..\s |
|||
-ource\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRINT( |
|||
-..\out\msp_time2.lst) TABS(2) OBJECT(..\out\msp_time2.obj) |
|||
|
|||
line level source |
|||
|
|||
1 #include "msp_Time2.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
2 |
|||
3 #include "msp_uart1.h" |
|||
4 ///_TS_timer2 ts_timer2; |
|||
5 #if 10 |
|||
6 |
|||
7 void L0_timer2_init(void)////void Timer2Init(void) //3毫秒@22.1184MHz |
|||
8 { |
|||
9 1 AUXR &= 0xFB; //定时器时钟12T模式 |
|||
10 1 T2L = 0x66; //设置定时初始值 |
|||
11 1 T2H = 0xEA; //设置定时初始值 |
|||
12 1 AUXR |= 0x10; //定时器2开始计时 |
|||
13 1 } |
|||
14 #else |
|||
|
|||
void L0_timer2_init10_22M(void)///void Timer2Init(void) //10毫秒@22.1184MHz |
|||
{ |
|||
AUXR &= 0xFB; //定时器时钟12T模式 |
|||
T2L = 0x00; //设置定时初始值 |
|||
T2H = 0xB8; //设置定时初始值 |
|||
AUXR |= 0x10; //定时器2开始计时 |
|||
} |
|||
void L0_timer2_init(void)///void Timer2Init(void) //35毫秒@22.1184MHz |
|||
{ |
|||
AUXR &= 0xFB; //定时器时钟12T模式 |
|||
T2L = 0x00; //设置定时初始值 |
|||
T2H = 0x04; //设置定时初始值 |
|||
AUXR |= 0x10; //定时器2开始计时 |
|||
} |
|||
void timer2_isrHanddle(void) D_SERVE_TIMER2 |
|||
{ |
|||
/// ts_timer2.callback(ts_timer2.p); |
|||
/// ts_timer2.callback(ts_timer2.p); |
|||
} |
|||
|
|||
|
|||
|
|||
#endif |
|||
39 |
|||
40 /******************************END*********************************/ |
|||
41 |
|||
42 |
|||
43 |
|||
44 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 13 ---- |
|||
CONSTANT SIZE = ---- ---- |
|||
XDATA SIZE = ---- ---- |
|||
PDATA SIZE = ---- ---- |
|||
C51 COMPILER V9.54 MSP_TIME2 09/06/2024 11:24:45 PAGE 2 |
|||
|
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,333 @@ |
|||
C51 COMPILER V9.54 MSP_UART1 09/06/2024 11:24:46 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE MSP_UART1 |
|||
OBJECT MODULE PLACED IN ..\out\msp_uart1.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\msp\uart\msp_uart1.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER |
|||
-NOINTPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc |
|||
-;..\source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG P |
|||
-RINT(..\out\msp_uart1.lst) TABS(2) OBJECT(..\out\msp_uart1.obj) |
|||
|
|||
line level source |
|||
|
|||
1 #include "msp_uart1.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
2 ///#include "msp_time2.h" |
|||
3 #include "c_crc.h" |
|||
4 #include "c_delay.h" |
|||
5 //#include "tpc_debug.h" |
|||
6 #include "debug_drv.h" |
|||
7 #include "tpc_road.h" |
|||
8 //#define _USE_485 |
|||
9 |
|||
10 ///static volatile TS_Uart_Send_ ts_uart_send_shop; |
|||
11 |
|||
12 ///>>>>>>>>>>>>>>>>和cpu相关 |
|||
13 |
|||
14 |
|||
15 #if(MainFre_5M == D_sys_MainFre) |
|||
|
|||
|
|||
#elif(MainFre_22M == D_sys_MainFre) |
|||
19 |
|||
20 |
|||
21 |
|||
22 #if(BRT_921600 == D_UART1_BRT) |
|||
void L0_uart1_init(void) /// void UartInit(void) //921600bps@22.1184MHz |
|||
{ |
|||
SCON = 0x50; //8位数据,可变波特率 |
|||
AUXR |= 0x40; //定时器时钟1T模式 |
|||
AUXR &= 0xFE; //串口1选择定时器1为波特率发生器 |
|||
TMOD &= 0x0F; //设置定时器模式 |
|||
TL1 = 0xFA; //设置定时初始值 |
|||
TH1 = 0xFF; //设置定时初始值 |
|||
ET1 = 0; //禁止定时器中断 |
|||
TR1 = 1; //定时器1开始计时 |
|||
} |
|||
#elif(BRT_460800 == D_UART1_BRT) |
|||
#elif(BRT_115200 == D_UART1_BRT) |
|||
void L0_uart1_init(void) /// void UartInit(void) //115200bps@22.1184MHz |
|||
{ |
|||
SCON = 0x50; //8位数据,可变波特率 |
|||
AUXR |= 0x40; //定时器时钟1T模式 |
|||
AUXR &= 0xFE; //串口1选择定时器1为波特率发生器 |
|||
TMOD &= 0x0F; //设置定时器模式 |
|||
TL1 = 0xD0; //设置定时初始值 |
|||
TH1 = 0xFF; //设置定时初始值 |
|||
ET1 = 0; //禁止定时器中断 |
|||
TR1 = 1; //定时器1开始计时 |
|||
} |
|||
#warning "MainFre_22M BRT_115200" |
|||
|
|||
#elif(BRT_19200 == D_UART1_BRT) |
|||
#elif(BRT_9600== D_UART1_BRT) |
|||
51 void L0_uart1_init(void) //9600bps@22.1184MHz |
|||
C51 COMPILER V9.54 MSP_UART1 09/06/2024 11:24:46 PAGE 2 |
|||
|
|||
52 { |
|||
53 1 SCON = 0x50; //8位数据,可变波特率 |
|||
54 1 AUXR |= 0x40; //定时器时钟1T模式 |
|||
55 1 AUXR &= 0xFE; //串口1选择定时器1为波特率发生器 |
|||
56 1 TMOD &= 0x0F; //设置定时器模式 |
|||
57 1 TL1 = 0xC0; //设置定时初始值 |
|||
58 1 TH1 = 0xFD; //设置定时初始值 |
|||
59 1 ET1 = 0; //禁止定时器中断 |
|||
60 1 TR1 = 1; //定时器1开始计时 |
|||
61 1 } |
|||
62 #warning "MainFre_22M BRT_115200" |
|||
*** WARNING C320 IN LINE 62 OF ..\source\msp\uart\msp_uart1.c: "MainFre_22M BRT_115200" |
|||
63 #else///9600 |
|||
#endif//) |
|||
65 |
|||
66 |
|||
67 |
|||
68 |
|||
69 #elif(MainFre_27M == D_sys_MainFre) |
|||
|
|||
|
|||
#elif(MainFre_44M == D_sys_MainFre) |
|||
#if(BRT_115200 == D_UART1_BRT) |
|||
#elif(BRT_460800 == D_UART1_BRT) |
|||
|
|||
|
|||
void L0_uart1_init(void) /// void UartInit(void) //460800bps@44.2368MHz |
|||
{ |
|||
SCON = 0x50; //8位数据,可变波特率 |
|||
AUXR &= 0xBF; //定时器时钟12T模式 |
|||
AUXR &= 0xFE; //串口1选择定时器1为波特率发生器 |
|||
TMOD &= 0x0F; //设置定时器模式 |
|||
TL1 = 0xFE; //设置定时初始值 |
|||
TH1 = 0xFF; //设置定时初始值 |
|||
ET1 = 0; //禁止定时器%d中断 |
|||
TR1 = 1; //定时器1开始计时 |
|||
} |
|||
|
|||
#elif(BRT_921600 == D_UART1_BRT) |
|||
|
|||
|
|||
void L0_uart1_init(void) /// void UartInit(void) //921600bps@44.2368MHz |
|||
{ |
|||
SCON = 0x50; //8位数据,可变波特率 |
|||
AUXR &= 0xBF; //定时器时钟12T模式 |
|||
AUXR &= 0xFE; //串口1选择定时器1为波特率发生器 |
|||
TMOD &= 0x0F; //设置定时器模式 |
|||
TL1 = 0xFF; //设置定时初始值 |
|||
TH1 = 0xFF; //设置定时初始值 |
|||
ET1 = 0; //禁止定时器%d中断 |
|||
TR1 = 1; //定时器1开始计时 |
|||
} |
|||
#info "0000" |
|||
|
|||
|
|||
#elif(BRT_19200 == D_UART1_BRT) |
|||
#elif(BRT_9600== D_UART1_BRT) |
|||
#else///9600 |
|||
#endif//D_sys_MainFre) |
|||
|
|||
#else ///MainFre_11M |
|||
|
|||
C51 COMPILER V9.54 MSP_UART1 09/06/2024 11:24:46 PAGE 3 |
|||
|
|||
#if(BRT_115200 == D_UART1_BRT) |
|||
|
|||
void L0_uart1_init(void) ///void UartInit(void) //115200bps@11.0592MHz |
|||
{ |
|||
SCON = 0x50; //8位数据,可变波特率 |
|||
AUXR |= 0x01; //串口1选择定时器2为波特率发生器 |
|||
AUXR &= 0xFB; //定时器时钟12T模式 |
|||
T2L = 0xFE; //设置定时初始值 |
|||
T2H = 0xFF; //设置定时初始值 |
|||
AUXR |= 0x10; //定时器2开始计时 |
|||
} |
|||
|
|||
|
|||
#elif(BRT_19200 == D_UART1_BRT) |
|||
|
|||
|
|||
#elif(BRT_9600== D_UART1_BRT) |
|||
|
|||
|
|||
#else///9600 |
|||
|
|||
#endif//D_sys_MainFre) |
|||
|
|||
#endif//D_sys_MainFre) |
|||
137 |
|||
138 ///>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>和cpu相关 |
|||
139 void L1_uart1_open(void) |
|||
140 {// |
|||
141 1 L0_uart1_buf_init();//串口初始化// |
|||
142 1 |
|||
143 1 EA = 1; |
|||
144 1 L0_uart1_str("\r\nuart1 open"); |
|||
145 1 } |
|||
146 |
|||
147 void L0_uart1_buf_init(void) |
|||
148 { |
|||
149 1 L0_uartN_sbuf(D_UART1); |
|||
150 1 D_s2b_road1_init(); |
|||
151 1 |
|||
152 1 D_stdIO_P3(BITN1); |
|||
153 1 D_stdIO_P3(BITN0);////PIN19 TXD1 D+ |
|||
154 1 |
|||
155 1 L0_uart1_init(); |
|||
156 1 L0_uart1_IntRIClear(); |
|||
157 1 L0_uart1_IntTIClear(); |
|||
158 1 D_UART1_RS_EN(1); |
|||
159 1 D_uart1_ES_INT(1); //打开串口中断 |
|||
160 1 |
|||
161 1 #if (D_UART1_485_TYPE != TYPE_485_NONE) |
|||
162 1 D_UART1_485_RX(); //默认处于接收状态 |
|||
163 1 #endif |
|||
164 1 } |
|||
165 /* |
|||
166 |
|||
167 void L0_uart1_Array(U8 * buf, U16 len) |
|||
168 { |
|||
169 #if (D_UART1_485_TYPE != TYPE_485_NONE) |
|||
170 D_UART1_485_TX(); //切换到输出状态 |
|||
171 #endif |
|||
172 L0_uartN_Array(D_UART1,buf,len); |
|||
173 } |
|||
174 */ |
|||
C51 COMPILER V9.54 MSP_UART1 09/06/2024 11:24:46 PAGE 4 |
|||
|
|||
175 |
|||
176 |
|||
177 ////U8 overtime_t; //超时溢出的计数器 |
|||
178 ////U8 overtime_flag; ///0:没有超时溢出 1:超时溢出 |
|||
179 ////U8 over_flag; ////串口接收结束的状态 0:超时溢出 1:超出max接收 |
|||
180 |
|||
181 ///D_LED4_REV(); |
|||
182 |
|||
183 void L2_uart1_overtime_callback(void) |
|||
184 {////必须清除当前的idle |
|||
185 1 if(0 == ts_Urec[D_UART1].idle) |
|||
186 1 { |
|||
187 2 if(ts_Urec[D_UART1].overtime_t >= 2) |
|||
188 2 { |
|||
189 3 ts_Urec[D_UART1].idle = 1;//总线空闲 |
|||
190 3 ts_Urec[D_UART1].head = 0; |
|||
191 3 |
|||
192 3 //// printf(" ts_s2b_debug.fifo = %d ",(int)ts_s2b_debug.fifo); |
|||
193 3 if(ts_Urec[D_UART1].fifo > 0) |
|||
194 3 {ts_Urec[D_UART1].fifo = 0; |
|||
195 4 ts_Urec[D_UART1].ok = 1;/// 接收到的数据结束 : 总线空闲+buf非空 |
|||
196 4 ts_Urec[D_UART1].sp = ts_Urecbuf.r1; |
|||
197 4 //// L1_uartD_sendArray((U8 *)ts_debug_rec.filter, 5); |
|||
198 4 /******* |
|||
199 4 L1_uartD_sendArrayhex((U8 *)&ts_debug_rec.filter, 5); |
|||
200 4 ts_debug_rec.filter = 0x31; |
|||
201 4 ts_debug_rec.R1 = 0x32; |
|||
202 4 ts_debug_rec.R2 = 0x33; |
|||
203 4 ts_debug_rec.R3 = 0x34; |
|||
204 4 ts_debug_rec.ocr = 0x35; |
|||
205 4 |
|||
206 4 L1_uartD_sendArrayhex((U8 *)&ts_debug_rec.filter, 5); |
|||
207 4 *********/ |
|||
208 4 |
|||
209 4 } |
|||
210 3 } |
|||
211 2 ts_Urec[D_UART1].overtime_t ++; |
|||
212 2 } |
|||
213 1 } |
|||
214 |
|||
215 |
|||
216 /************************************************* |
|||
217 UART 中断 |
|||
218 *************************************************/ |
|||
219 void INTERRUPT_UART(void) D_SERVE_UART |
|||
220 { |
|||
221 1 if(L0_uart1_IntRI()) //如果是U0接收中断 |
|||
222 1 { |
|||
223 2 L0_uart1_IntRIClear(); //清除接收中断标志 |
|||
224 2 /// D_LED1_REV(); |
|||
225 2 |
|||
226 2 ///>>>>>>>>>>>>>接收协议 可以更改为其他协议>>>>>>>>>>>>>>>>>>>>>>>> |
|||
227 2 ts_Urec[D_UART1].reg = L0_uart1_get(); |
|||
228 2 ts_Urec[D_UART1].idle = 0; |
|||
229 2 ts_Urec[D_UART1].overtime_t = 0;///需要和tick 定时器中的配合 作为接收超时判定 |
|||
230 2 /// L1_s2b_PH5_debug(&ts_s2b_debug); |
|||
231 2 /// L1_s2b_PH5_debug(TS_s2b_debug); |
|||
232 2 L1_s2b_road(D_UART1); |
|||
233 2 ///<<<<<<<<<<<<<<<<<<<<<<<<<<<<< |
|||
234 2 } |
|||
235 1 if(L0_uart1_IntTI()) //如果是U0发送中断 |
|||
236 1 { |
|||
C51 COMPILER V9.54 MSP_UART1 09/06/2024 11:24:46 PAGE 5 |
|||
|
|||
237 2 L0_uart1_IntTIClear(); //清除发送中断标志 |
|||
238 2 if(ts_Usend[D_UART1].max != ts_Usend[D_UART1].now) |
|||
239 2 { |
|||
240 3 ///L0_uartN_set(uNum1,ts_uart[uNum1].p->p[ts_uart[uNum1].p->now]); |
|||
241 3 L0_uart1_set(ts_Usend[D_UART1].sbuf[ts_Usend[D_UART1].now]); |
|||
242 3 ts_Usend[D_UART1].now ++;//发送本包的下一个数据 |
|||
243 3 } |
|||
244 2 else |
|||
245 2 { |
|||
246 3 ts_Usend[D_UART1].ok = D_ready; |
|||
247 3 ts_Usend[D_UART1].max = 0; |
|||
248 3 ts_Usend[D_UART1].now = 0;//可以发送下一包数据 |
|||
249 3 #if (D_UART1_485_TYPE != TYPE_485_NONE) |
|||
250 3 D_UART1_485_RX() //切换到接收状态 |
|||
251 3 ///gfgfgfh |
|||
252 3 #endif |
|||
253 3 } |
|||
254 2 } |
|||
255 1 //NOP(); NOP(); NOP(); |
|||
256 1 } |
|||
257 |
|||
258 ///L2_callback_uart1_free(&s_uart1_rec); |
|||
259 #if 0 |
|||
|
|||
void L2_callback_uart1_free(Ts_uart_rev_ *p) |
|||
{ |
|||
|
|||
///Ts_uart_rev_ *p = &s_uart1_rec; |
|||
#define D_s_modbus_min 4 //modbus协议的最小长度 |
|||
|
|||
/// D_P24_REV(); |
|||
////while(9) D_P24_REV(); |
|||
if((p->head == 1) && (p->num >= D_s_modbus_min)) |
|||
{ |
|||
//LED1 ^= 1; |
|||
p->head = 0; |
|||
#ifdef D_use_crc |
|||
crc16qq(p->crc,p->buf,p->num - 2); ////fixme 20220311 ///crc16qq(p->crc,p->buf,p->num - 2); //校验CRC |
|||
#endif |
|||
|
|||
// crc16(p->crc,p->buf,p->num - 2); //校验CRC |
|||
if(p->crc[0] == p->buf[p->num-2] && p->crc[1] == p->buf[p->num-1]) |
|||
{ |
|||
p->ok = 1; |
|||
/// LED0 ^= 1; |
|||
} |
|||
p->debugok = 1;////s_uart1_rec.debugok |
|||
} |
|||
L1_uart1_isFree_over(); |
|||
|
|||
//// D_motor1_FI_rev(); |
|||
|
|||
} |
|||
|
|||
#endif |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 366 ---- |
|||
CONSTANT SIZE = 13 ---- |
|||
XDATA SIZE = ---- ---- |
|||
PDATA SIZE = ---- ---- |
|||
C51 COMPILER V9.54 MSP_UART1 09/06/2024 11:24:46 PAGE 6 |
|||
|
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,454 @@ |
|||
C51 COMPILER V9.54 MSP_UARTN 09/06/2024 11:24:45 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE MSP_UARTN |
|||
OBJECT MODULE PLACED IN ..\out\msp_uartN.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\msp\uart\msp_uartN.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER |
|||
-NOINTPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc |
|||
-;..\source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG P |
|||
-RINT(..\out\msp_uartN.lst) TABS(2) OBJECT(..\out\msp_uartN.obj) |
|||
|
|||
line level source |
|||
|
|||
1 ////////////////////////////////////////////////////////////////////////// |
|||
2 /// COPYRIGHT NOTICE |
|||
3 /// Copyright (c) 2023 CCSENS |
|||
4 /// All rights reserved. |
|||
5 /// |
|||
6 /// @file main.c |
|||
7 /// @brief main app |
|||
8 /// |
|||
9 ///�域悽譁�サカ螳樒鴫逧�粥閭ス逧�ッヲ霑ー�� |
|||
10 /// |
|||
11 /// @version 1.1 CCsens technology |
|||
12 /// @author CC |
|||
13 /// @date 20150102 |
|||
14 /// |
|||
15 /// |
|||
16 /// 菫ョ隶「隸エ譏趣シ壽怙蛻晉沿譛ャ |
|||
17 /// Modified by: |
|||
18 /// Modified date: |
|||
19 /// Version: |
|||
20 /// Descriptions: |
|||
21 // 20160413 CC-ACC-VH02 |
|||
22 |
|||
23 /***************************************************************************** |
|||
24 update by cc @20220305 |
|||
25 |
|||
26 |
|||
27 |
|||
28 髓亥ッケ螟壻クイ蜿」 蜥� 蜊穂ク荳イ蜿」 譛牙玄蛻ォ 豈丈クェ荳イ蜿」譏ッ迢ャ遶狗噪霑俶弍蛻�シ逧�怏隶イ遨カ 遞句コ乗弍螟肴� |
|||
-ら噪霑俶弍霓ッ莉カ蠎皮畑邂蜊墓弍 |
|||
29 荳ェ髴隕∝ケウ陦。逧�コ区ュ. |
|||
30 |
|||
31 clib/clib.c: |
|||
32 蜈ャ逕ィ逧��謨ー 蜥檎。ャ莉カ譌�蜈ウ |
|||
33 謾セ鄂ョ荳イ陦梧ィ。蠑�(荳イ蜿」遲牙�莉夜夊ョッ諤サ郤ソ邀サ逧�セ灘�)霎灘�逧��謨ー, |
|||
34 荳莠幄ヲ�尠讓。蠑剰セ灘�逧�(lcd遲牙崋螻剰セ灘�逧�)逧�ケ溷庄菴ソ逕ィ |
|||
35 void Lc_print(void (*L0pf_send_uc)(char ww), char *dat,...) |
|||
36 ----------------------------------------------------------------------------------------- |
|||
37 |
|||
38 app |
|||
39 asp |
|||
40 bsp |
|||
41 |
|||
42 debug 騾画叫蜩ェ荳ェ荳イ蜿」菴應クコdebug蜊剰ョョ逧�夊ョッ |
|||
43 |
|||
44 ----------------------------------------------------------------------------------------- |
|||
45 |
|||
46 ----------------------------------------------------------------------------------------- |
|||
47 tpc/: 謗・謾カ蛻ー逧�焚謐ョ謾セ蜈・蛻ー謖�髄迚ケ螳壼刻隶ョ逧�シ灘ュ倅クュ�悟柱蜊剰ョョ逧��シ蠑乗怏蜈ウ 荳闊ャ蛻�クコ 譬 |
|||
-�、エ蠑乗�閠���ーセ蠑� |
|||
48 蜈ャ逕ィ逧�クイ蜿」騾夊ョッ螳壻ケ� |
|||
49 struct _s_uart_rec_ 逧��蜈ア蜊剰ョョ蛹�(蜈ウ髞ョ逧�サ捺桷菴�)逧�」ー譏�------struct _s_uart_rec_ |
|||
50 void L1_uart_2buf(struct _s_uart_rec_ *p)荳イ陦梧焚謐ョ菫晏ュ伜芦謖�髄迚ケ螳壼刻隶ョ逧�シ灘�荳ュ |
|||
C51 COMPILER V9.54 MSP_UARTN 09/06/2024 11:24:45 PAGE 2 |
|||
|
|||
51 |
|||
52 -------------------------------------------------------------------------------------------- |
|||
53 msp/msp_uartx.c |
|||
54 |
|||
55 |
|||
56 |
|||
57 |
|||
58 |
|||
59 -------------------------------------------------------------------------------------------- |
|||
60 msp/msp_uart0.c 蠎募アゆサ」遐� 蜥慶pu逶ク蜈ウ 郛灘ュ伜書騾∽ケ滓叛蝨ィ驥碁擇 |
|||
61 L0_UART0_Init |
|||
62 UART0_IRQHandler |
|||
63 L0_Usend_uc------UserDef |
|||
64 ----------------------------------------------------------------------------------------- |
|||
65 ********************************************************************************/ |
|||
66 |
|||
67 #include "msp_uartN.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
68 |
|||
69 TS_Uart_Send_ ts_Usend[SERIAL_MAX_NUM]= {0}; |
|||
70 TS_send_buf_ ts_Usendbuf; |
|||
71 |
|||
72 TS_rec_road_ ts_Urec[SERIAL_MAX_NUM]= {0}; |
|||
73 TS_rec_buf_ ts_Urecbuf; |
|||
74 code vU16 S_send_max[4]= |
|||
75 { |
|||
76 D_send1_max, |
|||
77 D_send2_max, |
|||
78 D_send3_max, |
|||
79 D_send4_max |
|||
80 }; |
|||
81 |
|||
82 void L0_uartN_set(U8 uartx,U8 x) |
|||
83 { |
|||
84 1 switch(uartx) |
|||
85 1 { |
|||
86 2 case 0: |
|||
87 2 SBUF = (x); |
|||
88 2 break; |
|||
89 2 case 1: |
|||
90 2 S2BUF = (x);/// |
|||
91 2 break; |
|||
92 2 case 2: |
|||
93 2 S3BUF = (x); |
|||
94 2 break; |
|||
95 2 case 3: |
|||
96 2 S4BUF = (x); |
|||
97 2 break; |
|||
98 2 default:break; |
|||
99 2 } |
|||
100 1 } |
|||
101 /* |
|||
102 void L0_waitFree_uartN888(U8 uartx) |
|||
103 { |
|||
104 ts_Usend[uartx].over = 0; |
|||
105 while(ts_Usend[uartx].now != 0) |
|||
106 { |
|||
107 #if 10 //蜿鷹∵焚謐ョ迚ケ蛻ォ蠢ォ譌カ�梧汾莠帶ュ蜀オ荳倶シ壼ッシ閾エ謨ー謐ョ蜿鷹∝�髞� |
|||
108 if(ts_Usend[uartx].over ++ > 600000)///霑呎�キ蜀吝ア�┯蜃コ髞� |
|||
109 |
|||
110 {////ts_uart[uartx].p->ok = D_ready; |
|||
111 |
|||
C51 COMPILER V9.54 MSP_UARTN 09/06/2024 11:24:45 PAGE 3 |
|||
|
|||
112 ts_Usend[uartx].now = 0; |
|||
113 break; |
|||
114 } |
|||
115 #endif |
|||
116 } |
|||
117 } |
|||
118 */ |
|||
119 |
|||
120 void L0_waitFree_uartN(U8 uartx) |
|||
121 { |
|||
122 1 ts_Usend[uartx].over = 0; |
|||
123 1 while(ts_Usend[uartx].now != 0) |
|||
124 1 { |
|||
125 2 #if 10 //蜿鷹∵焚謐ョ迚ケ蛻ォ蠢ォ譌カ�梧汾莠帶ュ蜀オ荳倶シ壼ッシ閾エ謨ー謐ョ蜿鷹∝�髞� |
|||
126 2 /// if(ts_uart[uartx].p->over ++ > 600000)///霑呎�キ蜀吝ア�┯蜃コ髞�(vU32) |
|||
127 2 ts_Usend[uartx].over ++; |
|||
128 2 if(ts_Usend[uartx].over > 20000)////600 000--4s |
|||
129 2 {////ts_uart[uartx].p->ok = D_ready; |
|||
130 3 ts_Usend[uartx].max = ts_Usend[uartx].now; |
|||
131 3 ts_Usend[uartx].ok = D_ready; |
|||
132 3 // ts_Usend[uartx].over = 0; |
|||
133 3 // ts_Usend[uartx].now = 1; |
|||
134 3 ts_Usend[uartx].now = 0; |
|||
135 3 break; |
|||
136 3 } |
|||
137 2 #endif |
|||
138 2 } |
|||
139 1 } |
|||
140 |
|||
141 #define D_485R 0 |
|||
142 #define D_485S 1 |
|||
143 |
|||
144 |
|||
145 void L0_uartN_485(U8 uartx,U8 x) |
|||
146 { |
|||
147 1 if (D_485R == x) |
|||
148 1 { |
|||
149 2 switch(uartx) |
|||
150 2 { |
|||
151 3 case 0: |
|||
152 3 D_UART1_485_RX(); |
|||
153 3 break; |
|||
154 3 case 1: |
|||
155 3 break; |
|||
156 3 case 2: |
|||
157 3 break; |
|||
158 3 case 3: |
|||
159 3 //// D_UART4_485_RX(); |
|||
160 3 break; |
|||
161 3 default:break; |
|||
162 3 } |
|||
163 2 }else |
|||
164 1 { |
|||
165 2 switch(uartx) |
|||
166 2 { |
|||
167 3 case 0: |
|||
168 3 D_UART1_485_TX(); |
|||
169 3 break; |
|||
170 3 case 1: |
|||
171 3 break; |
|||
172 3 case 2: |
|||
173 3 break; |
|||
C51 COMPILER V9.54 MSP_UARTN 09/06/2024 11:24:45 PAGE 4 |
|||
|
|||
174 3 case 3: |
|||
175 3 //// D_UART4_485_TX(); |
|||
176 3 break; |
|||
177 3 default:break; |
|||
178 3 } |
|||
179 2 } |
|||
180 1 |
|||
181 1 } |
|||
182 |
|||
183 void L0_uartN_Array(U8 uartx,void *buf,U16 len) |
|||
184 { |
|||
185 1 u16 i; |
|||
186 1 |
|||
187 1 L0_waitFree_uartN(uartx); |
|||
188 1 |
|||
189 1 L0_uartN_485(uartx,D_485S); |
|||
190 1 ts_Usend[uartx].ok = D_ready; |
|||
191 1 ts_Usend[uartx].over = 0; |
|||
192 1 ts_Usend[uartx].now = 1; |
|||
193 1 if (len > ts_Usend[uartx].max_def) |
|||
194 1 { |
|||
195 2 len = ts_Usend[uartx].max_def - 1; |
|||
196 2 } |
|||
197 1 ts_Usend[uartx].max = len; |
|||
198 1 //蟆�盾謨ーbuf諡キ雍晁�蜀�Κbuf |
|||
199 1 for(i = 0;i < len;i ++) |
|||
200 1 { |
|||
201 2 ts_Usend[uartx].sbuf[i] = ((U8*)buf)[i]; |
|||
202 2 } |
|||
203 1 L0_uartN_set(uartx,ts_Usend[uartx].sbuf[0]); |
|||
204 1 } |
|||
205 |
|||
206 |
|||
207 void L0_uartN_Arraylong(U8 uartx,U8 *buf,U16 usStart,U16 usEnd) |
|||
208 { |
|||
209 1 //L0_uart0_sendbuf(str,strlen(str)); |
|||
210 1 U16 t; |
|||
211 1 t = usEnd-usStart; |
|||
212 1 t ++; |
|||
213 1 L0_uartN_Array(uartx,&buf[usStart],t); |
|||
214 1 } |
|||
215 |
|||
216 |
|||
217 void L0_uartN_uc(U8 uartx,U8 ww) |
|||
218 { |
|||
219 1 L0_uartN_Array(uartx,&ww,1); |
|||
220 1 } |
|||
221 |
|||
222 void L0_uartN_us(U8 uartx,vU16 ww) |
|||
223 { |
|||
224 1 U_U16 uStemp; |
|||
225 1 uStemp.word = ww; |
|||
226 1 ts_Usend[uartx].buf3[0] = uStemp.BYTE2.h; |
|||
227 1 ts_Usend[uartx].buf3[1] = uStemp.BYTE2.l; |
|||
228 1 L0_uartN_Array(uartx,ts_Usend[uartx].buf3,2); |
|||
229 1 } |
|||
230 |
|||
231 void L0_uartN_ul(U8 uartx,vU32 ww) |
|||
232 { |
|||
233 1 U_U32 uStemp; |
|||
234 1 L0_waitFree_uartN(uartx); |
|||
235 1 uStemp.dWord = ww; |
|||
C51 COMPILER V9.54 MSP_UARTN 09/06/2024 11:24:45 PAGE 5 |
|||
|
|||
236 1 ts_Usend[uartx].buf3[0] = uStemp.BYTE4.byte0; |
|||
237 1 ts_Usend[uartx].buf3[1] = uStemp.BYTE4.byte1; |
|||
238 1 ts_Usend[uartx].buf3[2] = uStemp.BYTE4.byte2; |
|||
239 1 ts_Usend[uartx].buf3[3] = uStemp.BYTE4.byte3; |
|||
240 1 L0_uartN_Array(uartx,ts_Usend[uartx].buf3,4); |
|||
241 1 } |
|||
242 |
|||
243 void L0_uartN_0d0a(U8 uartx) |
|||
244 { |
|||
245 1 L0_waitFree_uartN(uartx); |
|||
246 1 ts_Usend[uartx].buf3[0] = 0x0d; |
|||
247 1 ts_Usend[uartx].buf3[1] = 0x0a; |
|||
248 1 L0_uartN_Array(uartx,ts_Usend[uartx].buf3,2); |
|||
249 1 } |
|||
250 |
|||
251 void L0_uartN_uchex(U8 uartx,U8 ww) |
|||
252 { |
|||
253 1 L0_waitFree_uartN(uartx); |
|||
254 1 ts_Usend[uartx].buf3[0] = cguHex2Char[D_uc_high(ww)][1]; |
|||
255 1 ts_Usend[uartx].buf3[1] = cguHex2Char[D_uc_low (ww)][1]; |
|||
256 1 L0_uartN_Array(uartx,ts_Usend[uartx].buf3,2); |
|||
257 1 } |
|||
258 |
|||
259 void L0_uartN_ushex(U8 uartx,vU16 ww) |
|||
260 { |
|||
261 1 U_F16 k; |
|||
262 1 L0_waitFree_uartN(uartx); |
|||
263 1 k.us = ww; |
|||
264 1 ts_Usend[uartx].buf3[0] = cguHex2Char[D_uc_high(k.BYTE2.H)][1]; |
|||
265 1 ts_Usend[uartx].buf3[1] = cguHex2Char[D_uc_low (k.BYTE2.H)][1]; |
|||
266 1 ts_Usend[uartx].buf3[2] = cguHex2Char[D_uc_high(k.BYTE2.L)][1]; |
|||
267 1 ts_Usend[uartx].buf3[3] = cguHex2Char[D_uc_low (k.BYTE2.L)][1]; |
|||
268 1 L0_uartN_Array(uartx,ts_Usend[uartx].buf3,4); |
|||
269 1 } |
|||
270 |
|||
271 void L0_uartN_ulhex(U8 uartx,U32 ww) |
|||
272 { |
|||
273 1 U_U32 k; |
|||
274 1 L0_waitFree_uartN(uartx); |
|||
275 1 k.dWord = ww; |
|||
276 1 ts_Usend[uartx].buf3[0] = cguHex2Char[D_uc_high(k.BYTE4.byte0)][1]; |
|||
277 1 ts_Usend[uartx].buf3[1] = cguHex2Char[D_uc_low (k.BYTE4.byte0)][1]; |
|||
278 1 ts_Usend[uartx].buf3[2] = cguHex2Char[D_uc_high(k.BYTE4.byte1)][1]; |
|||
279 1 ts_Usend[uartx].buf3[3] = cguHex2Char[D_uc_low (k.BYTE4.byte1)][1]; |
|||
280 1 ts_Usend[uartx].buf3[4] = cguHex2Char[D_uc_high(k.BYTE4.byte2)][1]; |
|||
281 1 ts_Usend[uartx].buf3[5] = cguHex2Char[D_uc_low (k.BYTE4.byte2)][1]; |
|||
282 1 ts_Usend[uartx].buf3[6] = cguHex2Char[D_uc_high(k.BYTE4.byte3)][1]; |
|||
283 1 ts_Usend[uartx].buf3[7] = cguHex2Char[D_uc_low (k.BYTE4.byte3)][1]; |
|||
284 1 L0_uartN_Array(uartx,ts_Usend[uartx].buf3,8); |
|||
285 1 } |
|||
286 |
|||
287 void L0_uartN_str(U8 uartx,U8 *str) |
|||
288 { |
|||
289 1 L0_uartN_Array(uartx,str,Lc_strlen(str)); |
|||
290 1 } |
|||
291 |
|||
292 void L0_uartN_uchexArray(U8 uartx,vU8 *buf,U16 n) |
|||
293 { |
|||
294 1 int i; |
|||
295 1 for(i=0;i<n;i++) |
|||
296 1 { |
|||
297 2 L0_uartN_uchex(uartx,buf[i]); |
|||
C51 COMPILER V9.54 MSP_UARTN 09/06/2024 11:24:45 PAGE 6 |
|||
|
|||
298 2 L0_uartN_uc(uartx,' '); |
|||
299 2 } |
|||
300 1 /// L0_uartN_0d0a(uartx); |
|||
301 1 } |
|||
302 |
|||
303 |
|||
304 |
|||
305 |
|||
306 void L0_uartN_ushexArray(U8 uartx,vU16 *buf,U16 n) |
|||
307 { |
|||
308 1 int i; |
|||
309 1 for(i=0;i<n;i++) |
|||
310 1 { |
|||
311 2 L0_uartN_ushex(uartx,buf[i]); |
|||
312 2 L0_uartN_uc(uartx,' '); |
|||
313 2 } |
|||
314 1 /// L0_uartN_0d0a(uartx); |
|||
315 1 } |
|||
316 |
|||
317 |
|||
318 ///////>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//withoutbuf>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
|||
319 |
|||
320 void L0_uartN_sbuf(U8 uartx)/////cc 2023/04/23--4:23:19 菫ョ豁」bug 隹�畑譌カ謾セ蛻ーts_Usend[uartx].max 螟榊 |
|||
-宛逧�燕髱「 |
|||
321 { |
|||
322 1 ts_Usend[uartx].max = 0; |
|||
323 1 ts_Usend[uartx].now = 0; |
|||
324 1 ts_Usend[uartx].ok = D_ready; |
|||
325 1 ts_Usend[uartx].max_def = S_send_max[uartx]; |
|||
326 1 switch(uartx) |
|||
327 1 { |
|||
328 2 case 0: |
|||
329 2 ts_Usend[uartx].sbuf = ts_Usendbuf.s1; |
|||
330 2 break; |
|||
331 2 case 1: |
|||
332 2 ts_Usend[uartx].sbuf = ts_Usendbuf.s2; |
|||
333 2 break; |
|||
334 2 case 2: |
|||
335 2 ts_Usend[uartx].sbuf = ts_Usendbuf.s3; |
|||
336 2 break; |
|||
337 2 case 3: |
|||
338 2 ts_Usend[uartx].sbuf = ts_Usendbuf.s4; |
|||
339 2 break; |
|||
340 2 default:break; |
|||
341 2 } |
|||
342 1 } |
|||
343 |
|||
344 ////菴ソ逕ィ蜀�スョ逧еsend buf逧�書騾� cc 2023/04/23--4:25:8 隹�畑逧�慮蛟吩ク榊庄菴ソ逕ィ譛ャ騾夐%逧�シ灘ュ |
|||
-� |
|||
345 void L0_uartN_Array_withoutbuf(U8 uartx,U16 len) |
|||
346 { |
|||
347 1 /// u16 i; |
|||
348 1 L0_waitFree_uartN(uartx); |
|||
349 1 |
|||
350 1 L0_uartN_485(uartx,D_485S); |
|||
351 1 L0_uartN_sbuf(uartx); |
|||
352 1 |
|||
353 1 if (len > ts_Usend[uartx].max_def) |
|||
354 1 { |
|||
355 2 len = ts_Usend[uartx].max_def - 1; |
|||
356 2 } |
|||
357 1 ts_Usend[uartx].max = len; |
|||
C51 COMPILER V9.54 MSP_UARTN 09/06/2024 11:24:45 PAGE 7 |
|||
|
|||
358 1 ts_Usend[uartx].now = 1; |
|||
359 1 L0_uartN_set(uartx,ts_Usend[uartx].sbuf[0]); |
|||
360 1 } |
|||
361 |
|||
362 ///cc 2023/04/23--4:25:8 隹�畑逧�慮蛟吩ク榊庄菴ソ逕ィ譛ャ騾夐%逧�シ灘ュ� |
|||
363 void L0_uartN_Arrayhex_withoutbuf(U8 uartx,vU8 *buf,U16 len) |
|||
364 { |
|||
365 1 vU16 i;vU16 t; |
|||
366 1 |
|||
367 1 L0_waitFree_uartN(uartx); |
|||
368 1 L0_uartN_sbuf(uartx); |
|||
369 1 if (len > (ts_Usend[uartx].max_def/3)) |
|||
370 1 { |
|||
371 2 len = ts_Usend[uartx].max_def/3 - 1; |
|||
372 2 } |
|||
373 1 for(i = 0;i < len;i ++) |
|||
374 1 { |
|||
375 2 |
|||
376 2 t = i * 3; |
|||
377 2 ts_Usend[uartx].sbuf[t] = cguHex2Char[D_uc_high(buf[i])][1];/// 34 '3'--33 |
|||
378 2 t ++; |
|||
379 2 ts_Usend[uartx].sbuf[t] = cguHex2Char[D_uc_low (buf[i])][1];/// 34 '3'--33 |
|||
380 2 t ++; |
|||
381 2 ts_Usend[uartx].sbuf[t] = ' '; |
|||
382 2 t ++; |
|||
383 2 |
|||
384 2 } |
|||
385 1 // len 2 11x 22x \0 |
|||
386 1 ts_Usend[uartx].sbuf[t] = ' '; |
|||
387 1 t++; |
|||
388 1 ts_Usend[uartx].sbuf[t] = 0x00; |
|||
389 1 L0_uartN_Array_withoutbuf(uartx,t-1); |
|||
390 1 |
|||
391 1 } |
|||
392 |
|||
393 |
|||
394 |
|||
395 |
|||
396 |
|||
397 |
|||
398 |
|||
399 |
|||
400 |
|||
401 |
|||
402 |
|||
403 |
|||
404 |
|||
405 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 3384 ---- |
|||
CONSTANT SIZE = 8 ---- |
|||
XDATA SIZE = 392 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
C51 COMPILER V9.54 MSP_UARTN 09/06/2024 11:24:45 PAGE 8 |
|||
|
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
@ -0,0 +1,220 @@ |
|||
C51 COMPILER V9.54 STC_8_DELAY 09/06/2024 11:24:45 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE STC_8_DELAY |
|||
OBJECT MODULE PLACED IN ..\out\stc_8_delay.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\cpu\stc_8_delay.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOI |
|||
-NTPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;.. |
|||
-\source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRIN |
|||
-T(..\out\stc_8_delay.lst) TABS(2) OBJECT(..\out\stc_8_delay.obj) |
|||
|
|||
line level source |
|||
|
|||
1 ////20220626_22154 CCmodify stc-isp的经过实测不准确 |
|||
2 #include "bsp_config.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
3 |
|||
4 |
|||
5 /////SYMBOL: L0_Del |
|||
6 void Lc_delay_nop(U8 i) |
|||
7 { |
|||
8 1 U8 m; |
|||
9 1 for(m=i;m>0;m--) |
|||
10 1 { |
|||
11 2 NOP(); |
|||
12 2 } |
|||
13 1 } |
|||
14 |
|||
15 |
|||
16 #if(MainFre_5M == D_sys_MainFre) |
|||
|
|||
void Delay100us() //@5.5296MHz |
|||
{ |
|||
unsigned char i; |
|||
|
|||
_nop_(); |
|||
i = 182; |
|||
while (--i); |
|||
} |
|||
|
|||
void Delay1ms() //@5.5296MHz |
|||
{ |
|||
unsigned char i, j; |
|||
|
|||
_nop_(); |
|||
_nop_(); |
|||
i = 8; |
|||
j = 43; |
|||
do |
|||
{ |
|||
while (--j); |
|||
} while (--i); |
|||
} |
|||
|
|||
#elif(MainFre_11M == D_sys_MainFre) |
|||
|
|||
|
|||
void Delay1us() //@11.0592MHz |
|||
{ |
|||
_nop_(); |
|||
_nop_(); |
|||
_nop_(); |
|||
} |
|||
|
|||
void Delay1ms() //@11.0592MHz |
|||
C51 COMPILER V9.54 STC_8_DELAY 09/06/2024 11:24:45 PAGE 2 |
|||
|
|||
{ |
|||
unsigned char i, j; |
|||
|
|||
i = 15; |
|||
j = 90; |
|||
do |
|||
{ |
|||
while (--j); |
|||
} while (--i); |
|||
} |
|||
void Delay100us() //@11.0592MHz |
|||
{ |
|||
unsigned char i, j; |
|||
|
|||
i = 2; |
|||
j = 109; |
|||
do |
|||
{ |
|||
while (--j); |
|||
} while (--i); |
|||
} |
|||
|
|||
|
|||
#elif(MainFre_22M == D_sys_MainFre) |
|||
76 |
|||
77 |
|||
78 void Delay1ms() //@22.1184MHz |
|||
79 { |
|||
80 1 unsigned char i, j; |
|||
81 1 |
|||
82 1 i = 29; |
|||
83 1 i = 10; |
|||
84 1 ////j = 183; |
|||
85 1 j = 52;//830/35; |
|||
86 1 do |
|||
87 1 { |
|||
88 2 while (--j); |
|||
89 2 } while (--i); |
|||
90 1 } |
|||
91 void Delay1us() //@22.1184MHz |
|||
92 { |
|||
93 1 unsigned char i; |
|||
94 1 |
|||
95 1 _nop_(); |
|||
96 1 i = 5; |
|||
97 1 while (--i); |
|||
98 1 } |
|||
99 |
|||
100 |
|||
101 void Delay100us() //@22.1184MHz |
|||
102 { |
|||
103 1 unsigned char i, j; |
|||
104 1 |
|||
105 1 i = 3; |
|||
106 1 j = 221; |
|||
107 1 do |
|||
108 1 { |
|||
109 2 while (--j); |
|||
110 2 } while (--i); |
|||
111 1 } |
|||
112 void Delay500us() //@22.1184MHz |
|||
113 { |
|||
C51 COMPILER V9.54 STC_8_DELAY 09/06/2024 11:24:45 PAGE 3 |
|||
|
|||
114 1 unsigned char i, j; |
|||
115 1 |
|||
116 1 i = 15; |
|||
117 1 j = 90; |
|||
118 1 do |
|||
119 1 { |
|||
120 2 while (--j); |
|||
121 2 } while (--i); |
|||
122 1 } |
|||
123 |
|||
124 |
|||
125 |
|||
126 #elif(MainFre_44M == D_sys_MainFre) |
|||
|
|||
|
|||
void Delay1ms() |
|||
{ |
|||
unsigned char i, j; |
|||
|
|||
i = 15; |
|||
////j = 183; |
|||
j = 102;//830/35; |
|||
do |
|||
{ |
|||
while (--j); |
|||
} while (--i); |
|||
} |
|||
void Delay1us() // |
|||
{ |
|||
unsigned char i; |
|||
|
|||
_nop_(); |
|||
i = 10; |
|||
while (--i); |
|||
} |
|||
|
|||
|
|||
void Delay100us() // |
|||
{ |
|||
unsigned char i, j; |
|||
|
|||
i = 3; |
|||
j = 221; |
|||
do |
|||
{ |
|||
while (--j); |
|||
} while (--i); |
|||
} |
|||
void Delay500us() //@ |
|||
{ |
|||
unsigned char i, j; |
|||
|
|||
i = 15; |
|||
j = 180; |
|||
do |
|||
{ |
|||
while (--j); |
|||
} while (--i); |
|||
} |
|||
|
|||
|
|||
#elif(MainFre_27M == D_sys_MainFre) |
|||
C51 COMPILER V9.54 STC_8_DELAY 09/06/2024 11:24:45 PAGE 4 |
|||
|
|||
|
|||
|
|||
#else ///MainFre_11M |
|||
|
|||
#endif//D_sys_MainFre) |
|||
181 |
|||
182 |
|||
183 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 159 ---- |
|||
CONSTANT SIZE = ---- ---- |
|||
XDATA SIZE = 9 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,86 @@ |
|||
<html> |
|||
<body> |
|||
<pre> |
|||
<h1>µVision Build Log</h1> |
|||
<h2>Tool Versions:</h2> |
|||
IDE-Version: ¦ÌVision V5.14.2 |
|||
Copyright (C) 2015 ARM Ltd and ARM Germany GmbH. All rights reserved. |
|||
License Information: 1 Administrator, 2, LIC=JLB1Q-NJQTZ-4FNI9-4D9LY-9HMEJ-3686Q |
|||
|
|||
Tool Versions: |
|||
Toolchain: PK51 Prof. Developers Kit Version: 9.54 |
|||
Toolchain Path: E:\KeilC51\C51\BIN |
|||
C Compiler: C51.exe V9.54 |
|||
Assembler: A51.exe V8.02c |
|||
Linker/Locator: LX51.exe V4.66.41.0 |
|||
Library Manager: LIBX51.exe V4.30.1.0 |
|||
Hex Converter: OHX51.exe V1.45.0.0 |
|||
CPU DLL: S8051.DLL V3.100.0.0 |
|||
Dialog DLL: DP51.DLL V2.62.0.1 |
|||
<h2>Project:</h2> |
|||
C:\Users\Administrator\Desktop\Weight-FLT\keilp\stcTTSS2_W5.uvprojx |
|||
Project File Date: 05/31/2024 |
|||
|
|||
<h2>Output:</h2> |
|||
Rebuild target 'STC8H3K64S2' |
|||
compiling app_weight.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
..\source\app\app_weight.c(530): warning C182: pointer to different objects |
|||
..\source\app\app_weight.c(530): warning C182: pointer to different objects |
|||
compiling main.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling app_config.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
..\source\app\app_config.c(116): warning C280: 't': unreferenced local variable |
|||
compiling asp_schain.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling asp_lowpower.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
assembling STARTUP.A51... |
|||
compiling stc_8_delay.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling msp_uartN.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling msp_time2.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling msp_uart1.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
..\source\msp\uart\msp_uart1.c(62): warning C320: "MainFre_22M BRT_115200" |
|||
compiling msp_iicMx.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling msp_eeprom.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling msp_adc.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling bsp_config.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling bsp_led.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling bsp_cs1232.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling TTSS_task.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling TTSS_tick.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling TTSS_time_stc.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling tpc_road.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
compiling c_lib.c... |
|||
..\source\clib\c_lib.c(293): warning C291: not every exit path returns a value |
|||
..\source\clib\c_lib.c(329): warning C291: not every exit path returns a value |
|||
..\source\clib\c_lib.c(366): warning C291: not every exit path returns a value |
|||
..\source\clib\c_lib.c(395): warning C291: not every exit path returns a value |
|||
compiling c_delay.c... |
|||
compiling debug_drv.c... |
|||
..\source\bsp\TTSSbsp\bsp_config.h(51): warning C320: "MainFre_22M" |
|||
..\source\debug\debug_drv.c(177): warning C320: "CC: without uart3" |
|||
..\source\debug\debug_drv.c(191): warning C320: "CC: without uart4" |
|||
..\source\debug\debug_drv.c(286): warning C320: "CC: putchar ok" |
|||
linking... |
|||
Program Size: data=17.1 xdata=1324 const=90 code=14119 |
|||
creating hex file from "..\out\stcweight"... |
|||
"..\out\stcweight" - 0 Error(s), 31 Warning(s). |
|||
</pre> |
|||
</body> |
|||
</html> |
@ -0,0 +1,890 @@ |
|||
:04000000022764224D |
|||
:10000B000233D57B017A02791612356F90021A747E |
|||
:10001B00E0F07F011235072202260EE709F608DF12 |
|||
:10002B00FA8046E709F208DFFA803E88828C83E784 |
|||
:10003B0009F0A3DFFA8032E309F608DFFA8078E3F0 |
|||
:10004B0009F208DFFA807088828C83E309F0A3DF62 |
|||
:10005B00FA806489828A83E0A3F608DFFA805889E4 |
|||
:10006B00828A83E0A3F208DFFA804C80D280FA8088 |
|||
:10007B00C680D4806980F28033801080A680EA80AD |
|||
:10008B009A80A880DA80E280CA803389828A83ECE6 |
|||
:10009B00FAE493A3C8C582C8CCC583CCF0A3C8C56A |
|||
:1000AB0082C8CCC583CCDFE9DEE7800D89828A83E9 |
|||
:1000BB00E493A3F608DFF9ECFAA9F0EDFB228982B1 |
|||
:1000CB008A83ECFAE0A3C8C582C8CCC583CCF0A365 |
|||
:1000DB00C8C582C8CCC583CCDFEADEE880DB898269 |
|||
:1000EB008A83E493A3F208DFF980CC88F0EF6001F8 |
|||
:1000FB000E4E60C388F0ED2402B4040050B9F582B3 |
|||
:10010B00EB2402B4040050AF2323458223900076E6 |
|||
:10011B0073BB010689828A83E0225002E722BBFE71 |
|||
:10012B0002E32289828A83E49322BB010CE58229B4 |
|||
:10013B00F582E5833AF583E0225006E92582F8E65D |
|||
:10014B0022BBFE06E92582F8E222E58229F582E54B |
|||
:10015B00833AF583E49322BB010FF8E58229F582FC |
|||
:10016B00E5833AF583E028F0225009C58229F8E5AA |
|||
:10017B008226F622BBFE09C58229F8E22582F222ED |
|||
:10018B00F8EA2583F583E9932822BB010689828A45 |
|||
:10019B0083F0225002F722BBFE01F322F8BB010DC4 |
|||
:1001AB00E58229F582E5833AF583E8F0225006E9EA |
|||
:1001BB002582C8F622BBFE05E92582C8F222EF8D07 |
|||
:1001CB00F0A4A8F0CF8CF0A428CE8DF0A42EFE22A4 |
|||
:1001DB00BC000BBE0029EF8DF084FFADF022E4CC08 |
|||
:1001EB00F875F008EF2FFFEE33FEEC33FCEE9DECD1 |
|||
:1001FB00984005FCEE9DFE0FD5F0E9E4CEFD22ED17 |
|||
:10020B00F8F5F0EE8420D21CFEADF075F008EF2F60 |
|||
:10021B00FFED33FD4007985006D5F0F222C398FD51 |
|||
:10022B000FD5F0EA22C2D5EC30E709B2D5E4C39D75 |
|||
:10023B00FDE49CFCEE30E715B2D5E4C39FFFE49ED2 |
|||
:10024B00FE1201DBC3E49DFDE49CFC80031201DB89 |
|||
:10025B0030D507C3E49FFFE49EFE22C5F0F8A3E070 |
|||
:10026B0028F0C5F0F8E582158270021583E038F0AE |
|||
:10027B0022A3F8E0C5F025F0F0E582158270021597 |
|||
:10028B0083E0C838F0E822BB010A89828A83E0F553 |
|||
:10029B00F0A3E022500687F009E71922BBFE07E323 |
|||
:1002AB00F5F009E3192289828A83E493F5F074014E |
|||
:1002BB009322BB0110E58229F582E5833AF583E0B1 |
|||
:1002CB00F5F0A3E0225009E92582F886F008E62232 |
|||
:1002DB00BBFE0AE92582F8E2F5F008E222E5832A63 |
|||
:1002EB00F583E993F5F0A3E99322F8BB0111E582BD |
|||
:1002FB0029F582E5833AF583E8F0E5F0A3F0225087 |
|||
:10030B0009E92582C8F608A6F022BBFE09E9258279 |
|||
:10031B00C8F2E5F008F222EF2BFFEE3AFEED39FDC5 |
|||
:10032B00EC38FC22C3EF9BFFEE9AFEED99FDEC98A7 |
|||
:10033B00FC22E88FF0A4CC8BF0A42CFCE98EF0A46B |
|||
:10034B002CFC8AF0EDA42CFCEA8EF0A4CDA8F08B4B |
|||
:10035B00F0A42DCC3825F0FDE98FF0A42CCD35F091 |
|||
:10036B00FCEB8EF0A4FEA9F0EB8FF0A4CFC5F02E22 |
|||
:10037B00CD39FEE43CFCEAA42DCE35F0FDE43CFC8B |
|||
:10038B002275F008758200EF2FFFEE33FECD33CDD3 |
|||
:10039B00CC33CCC58233C5829BED9AEC99E5829820 |
|||
:1003AB00400CF582EE9BFEED9AFDEC99FC0FD5F01F |
|||
:1003BB00D6E4CEFBE4CDFAE4CCF9A88222B800C196 |
|||
:1003CB00B90059BA002DEC8BF084CFCECDFCE5F003 |
|||
:1003DB00CBF97818EF2FFFEE33FEED33FDEC33FC4A |
|||
:1003EB00EB33FB10D703994004EB99FB0FD8E5E4F3 |
|||
:1003FB00F9FA227818EF2FFFEE33FEED33FDEC33D5 |
|||
:10040B00FCC933C910D7059BE99A4007EC9BFCE963 |
|||
:10041B009AF90FD8E0E4C9FAE4CCFB2275F010EF9F |
|||
:10042B002FFFEE33FEED33FDCC33CCC833C810D7E2 |
|||
:10043B00079BEC9AE899400AED9BFDEC9AFCE89936 |
|||
:10044B00F80FD5F0DAE4CDFBE4CCFAE4C8F922C31B |
|||
:10045B00E49FFFE49EFEE49DFDE49CFC22EB9FF5F4 |
|||
:10046B00F0EA9E42F0E99D42F0EC6480C86480980B |
|||
:10047B0045F022EB9FF5F0EA9E42F0E99D42F0E851 |
|||
:10048B009C45F022E8600FECC313FCED13FDEE135B |
|||
:10049B00FEEF13FFD8F122E8600FEFC333FFEE330B |
|||
:1004AB00FEED33FDEC33FCD8F122BB010789828AC8 |
|||
:1004BB00830205435005E9F80206E9BBFE05E9F89E |
|||
:1004CB000206F589828A8302054FBB010DE582295D |
|||
:1004DB00F582E5833AF5830205435007E92582F857 |
|||
:1004EB000206E9BBFE07E92582F80206F5E582293B |
|||
:1004FB00F582E5833AF58302054FBB010789828AB2 |
|||
:10050B00830205E05005E9F802071BBBFE05E9F87D |
|||
:10051B0002072722BB010DE58229F582E5833AF517 |
|||
:10052B00830205E05007E92582F802071BBBFE0793 |
|||
:10053B00E92582F802072722E0FCA3E0FDA3E0FEF9 |
|||
:10054B00A3E0FF22E493FC740193FD740293FE7409 |
|||
:10055B000393FF22E0F8A3E0F9A3E0FAA3E0FB2268 |
|||
:10056B00E493F8740193F9740293FA740393FB22E6 |
|||
:10057B00BB010DE58229F582E5833AF58302055F20 |
|||
:10058B005007E92582F8020701BBFE07E92582F82F |
|||
:10059B0002070EE58229F582E5833AF58302056BA6 |
|||
:1005AB007401FF3395E0FEFDFCA3A3A3E0CF2FF076 |
|||
:1005BB00E582158270021583E0CE3EF0E58215824E |
|||
:1005CB0070021583E0CD3DF0E58215827002158334 |
|||
:1005DB00E0CC3CF022ECF0A3EDF0A3EEF0A3EFF0B7 |
|||
:1005EB0022A8828583F0D083D082120603120603E1 |
|||
:1005FB00120603120603E473E493A3C583C5F0C587 |
|||
:10060B0083C8C582C8F0A3C583C5F0C583C8C5829E |
|||
:10061B00C822BB010789828A830205EC5005E9F8E1 |
|||
:10062B00020733BBFE05E9F802074C22E0FBA3E00F |
|||
:10063B00FAA3E0F922F8E0FBA3A3E0F925F0F0E53B |
|||
:10064B0082158270021583E0FA38F022EBF0A3EAF0 |
|||
:10065B00F0A3E9F022BB010DE58229F582E5833A8F |
|||
:10066B00F5830206375007E92582F8020765BBFEC2 |
|||
:10067B0007E92582F802076EE58229F582E5833AC0 |
|||
:10068B00F583020777D083D082F8E493701274015C |
|||
:10069B0093700DA3A393F8740193F5828883E4738D |
|||
:1006AB007402936860EFA3A3A380DF8A838982E43B |
|||
:1006BB0073EC8EF0A4CCC5F0CCCDF8EFA4CEC5F086 |
|||
:1006CB002DFDE43CFCE8A42EC8C5F03DFDE43CFC4C |
|||
:1006DB00EFA4FFE5F028FEE43DFDE43CFC22E6FC44 |
|||
:1006EB0008E6FD08E6FE08E6FF22E2FC08E2FD084C |
|||
:1006FB00E2FE08E2FF22E6FB08E6F908E6FA08E666 |
|||
:10070B00CBF822E2FB08E2F908E2FA08E2CBF82286 |
|||
:10071B00ECF608EDF608EEF608EFF622ECF208ED33 |
|||
:10072B00F208EEF208EFF222D083D082E493F608BF |
|||
:10073B00740193F608740293F608740393F6740429 |
|||
:10074B0073D083D082E493F208740193F20874029D |
|||
:10075B0093F208740393F2740473E6FB08E6FA0849 |
|||
:10076B00E6F922E2FB08E2FA08E2F922E493FB74D1 |
|||
:10077B000193FA740293F9229004C612065790045F |
|||
:10078B00C6120637758204758300120135FFEF120E |
|||
:10079B0006900886540E3C550C8D560D7E570A3428 |
|||
:1007AB008308E493095C9407BFE00DA2E10DDBE93C |
|||
:1007BB0000000E3C9004C612063775820B75830041 |
|||
:1007CB00E41201A79004C612063775820A758300DE |
|||
:1007DB00E41201A77F0012203B7BFF7A297929C005 |
|||
:1007EB0003C002C0019004C61206377582067583DA |
|||
:1007FB0000120660758201758300120135FF7E00C1 |
|||
:10080B009002ABEEF0A3EFF0D001D002D0031212A6 |
|||
:10081B00387F0012203B9004C6120637758209758B |
|||
:10082B00830074011201A79004C612063775820566 |
|||
:10083B0075830074541201A79004C6120637758293 |
|||
:10084B000475830074E11201A79002D0120543EFE7 |
|||
:10085B00247DFFEE3400FEED3400FDEC3400FC9003 |
|||
:10086B0004C6120637120505229004C61206377508 |
|||
:10087B00820475830074541201A7229004C61206D9 |
|||
:10088B0037758206758300120660758201758300C9 |
|||
:10089B00120135FF12318BEF6003020E3C9004C640 |
|||
:1008AB001206377582067583001206607582017514 |
|||
:1008BB008300120135FF9004C6120637E9240CF9A8 |
|||
:1008CB00EA3400FA1226C29004C612063775820467 |
|||
:1008DB0075830074931201A7229004C61206377514 |
|||
:1008EB00820C7583001204D512334D9004C6120688 |
|||
:1008FB0037758210758300EE8FF01202F59004C6E7 |
|||
:10090B0012063775820675830012066075820475B0 |
|||
:10091B0083001202BDFFAEF09004C612063775823B |
|||
:10092B00107583001202BDFDACF0122BCA9004C6E9 |
|||
:10093B00120637758212758300EE8FF01202F59056 |
|||
:10094B0004C612063775820475830074941201A7CE |
|||
:10095B00229004C61206377582267583001202BDDB |
|||
:10096B00FFAEF09004C6120637758224758300EE35 |
|||
:10097B008FF01202F59004C6120637758228758324 |
|||
:10098B00001202BDFFAEF09004C612063775822628 |
|||
:10099B00758300EE8FF01202F59004C612063775C0 |
|||
:1009AB0082127583001202BDFFAEF09004C61206D0 |
|||
:1009BB0037758228758300EE8FF01202F59004C60E |
|||
:1009CB00120637E92424F9EA3400FA12213790048D |
|||
:1009DB00C61206377582267583001202BDFFAEF074 |
|||
:1009EB009004C6120637758214758300EE8FF012D1 |
|||
:1009FB0002F59004C6120637758209758300120141 |
|||
:100A0B0035FFEF60129004C61206377582047583AA |
|||
:100A1B000074831201A7229004C612063775820454 |
|||
:100A2B0075830074561201A7229004C612063775FF |
|||
:100A3B00820B758300120135FFEFC3940C502A7D96 |
|||
:100A4B00397F001236A09004C612063775820B75DB |
|||
:100A5B00830074011201629004C61206377582047A |
|||
:100A6B0075830074541201A7229004C612063775C1 |
|||
:100A7B00820675830012066075820275830012026E |
|||
:100A8B00BDFFAEF09004C612063775821075830059 |
|||
:100A9B001202BDFDACF0122D3C9004C61206377548 |
|||
:100AAB008206758300120660758204758300EE8FD3 |
|||
:100ABB00F01202F57F0012203B7BFF7A2979451259 |
|||
:100ACB0012387F0012203B7BFF7A29795DC003C06F |
|||
:100ADB0002C0019004C61206377582067583001298 |
|||
:100AEB000660758201758300120135FF7E0090024E |
|||
:100AFB00ABEEF0A3EFF09004C612063775821075BB |
|||
:100B0B0083001202BDFFAEF09002ADEEF0A3EFF04A |
|||
:100B1B009004C6120637758206758300120660753F |
|||
:100B2B0082047583001202BDFFAEF09002AFEEF0AF |
|||
:100B3B00A3EFF09004C61206377582067583001278 |
|||
:100B4B0006607582027583001202BDFFAEF0900243 |
|||
:100B5B00B1EEF0A3EFF0D001D002D0031212387F28 |
|||
:100B6B000012203B7BFF7A29798AC003C002C001A7 |
|||
:100B7B009004C612063775820675830012066075DF |
|||
:100B8B008201758300120135FF7E009002ABEEF0FF |
|||
:100B9B00A3EFF09004C6120637758210758300120E |
|||
:100BAB0002BDFFAEF09002ADEEF0A3EFF09004C6E5 |
|||
:100BBB0012063775820675830012066075820475FE |
|||
:100BCB0083001202BDFFAEF09002AFEEF0A3EFF088 |
|||
:100BDB009004C6120637758206758300120660757F |
|||
:100BEB0082027583001202BDFFAEF09002B1EEF0EF |
|||
:100BFB00A3EFF0D001D002D0031212389004C6122A |
|||
:100C0B0006377582147583001202BDFFAEF0E4FC4B |
|||
:100C1B00FD9004C612063775821675830012051FE8 |
|||
:100C2B009004C6120637758206758300120660752E |
|||
:100C3B008206758300120135F9C0019004C61206B5 |
|||
:100C4B00377582167583001204D5D001A8011204E2 |
|||
:100C5B00A29004C612063775821A75830012051FFF |
|||
:100C6B009004C6120637758209758300E41201A73A |
|||
:100C7B009004C612063775820475830074561201F0 |
|||
:100C8B00A7229004C6120637E9241AF9EA3400FAAF |
|||
:100C9B00C003C002C0011204B59004C6120637751A |
|||
:100CAB00821675830012057B12032FD001D002D060 |
|||
:100CBB00031205059004C6120637E9241AF9EA3423 |
|||
:100CCB0000FAC003C002C0011204B5C004C005C0C5 |
|||
:100CDB0006C0079004C6120637758214758300127E |
|||
:100CEB0002BDFFAEF0AB07AA06E4F9F8D007D006B9 |
|||
:100CFB00D005D004120322D001D002D00312050577 |
|||
:100D0B009004C6120637758206758300120660754D |
|||
:100D1B008206758300120135F9C0019004C61206D4 |
|||
:100D2B003775821A7583001204D5D001A8011204FD |
|||
:100D3B008F9004C612063775821675830012051F35 |
|||
:100D4B009004C61206377582167583001204D5906F |
|||
:100D5B0004C6120637758222758300EE8FF01202DD |
|||
:100D6B00F59004C61206377582047583007457120A |
|||
:100D7B0001A7229004C612063775820A7583007488 |
|||
:100D8B00011201A79004C612063775820475830001 |
|||
:100D9B0074541201A722229004C61206371204B50E |
|||
:100DAB009002D012055FC312047E5003020E3C90DA |
|||
:100DBB0004C6120637758205758300120135FF9044 |
|||
:100DCB0004C6120637758204758300EF1201A72241 |
|||
:100DDB009004C61206371204B57BFF7AFF79FF78B1 |
|||
:100DEB00FF1203229004C61206371205059004C6A3 |
|||
:100DFB001206371204B57B007A0079007800C31213 |
|||
:100E0B00047E702D9004C612063712061D000000DA |
|||
:100E1B00009004C6120637758205758300120135E2 |
|||
:100E2B00FF9004C6120637758204758300EF12011A |
|||
:100E3B00A7229004C01206577B017A01794E120744 |
|||
:100E4B00837B017A01797C1207837B017A0179AA72 |
|||
:100E5B001207837B017A0179D81207839004C012A1 |
|||
:100E6B000637758204758300120135FFEF12069069 |
|||
:100E7B000F360B10420D0EF20E11200F0FC0161075 |
|||
:100E8B00632D0E9AE01132E1116BE9000011CC7F5A |
|||
:100E9B000012203B9004C012063775822575830023 |
|||
:100EAB00E41201A79004C0120637758226758300E1 |
|||
:100EBB00E41201A79004C012063775822A758300CD |
|||
:100ECB00E475F0001202F57F0012203B7BFF7A2FB6 |
|||
:100EDB0079B41212389004C01206377582047583E8 |
|||
:100EEB0000740E1201A7229001E2E0FFEF64016093 |
|||
:100EFB00030211CC900158E4F0900186E4F09001CC |
|||
:100F0B00B4E4F09001E2E4F09004C012063775826D |
|||
:100F1B002575830074011201629004C012063775A7 |
|||
:100F2B008204758300740B1201A7229004C0120671 |
|||
:100F3B0037758225758300120135FFEFC39401408D |
|||
:100F4B00629004C0120637758225758300E4120186 |
|||
:100F5B00A7900170E0FEA3E0FF90017AEEF0A3EF03 |
|||
:100F6B00F090019EE0FEA3E0FF9001A8EEF0A3EF4E |
|||
:100F7B00F09001CCE0FEA3E0FF9001D6EEF0A3EFE2 |
|||
:100F8B00F09001FAE0FEA3E0FF900204EEF0A3EF75 |
|||
:100F9B00F09004C012063775820475830074161224 |
|||
:100FAB0001A7229004C01206377582047583007462 |
|||
:100FBB000E1201A72290017AE0FEA3E0FFE4FCFDF4 |
|||
:100FCB009002271205E090022712055F9001A8E01E |
|||
:100FDB00FEA3E0FFE4FCFD1203229002271205E0C2 |
|||
:100FEB0090022712055F9001D6E0FEA3E0FFE4FC20 |
|||
:100FFB00FD1203229002271205E090022712055FD3 |
|||
:10100B00900204E0FEA3E0FFE4FCFD120322900239 |
|||
:10101B00271205E0900227120543780212048F90E5 |
|||
:10102B00022F1205E09004C01206377582047583F7 |
|||
:10103B0000740D1201A72290022F12054390022378 |
|||
:10104B001205E0121B699004C012063775820475F5 |
|||
:10105B008300742D1201A722900240E0FEA3E0FF53 |
|||
:10106B0090023EE0FCA3E0FDD3ED9FEC9E403F9051 |
|||
:10107B0004C012063775822A7583001202BDFFAEBB |
|||
:10108B00F09004C01206377582287583001202BDDA |
|||
:10109B00FDACF0C3ED9FFFEC9EFE9004C012063733 |
|||
:1010AB0075822C758300EE8FF01202F5801390047D |
|||
:1010BB00C012063775822C758300E475F00012029E |
|||
:1010CB00F59004C0120637758205758300740E12F5 |
|||
:1010DB0001A79004C012063775820475830074E172 |
|||
:1010EB001201A79002D0120543EF2411FFEE34003A |
|||
:1010FB00FEED3400FDEC3400FC9004C012063712F8 |
|||
:10110B000505229004C0120637758204758300749E |
|||
:10111B000E1201A7229004C0120637758204758344 |
|||
:10112B0000740E1201A7229004C01206371204B5E8 |
|||
:10113B009002D012055FC312047E50030211CC90B3 |
|||
:10114B0004C0120637758205758300120135FF90B6 |
|||
:10115B0004C0120637758204758300EF1201A722B3 |
|||
:10116B009004C01206371204B57BFF7AFF79FF7823 |
|||
:10117B00FF1203229004C01206371205059004C01B |
|||
:10118B001206371204B57B007A0079007800C3127F |
|||
:10119B00047E702D9004C012063712061D0000004D |
|||
:1011AB00009004C012063775820575830012013555 |
|||
:1011BB00FF9004C0120637758204758300EF12018D |
|||
:1011CB00A722E50824ABF582E43402F583E0050899 |
|||
:1011DB00229002A83007039002ABE475F0011206CF |
|||
:1011EB004002011C2000E97F2ED2008018EF540F23 |
|||
:1011FB002490D43440D4FF30040BEF24BFB41A0036 |
|||
:10120B0050032461FFE50960021509050CE50C701C |
|||
:10121B0002050B30070E9002A8E475F00112064090 |
|||
:10122B00EF0201950236D97403D2078003E4C2079B |
|||
:10123B00F5089002A8120657E4F509F50BF50CE535 |
|||
:10124B000960077F2012121080F5750AFFC201C2D8 |
|||
:10125B0000C202C203C205C206C2081211DCFF7033 |
|||
:10126B000D3007057F00121221AF0CAE0B22B425F7 |
|||
:10127B005FC2D5C2041211DCFF24D0B40A00501A8D |
|||
:10128B0075F00A780930D50508B6FF0106C6A42605 |
|||
:10129B00F620D5047002D20380D924CFB41A00EF04 |
|||
:1012AB005004C2E5D204021422D20180C6D20080BF |
|||
:1012BB00C0D20280BCD2D580BAD20580B47F2012B6 |
|||
:1012CB0012102002077401B5090040F11211CDFF75 |
|||
:1012DB0012121002124AD208D20680951211CDFBBF |
|||
:1012EB001211CDFA1211CDF94A4B700679F37A141B |
|||
:1012FB007BFF20022EE509602A7E008E827583001B |
|||
:10130B0012013560060EEE650A70F0C2D5EBC0E037 |
|||
:10131B00EAC0E0E9C0E0EE121469D0E0F9D0E0FADF |
|||
:10132B00D0E0FB12011CFF60AAEBC0E0EAC0E0E9D1 |
|||
:10133B00C0E0121210D0E02401F9D0E03400FAD052 |
|||
:10134B00E0FBE50A0460DCD50AD980877BFF7A14C1 |
|||
:10135B007965D202809C791080027908C206C20896 |
|||
:10136B008008D2D5790A8004790AC2D5E50A0470BF |
|||
:10137B0002F50AE4FAFDFEFF1211CDFC7B082001F9 |
|||
:10138B00131211CDFD7B1030000A1211CDFE12117C |
|||
:10139B00CDFF7B20EC3382D592D55013C3E43000C4 |
|||
:1013AB00069FFFE49EFEE42001039DFDE49CFCE40C |
|||
:1013BB00CBF8C201EC700CCFCECDCCE824F8F87092 |
|||
:1013CB00F38017C3EF33FFEE33FEED33FDEC33FC4D |
|||
:1013DB00EB33FB994002FB0FD8E9EB300105F8D05A |
|||
:1013EB00E0C448B201C0E00AEC4D4E4F78207B00C0 |
|||
:1013FB0070C2EAB50A0040BCC0E012146BD0F0D04A |
|||
:10140B00E0200104C4C0E0C4B201C0F01211F9D055 |
|||
:10141B00F0D5F0EB02124A12069012E75313615803 |
|||
:10142B0012B84C12B44213654F136D44136D49122D |
|||
:10143B00CD4313735513574613574513574715137E |
|||
:10144B005012BC2D12C02E12E32B12C42312E1201A |
|||
:10145B0014FC2A127C48000012DB3F3F3F00790A44 |
|||
:10146B00A2D5200314300509B910020404B90801F0 |
|||
:10147B0004A2D52006025001042002689202B5098D |
|||
:10148B00005034C0E07F203003197F30A202720677 |
|||
:10149B007205500F1214C2C202C206C205C2087FE7 |
|||
:1014AB0030800F300503E9C0E0121210300503D075 |
|||
:1014BB00E0F9D0E0B509CC3005177F30B9100C122C |
|||
:1014CB0012107F583004077F788003B9080312127B |
|||
:1014DB00103002057F2D0212107F202008F87F2B81 |
|||
:1014EB002006F322920280CF286E756C6C2900D2F5 |
|||
:1014FB00011211CD3001F8C201780930D50108F67F |
|||
:10150B0002127C2D504349581211CD2403B405000F |
|||
:10151B004001E490150E93121201743A121201D28B |
|||
:10152B0003750904021361900512EFF09004841205 |
|||
:10153B00063712011CFF900512E0FEEE6F600302EE |
|||
:10154B0017559004841206377582027583001201B9 |
|||
:10155B0035FFEF120690157410158E2016513016AC |
|||
:10156B007B401735500000174743BA805391FB530C |
|||
:10157B0092FBB29212255343BA805391FB5392FBC9 |
|||
:10158B00B29222900484120637758205758300127D |
|||
:10159B000135FFEFC39403400302175590048412E7 |
|||
:1015AB000637758206758300120135FF7E00EF7FCB |
|||
:1015BB0000FE9004841206377582077583001201B2 |
|||
:1015CB0035FD7C00EE4CFEEF4DFF90048412063788 |
|||
:1015DB00758205758300120135FDED25E025E024AC |
|||
:1015EB0008F582E43402F583EEF0A3EFF0900223CA |
|||
:1015FB001205439004841206377582057583001219 |
|||
:10160B000135FDED25E025E0240AF582E43402F5F1 |
|||
:10161B0083EEF0A3EFF043BA805391FB5392FBB2EE |
|||
:10162B00921229B743BA805391FB5392FBB2921299 |
|||
:10163B0028987B017A027976900453743AF07F00F4 |
|||
:10164B007E00122E872290023EE0FEA3E0FF900266 |
|||
:10165B0040EEF0A3EFF043BA805391FB5392FBB2F1 |
|||
:10166B0092122AC443BA805391FB5392FBB292223B |
|||
:10167B0090031FE4F090031FE0FFEFC394034003BC |
|||
:10168B000217557F0012203B7BFF7A2F79CD9003F9 |
|||
:10169B001FE0FF7E009002ABEEF0A3EFF090031F74 |
|||
:1016AB00E0FFEF25E025E02408F582E43402F58322 |
|||
:1016BB00E0FEA3E0FF9002ADEEF0A3EFF090031F6E |
|||
:1016CB00E0FFEF25E025E02408F582E43402F58302 |
|||
:1016DB00E0FEA3E0FF9002AFEEF0A3EFF090031F4C |
|||
:1016EB00E0FFEF25E025E0240AF582E43402F583E0 |
|||
:1016FB00E0FEA3E0FF9002B1EEF0A3EFF090031F2A |
|||
:10170B00E0FFEF25E025E0240AF582E43402F583BF |
|||
:10171B00E0FEA3E0FF9002B3EEF0A3EFF01212385D |
|||
:10172B0090031FE004F0021680227F0012203B7B07 |
|||
:10173B00FF7A2F79E81212381222F0227F00122042 |
|||
:10174B003B7BFF7A2F79EF1212382290036BEFF06D |
|||
:10175B0090036C12065790036BE0FF12203B900333 |
|||
:10176B006BE0FF121E2E90036BE0FFEF75F019A4D8 |
|||
:10177B002424F582E43401F583E0FEA3E0FF7C0032 |
|||
:10178B007D031201DB90036FE0FCA3E0FDD3ED9F23 |
|||
:10179B00EC9E402F90036BE0FFEF75F019A424240F |
|||
:1017AB00F582E43401F583E0FEA3E0FF7C007D03CA |
|||
:1017BB001201DBEF24FFFFEE34FFFE90036FEEF020 |
|||
:1017CB00A3EFF0900371E4F0A3E4F090036FE0FE5D |
|||
:1017DB00A3E0FF900371E0FCA3E0FDC3ED9FEC9E43 |
|||
:1017EB0040030218F8900371E0FEA3E0FF7C007D3C |
|||
:1017FB00031201C9900373EEF0A3EFF090036C1288 |
|||
:10180B000637900371E0FEA3E0FF8F828E831201F7 |
|||
:10181B0035FFEFC4540FFFEF25E02461F582E4346C |
|||
:10182B0037F583E493FF90036BE0FEEE75F019A49C |
|||
:10183B002421F582E43401F583120637900373E01B |
|||
:10184B00FCA3E0FD8D828C83EF1201A7900373E460 |
|||
:10185B0075F00112026690036C120637900371E06B |
|||
:10186B00FEA3E0FF8F828E83120135FFEF540FFF33 |
|||
:10187B00EF25E02461F582E43437F583E493FF90A0 |
|||
:10188B00036BE0FEEE75F019A42421F582E434011C |
|||
:10189B00F583120637900373E0FCA3E0FD8D828C79 |
|||
:1018AB0083EF1201A7900373E475F00112026690A7 |
|||
:1018BB00036BE0FFEF75F019A42421F582E43401EA |
|||
:1018CB00F583120637900373E0FEA3E0FF8F828E41 |
|||
:1018DB008374201201A7900373E475F00112026662 |
|||
:1018EB00900371E475F0011202660217D690036B38 |
|||
:1018FB00E0FFEF75F019A42421F582E43401F583A0 |
|||
:10190B00120637900373E0FEA3E0FF8F828E837481 |
|||
:10191B00201201A7900373E475F001120266900385 |
|||
:10192B006BE0FFEF75F019A42421F582E43401F587 |
|||
:10193B0083120637900373E0FEA3E0FF8F828E8342 |
|||
:10194B00E41201A790036BE0FF900373E0FCA3E0AC |
|||
:10195B00FDED24FFFDEC34FFFC12221E229005242A |
|||
:10196B00EFF0900524E0FFEF75F00EA42403F58251 |
|||
:10197B00E43400F583E0FFEF6003021A4690052480 |
|||
:10198B00E0FFEF75F00EA42403F582E43400F58339 |
|||
:10199B007401F0900524E0FFEF75F00EA42404F51C |
|||
:1019AB0082E43400F583E4F0A3E4F0900524E0FF37 |
|||
:1019BB00EF75F00EA42406F582E43400F583E4F011 |
|||
:1019CB00900524E0FFEF75F00EA4240AF582E434B1 |
|||
:1019DB0000F583E4F0900524E0FFEF75F00EA424EE |
|||
:1019EB0000F582E43400F583E0FF900524E0FEEE81 |
|||
:1019FB0075F00EA4240BF582E43400F58312063740 |
|||
:101A0B00900524E0FEEE75F00EA42404F582E43478 |
|||
:101A1B0000F583E0FCA3E0FD8D828C83EF1201A720 |
|||
:101A2B00900524E0FFEF75F00EA42404F582E43456 |
|||
:101A3B0000F583E475F00112026622900524E0FFA5 |
|||
:101A4B00EF75F00EA42400F582E43400F583E0FF7B |
|||
:101A5B00900524E0FEEE75F00EA4240BF582E43421 |
|||
:101A6B0000F583120637900524E0FEEE75F00EA408 |
|||
:101A7B002404F582E43400F583E0FCA3E0FD8D82C1 |
|||
:101A8B008C83EF1201A7900524E0FFEF75F00EA4F5 |
|||
:101A9B002404F582E43400F583E475F00112026648 |
|||
:101AAB00900524E0FFEF75F00EA42404F582E434D6 |
|||
:101ABB0000F583E0FEA3E0FF900524E0FEEE75F059 |
|||
:101ACB000EA4240AF582E43400F583EFF09005248C |
|||
:101ADB00E0FFEF75F00EA42408F582E43400F583E3 |
|||
:101AEB00E0FEA3E0FF900524E0FDED75F00EA424CD |
|||
:101AFB0004F582E43400F583E0FCA3E0FDC3ED9F25 |
|||
:101B0B00EC9E4059900524E0FFEF75F00EA42406DF |
|||
:101B1B00F582E43400F5837402F0900524E0FFEFC6 |
|||
:101B2B0075F00EA42407F582E43400F5837401F0FC |
|||
:101B3B00900524E0FFEF75F00EA42403F582E43446 |
|||
:101B4B0000F583E4F0900524E0FFEF75F00EA4247C |
|||
:101B5B0004F582E43400F583E4F0A3E4F022900270 |
|||
:101B6B009EE0FEA3E0FFE4FCFD90022312055FD391 |
|||
:101B7B0012047E4003021C2A90029AE0FEA3E0FFAF |
|||
:101B8B00E4FCFD90022312055FD312047E501190EA |
|||
:101B9B00029AE0FEA3E0FFE4FCFD9002231205E0B5 |
|||
:101BAB0090029AE0FEA3E0FFAB07AA06E4F9F890D7 |
|||
:101BBB00022312054312032F9002331205E0900209 |
|||
:101BCB009AE0FEA3E0FF90029EE0FCA3E0FDC3EDD4 |
|||
:101BDB009FFFEC9EFEE4FCFD9002371205E09002A5 |
|||
:101BEB003312055F900298E0FEA3E0FF90029CE0A9 |
|||
:101BFB00FCA3E0FDC3ED9FFFEC9EFEE4FCFD120396 |
|||
:101C0B003D9002331205E0900233120543900237E8 |
|||
:101C1B0012055F1203C89002331205E0021CC0903C |
|||
:101C2B00029EE0FEA3E0FFAB07AA06E4F9F89002E0 |
|||
:101C3B002312054312032F9002331205E090029EEC |
|||
:101C4B00E0FEA3E0FF9002A2E0FCA3E0FDC3ED9F4A |
|||
:101C5B00FFEC9EFEE4FCFD9002371205E090023390 |
|||
:101C6B0012055F90029CE0FEA3E0FF9002A0E0FC57 |
|||
:101C7B00A3E0FDC3ED9FFFEC9EFEE4FCFD12033DD4 |
|||
:101C8B009002331205E09002331205439002371293 |
|||
:101C9B00055F1203C89002331205E0900233120560 |
|||
:101CAB005F90029CE0FEA3E0FFE4FCFD1203229098 |
|||
:101CBB0002331205E090023312054390023EEEF020 |
|||
:101CCB00A3EFF0229003E8EFF09003E91206579090 |
|||
:101CDB0003E8E0FF12203B9003E8E0FF7D01122FA9 |
|||
:101CEB00539003E8E0FFEF75F019A42420F582E48C |
|||
:101CFB003401F5837401F09003E8E0FFEF75F01900 |
|||
:101D0B00A4241CF582E43401F5831205EC000000D9 |
|||
:101D1B00009003E8E0FFEF75F019A42417F582E4B7 |
|||
:101D2B003401F583E4F0A37401F09003E8E0FFEFD6 |
|||
:101D3B0075F019A42424F582E43401F583E0FEA3A5 |
|||
:101D4B00E0FF9003ECE0FCA3E0FDD3ED9FEC9E40A5 |
|||
:101D5B00289003E8E0FFEF75F019A42424F582E442 |
|||
:101D6B003401F583E0FEA3E0FFEF24FFFFEE34FF29 |
|||
:101D7B00FE9003ECEEF0A3EFF09003ECE0FEA3E09B |
|||
:101D8B00FF9003E8E0FDED75F019A42419F582E44A |
|||
:101D9B003401F583EEF0A3EFF09003EEE4F0A3E44F |
|||
:101DAB00F09003ECE0FEA3E0FF9003EEE0FCA3E079 |
|||
:101DBB00FDC3ED9FEC9E50489003E912063790034C |
|||
:101DCB00EEE0FEA3E0FF8F828E83120135FF9003BE |
|||
:101DDB00E8E0FEEE75F019A42421F582E43401F558 |
|||
:101DEB00831206379003EEE0FCA3E0FD8D828C831B |
|||
:101DFB00EF1201A79003EEE475F00112026680A1C9 |
|||
:101E0B009003E8E0FFEF75F019A42421F582E43488 |
|||
:101E1B0001F58312063712011CFD9003E8E0FF1257 |
|||
:101E2B00339222900519EFF0900519E0FFEF75F052 |
|||
:101E3B0019A42419F582E43401F583E4F0A3E4F04A |
|||
:101E4B00900519E0FFEF75F019A42417F582E4341F |
|||
:101E5B0001F583E4F0A3E4F0900519E0FFEF75F0D2 |
|||
:101E6B0019A42420F582E43401F5837401F0900564 |
|||
:101E7B0019E0FFEF25E02480F582E43437F583E4A5 |
|||
:101E8B0093FE740193FF900519E0FDED75F019A415 |
|||
:101E9B002424F582E43401F583EEF0A3EFF09005F2 |
|||
:101EAB0019E0FFEF1206901EC2001EDF011EFC029E |
|||
:101EBB001F190300001F357B017A007992900519D9 |
|||
:101ECB00E0FFEF75F019A42421F582E43401F583CA |
|||
:101EDB00120657227B017A017912900519E0FFEF68 |
|||
:101EEB0075F019A42421F582E43401F58312065709 |
|||
:101EFB00227B017A017913900519E0FFEF75F01938 |
|||
:101F0B00A42421F582E43401F583120657227B01C8 |
|||
:101F1B007A017914900519E0FFEF75F019A42421CB |
|||
:101F2B00F582E43401F5831206572290048CEFF00E |
|||
:101F3B0090048DECF0A3EDF090048CE0FF12203BAD |
|||
:101F4B0090048DE0FEA3E0FF90048FEEF0A3EFF082 |
|||
:101F5B0090048FE0FFEFC4540FFFEF25E02461F5F1 |
|||
:101F6B0082E43437F583E493FF90048CE0FEEE7546 |
|||
:101F7B00F019A42426F582E43401F583EFF09004E4 |
|||
:101F8B008FE0FFEF540FFFEF25E02461F582E4347F |
|||
:101F9B0037F583E493FF90048CE0FEEE75F019A403 |
|||
:101FAB002427F582E43401F583EFF0900490E0FFF1 |
|||
:101FBB00EFC4540FFFEF25E02461F582E43437F5CD |
|||
:101FCB0083E493FF90048CE0FEEE75F019A42428B3 |
|||
:101FDB00F582E43401F583EFF0900490E0FFEF54C9 |
|||
:101FEB000FFFEF25E02461F582E43437F583E493AA |
|||
:101FFB00FF90048CE0FEEE75F019A42429F582E421 |
|||
:10200B003401F583EFF090048CE0FF7E19EF8EF036 |
|||
:10201B00A4FFAEF074262FF974013EFA7B019004F5 |
|||
:10202B008CE0FF9003ECE4F0A37404F0121CCF22BD |
|||
:10203B00900517EFF0900517E0FFEF75F019A4244A |
|||
:10204B001CF582E43401F5831205EC0000000090CE |
|||
:10205B000517E0FFEF75F019A42417F582E434019E |
|||
:10206B00F583E0FEA3E0FFEF4E70030221369005EF |
|||
:10207B0017E0FFEF75F019A4241CF582E43401F589 |
|||
:10208B00831205437B017A007900780012032290BA |
|||
:10209B000517E0FBEB75F019A4241CF582E4340161 |
|||
:1020AB00F5831205E0900517E0FFEF75F019A424F6 |
|||
:1020BB001CF582E43401F5831205437B207A4E79BB |
|||
:1020CB00007800C312047E5086900517E0FFEF7571 |
|||
:1020DB00F019A42417F582E43401F583E0FEA3E0A4 |
|||
:1020EB00FF900517E0FDED75F019A42419F582E4B6 |
|||
:1020FB003401F583EEF0A3EFF0900517E0FFEF75D9 |
|||
:10210B00F019A42420F582E43401F5837401F090D6 |
|||
:10211B000517E0FFEF75F019A42417F582E43401DD |
|||
:10212B00F583E4F0A3E4F02202205A229004DE129D |
|||
:10213B0006579004DE120637758202758300120271 |
|||
:10214B00BDFFAEF09004DE120637120292FDACF02A |
|||
:10215B00C3EF9DEE9C404D9004DE12063775820452 |
|||
:10216B007583001202BDFFAEF09004DE12063775C8 |
|||
:10217B0082027583001202BDFDACF0D3ED9FEC9E85 |
|||
:10218B00500302221D9004DE120637120292FFAE9C |
|||
:10219B00F09004DE120637758202758300EE8FF025 |
|||
:1021AB001202F5229004DE12063775820275830047 |
|||
:1021BB001202BDFFAEF09004DE120637120292FD42 |
|||
:1021CB00ACF0C3EF9DEE9C50499004DE12063775C0 |
|||
:1021DB0082047583001202BDFFAEF09004DE12067E |
|||
:1021EB00377582027583001202BDFDACF0C3ED9F03 |
|||
:1021FB00EC9E501E9004DE120637120292FFAEF0D8 |
|||
:10220B009004DE120637758202758300EE8FF01292 |
|||
:10221B0002F5229004C9EFF09004CAECF0A3EDF0A4 |
|||
:10222B009004C9E0FF12203B9004C9E0FF7D01122E |
|||
:10223B002F539004C9E0FF121E2E9004C9E0FFEF4C |
|||
:10224B0075F019A42424F582E43401F583E0FEA390 |
|||
:10225B00E0FF9004CAE0FCA3E0FDD3ED9FEC9E40B1 |
|||
:10226B00289004C9E0FFEF75F019A42424F582E44B |
|||
:10227B003401F583E0FEA3E0FFEF24FFFFEE34FF14 |
|||
:10228B00FE9004CAEEF0A3EFF09004CAE0FEA3E0C8 |
|||
:10229B00FF9004C9E0FDED75F019A42419F582E453 |
|||
:1022AB003401F583EEF0A3EFF09004C9E0FFEF7576 |
|||
:1022BB00F019A42417F582E43401F583E4F0A37438 |
|||
:1022CB0001F09004C9E0FFEF75F019A42421F58209 |
|||
:1022DB00E43401F58312063712011CFD9004C9E0AA |
|||
:1022EB00FF1233922290015EE0FCA3E0FD7F00120F |
|||
:1022FB001F367D097F001236A090018CE0FCA3E015 |
|||
:10230B00FD7F00121F367D097F001236A09001BAA7 |
|||
:10231B00E0FCA3E0FD7F00121F367D097F00123623 |
|||
:10232B00A09001E8E0FCA3E0FD7F00121F367D09C1 |
|||
:10233B007F001236A07D7C7F001236A07D097F00C6 |
|||
:10234B001236A0900223120543AD07AC067F001294 |
|||
:10235B001F367D097F001236A07F0012203B7BFFCA |
|||
:10236B007A2F79FC90023EE0FEA3E0FF9002ABEEE9 |
|||
:10237B00F0A3EFF090023EE0FEA3E0FF9002ADEE83 |
|||
:10238B00F0A3EFF01212387F0012203B7BFF7A3064 |
|||
:10239B007906900242E0FEA3E0FF9002ABEEF0A3C1 |
|||
:1023AB00EFF0900242E0FEA3E0FF9002ADEEF0A34F |
|||
:1023BB00EFF01212382290031FE4F090031FE0FF9E |
|||
:1023CB00EFC39404400302245990031FE0FF7E08DF |
|||
:1023DB00EF8EF0A4FFAEF0742E2FF974013EFA7B52 |
|||
:1023EB0001C003C002C00190031FE0FF7E08EF8E07 |
|||
:1023FB00F0A4FFAEF074762FF974023EFA7B0190D5 |
|||
:10240B00038C12065790038FE4F0A37408F0D001ED |
|||
:10241B00D002D00312307490031FE0FF7E08EF8EC2 |
|||
:10242B00F0A4FFAEF0742E2FF974013EFA7B0190ED |
|||
:10243B00031FE0FFEF75F02EA42454F582E4340162 |
|||
:10244B00F58312065790031FE004F00223C67B01AD |
|||
:10245B007A027906C003C002C0017B017A02799629 |
|||
:10246B0090038C12065790038FE4F0A37410F0D0F6 |
|||
:10247B0001D002D0031230747B017A0279069002EC |
|||
:10248B001C12065722900513E4F07B017A02797631 |
|||
:10249B0090045A743AF07F007E0012312F7F0012A5 |
|||
:1024AB00203B7BFF7A367958900513E0FF7E009036 |
|||
:1024BB0002ABEEF0A3EFF01212387B017A027976C1 |
|||
:1024CB0090036FE4F0A3743AF07F0012175690025A |
|||
:1024DB00A6E0FEA3E0FFEFB4551DEEB4AA1912233C |
|||
:1024EB00C17F0012203B7BFF7A367966121238903F |
|||
:1024FB000513E0FF22803E9002A674AAF0A3745548 |
|||
:10250B00F07F0012203B7BFF7A3679729002A6E0B7 |
|||
:10251B00FEA3E0FF9002ABEEF0A3EFF01212381225 |
|||
:10252B0028987B017A027976900453743AF07F00F5 |
|||
:10253B007E00122E87900513E0FF04F0EFC3940288 |
|||
:10254B0050030224957F64229004E7740CF09004EE |
|||
:10255B00E87412F090024474AAF09002457402F0F1 |
|||
:10256B009002467410F09004E7E0FF7F00EF54FFF9 |
|||
:10257B00FF900247EFF09004E7E0FFEF54FFFF906E |
|||
:10258B000248EFF090015EE0FEA3E0FF900249EEFF |
|||
:10259B00F0A3EFF090018CE0FEA3E0FF90024BEE76 |
|||
:1025AB00F0A3EFF09001BAE0FEA3E0FF90024DEE36 |
|||
:1025BB00F0A3EFF09001E8E0FEA3E0FF90024FEEF6 |
|||
:1025CB00F0A3EFF0900242E0FEA3E0FF900251EE89 |
|||
:1025DB00F0A3EFF0900223120543900253EEF0A309 |
|||
:1025EB00EFF09002557433F07B017A02794490043A |
|||
:1025FB00E8E0FF7E009003ECEEF0A3EFF07F00121B |
|||
:10260B001CCF22C0E0C0F0C083C082C0D075D00008 |
|||
:10261B00C000C001C002C003C004C005C006C00793 |
|||
:10262B00309817C298900000E599F0900002E4F002 |
|||
:10263B00900001E4F07F0012196830995FC2999005 |
|||
:10264B000117E0FEA3E0FF900119E0FCA3E0FDED14 |
|||
:10265B006F7002EC6E602490012112063790011707 |
|||
:10266B00E0FEA3E0FF8F828E83120135FF8F9990DE |
|||
:10267B000117E475F00112026680219001207401AC |
|||
:10268B00F0900119E4F0A3E4F0900117E4F0A3E457 |
|||
:10269B00F043BA8053C9DF53CADFC2CDD007D0068F |
|||
:1026AB00D005D004D003D002D001D000D0D0D0823E |
|||
:1026BB00D083D0F0D0E0329003CDEFF09003CE1268 |
|||
:1026CB0006579003D1E4F09003D21205EC00000002 |
|||
:1026DB00009003D1E4F09003D1E0FFEFC3941850C6 |
|||
:1026EB00549003CDE0FF7D01122B479003D21205CE |
|||
:1026FB004378011204A29003D21205E09003CDE0BF |
|||
:10270B00FF7D00122B479003CDE0FF12318BEF6062 |
|||
:10271B001C9003D2120543EF2401FFEE3400FEEDB3 |
|||
:10272B003400FDEC3400FC9003D21205E09003D191 |
|||
:10273B00E004F080A19003CDE0FF7D01122B4790C8 |
|||
:10274B0003CDE0FF7D00122B479003D2120543907F |
|||
:10275B0003CE12063712050522787FE4F6D8FD90DA |
|||
:10276B0000007F207E04E4F0A3DFFCDEFA750D0091 |
|||
:10277B00750E007581210227BF022804E493A3F88C |
|||
:10278B00E493A34003F68001F208DFF48029E4937D |
|||
:10279B00A3F85407240CC8C333C4540F4420C88374 |
|||
:1027AB004004F456800146F6DFE4800B0102040876 |
|||
:1027BB0010204080902CC2E47E019360BCA3FF5498 |
|||
:1027CB003F30E509541FFEE493A360010ECF54C0C4 |
|||
:1027DB0025E060A840B8E493A3FAE493A3F8E4934C |
|||
:1027EB00A3C8C582C8CAC583CAF0A3C8C582C8CA54 |
|||
:1027FB00C583CADFE9DEE780BE90034BE4F0A3E4B8 |
|||
:10280B00F07BFF7A327924C003C002C0017B017ACE |
|||
:10281B0003794DA801AC02AD03D001D002D0037EE9 |
|||
:10282B00007F091200F6122E1B12000E9002D0121E |
|||
:10283B000543EF240AFFEE3400FEED3400FDEC34CB |
|||
:10284B0000FC9002D81205E07F0012203B7BFF7A40 |
|||
:10285B003279121212389002DCE0FFEFB4011790BC |
|||
:10286B0002DCE4F07D2E7F001236A043BA80539138 |
|||
:10287B00FB5392FBB2921235D7EF60057FAA12156C |
|||
:10288B00327B017A027916120E3D80CA2290031F09 |
|||
:10289B00E4F090031FE0FFEFC39404505690031F26 |
|||
:1028AB00E0FF7E08EF8EF0A4FFAEF074762FF97484 |
|||
:1028BB00023EFA7B01C003C002C00190031FE0FF80 |
|||
:1028CB007E08EF8EF0A4FFAEF0742E2FF974013E4C |
|||
:1028DB00FA7B0190038C12065790038FE4F0A374DC |
|||
:1028EB0008F0D001D002D00312307490031FE00423 |
|||
:1028FB00F0809F7B017A027996C003C002C0017BF6 |
|||
:10290B00017A02790690038C12065790038FE4F03C |
|||
:10291B00A37410F0D001D002D003123074220D0A30 |
|||
:10292B004144435F53414D504C4520696E697420BF |
|||
:10293B00636828256429202020000D0A20445F416C |
|||
:10294B0044435F4A49545445525F7A65726F2D2D4B |
|||
:10295B002D000D0A20636828256429206164633DDE |
|||
:10296B00253564092D3E6F666673657420253564C5 |
|||
:10297B002077616E746C696E652025356420000DBF |
|||
:10298B000A20636828256429206164633D25355836 |
|||
:10299B00092D3E6F66667365742025355820776167 |
|||
:1029AB006E746C696E652025355820009004E974AF |
|||
:1029BB000CF09004EA7412F090025874AAF0900292 |
|||
:1029CB00597402F090025A7420F09004E9E0FF7FF2 |
|||
:1029DB0000EF54FFFF90025BEFF09004E9E0FFEF94 |
|||
:1029EB0054FFFF90025CEFF07B017A02795DC0032C |
|||
:1029FB00C002C0017B017A02799890038C120657B2 |
|||
:102A0B0090038FE4F0A3740CF0D001D002D003122A |
|||
:102A1B0030749002697433F07B017A027958900418 |
|||
:102A2B00EAE0FF7E009003ECEEF0A3EFF07F0012E4 |
|||
:102A3B001CCF22900522EFF043BA8053C9DF53CA53 |
|||
:102A4B00DF43BA8053917F53927FC2977F02123636 |
|||
:102A5B007C43BA804391405392BF43BA8053B1FB3E |
|||
:102A6B0053B2FBC2B27F0212367C43BA8043B10829 |
|||
:102A7B0053B2F743BA8053B1EF53B2EFC2B47F02F4 |
|||
:102A8B0012367C43BA8043B12053B2DF43BA805332 |
|||
:102A9B00B1BF53B2BFC2B67F0212367C43BA80437A |
|||
:102AAB00B18053B27F43BA8053C9EF53CAEFD2CC34 |
|||
:102ABB00900522E0FF122DAC229004EB7402F090F3 |
|||
:102ACB0004EC7408F090026C74AAF090026D74021E |
|||
:102ADB00F090026E7430F09004EBE0FF7F00EF5447 |
|||
:102AEB00FFFF90026FEFF09004EBE0FFEF54FFFF5E |
|||
:102AFB00900270EFF0900240E0FEA3E0FFEEFF7E4D |
|||
:102B0B0000EF54FFFF900271EFF0900240E0FEA344 |
|||
:102B1B00E0FFEF54FFFF900272EFF09002737433FB |
|||
:102B2B00F07B017A02796C9004ECE0FF7E0090035D |
|||
:102B3B00ECEEF0A3EFF07F00121CCF2290050BEF11 |
|||
:102B4B00F090050CEDF090050BE0FFEF1206902BCB |
|||
:102B5B006A002B82012B9A022BB20300002BC99027 |
|||
:102B6B00050CE0FFEF6008D2977F0112367C22C282 |
|||
:102B7B00977F0212367C2290050CE0FFEF6008D2A3 |
|||
:102B8B00B27F0112367C22C2B27F0212367C2290B7 |
|||
:102B9B00050CE0FFEF6008D2B47F0112367C22C235 |
|||
:102BAB00B47F0212367C2290050CE0FFEF6008D256 |
|||
:102BBB00B67F0112367C22C2B67F0212367C22907F |
|||
:102BCB000469EEF0A3EFF090046BECF0A3EDF09042 |
|||
:102BDB00046BE0FEA3E0FFEE30E73A90046BE0FEFF |
|||
:102BEB00A3E0FFC374FF9FFF74FF9EFE90046BEE88 |
|||
:102BFB00F0A3EFF090046BE0FEA3E0FF900469E01C |
|||
:102C0B00FCA3E0FDC3ED9FFFEC9EFE90046DEEF088 |
|||
:102C1B00A3EFF0801E900469E0FEA3E0FF90046B2D |
|||
:102C2B00E0FCA3E0FDED2FFFEC3EFE90046DEEF01B |
|||
:102C3B00A3EFF090046DE0FEA3E0FF22900514EFEC |
|||
:102C4B00F0900514E0FF7E2EEF8EF0A4FFAEF07433 |
|||
:102C5B004E2FF974013EFA7B0112356F900514E08B |
|||
:102C6B00FFEF75F02EA42452F582E43401F5837442 |
|||
:102C7B00E0F0900514E0FF7E08EF8EF0A4FFAEF0BD |
|||
:102C8B00742E2FF974013EFA7B01900514E0FFEFCF |
|||
:102C9B0075F02EA42454F582E43401F58312065703 |
|||
:102CAB00900514E0FFEF75F02EA42457F582E43461 |
|||
:102CBB0001F5837401F0225002065745000018D924 |
|||
:102CCB0000C81C2C035226F941096020012E41003B |
|||
:102CDB0018DA19630205410118DA192702054102B6 |
|||
:102CEB0018DA18360205410318DA18F002055901F3 |
|||
:102CFB0015000000000000000000000000000000B4 |
|||
:102D0B00000000000000000000004E00000000006A |
|||
:102D1B00000000000000000000000046032000003F |
|||
:102D2B000000000043048100000043048400000005 |
|||
:102D3B000090046FEEF0A3EFF0900471ECF0A3EDB4 |
|||
:102D4B00F0900471E0FEA3E0FFEE30E72C900471ED |
|||
:102D5B00E0FEA3E0FFC374FF9FFF74FF9EFE900491 |
|||
:102D6B0073EEF0A3EFF090046FE0FEA3E0FF90048E |
|||
:102D7B0073EE8FF0120266801F900471E0FEA3E0E9 |
|||
:102D8B00FF90046FE0FCA3E0FDC3ED9FFFEC9EFE04 |
|||
:102D9B00900473EEF0A3EFF0900473E0FEA3E0FF5A |
|||
:102DAB0022900521EFF0900521E0FFEF1206902D08 |
|||
:102DBB00C7002E12012E154000002E1843BA804377 |
|||
:102DCB00918053927F43BA804391405392BF43BA51 |
|||
:102DDB008043B10453B2FB43BA8043B10853B2F7FB |
|||
:102DEB0043BA8043B11053B2EF43BA8043B120537F |
|||
:102DFB00B2DF43BA8043B14053B2BF43BA8043B151 |
|||
:102E0B008053B27FC2CC22D2CD22C2CD22C2CD22E0 |
|||
:102E1B009004EDE4F0A3E4F07FC87E001234971227 |
|||
:102E2B0034D190FE01E4F01236EE1237201200037B |
|||
:102E3B0012322D1236FFD2A97F0012203B7BFF7A74 |
|||
:102E4B003179EF9002AB1205EC0151800012123870 |
|||
:102E5B001224907E009004EDEEF0A3EFF07F0012B1 |
|||
:102E6B00203B7BFF7A3279039004EDE0FEA3E0FF79 |
|||
:102E7B009002ABEEF0A3EFF01212382290044EEE5C |
|||
:102E8B00F0A3EFF0900450120657900454E4F09026 |
|||
:102E9B00044EE0FEA3E0FF12353B900454E4F090A7 |
|||
:102EAB000453E0FF900454E0FEEEC39F50349004B3 |
|||
:102EBB0054E0FF7E0090044EE0FCA3E0FDEF2DFFFD |
|||
:102ECB00EE3CFE900450120637900454E0FD8D82C8 |
|||
:102EDB00758300120135FD123418900454E004F090 |
|||
:102EEB0080BD229002D01205437B017A00790078D5 |
|||
:102EFB00001203229002D01205E07B507A00790079 |
|||
:102F0B0078009002D01205431203C8AC00AD01AE9D |
|||
:102F1B0002AF037B007A0079007800C312047E7045 |
|||
:102F2B001D9002D41205437B017A007900780012C0 |
|||
:102F3B0003229002D41205E09002DC7401F090029F |
|||
:102F4B00DE1206371206B6229004FBEFF09004FC5B |
|||
:102F5B00EDF09004FCE0FFEF702A9004FBE0FFEF34 |
|||
:102F6B001206902F7E002FB3012FB3022FB3030055 |
|||
:102F7B00002FB343BA8053C9DF53CADFC2CD22221D |
|||
:102F8B00222222229004FBE0FFEF1206902FA800D2 |
|||
:102F9B002FB3012FB3022FB30300002FB343BA801B |
|||
:102FAB0053C9DF53CADFD2CD22204C335F74617318 |
|||
:102FBB006B5F7765696768745F68616E646C657277 |
|||
:102FCB0020000D0A25643A20253478282534642006 |
|||
:102FDB00292025347828253664290D0A000D0A206E |
|||
:102FEB0009090900207070206572726F720D0A203A |
|||
:102FFB0000202825642925347820006F757420283B |
|||
:10300B002564292534780D0A009004E4E4F090043B |
|||
:10301B00E5E4F09004E6E4F090000B1206371201A1 |
|||
:10302B001CFF9004E4EFF090000B12063775820141 |
|||
:10303B00758300120135FF9004E5EFF090000B1241 |
|||
:10304B000637758202758300120135FF9004E6EF97 |
|||
:10305B00F09004E4E0FFEFB4AA0C9004E5E0FFEF7E |
|||
:10306B00B402037F01227F0022900389120657903E |
|||
:10307B000391E4F0A3E4F090038FE0FEA3E0FF9054 |
|||
:10308B000391E0FCA3E0FDC3ED9FEC9E5038900351 |
|||
:10309B008C120637900391E0FEA3E0FF8F828E83A4 |
|||
:1030AB00120135FF900389120637900391E0FCA3C0 |
|||
:1030BB00E0FD8D828C83EF1201A7900391E475F0F4 |
|||
:1030CB000112026680B122900523EFF0900523E0F8 |
|||
:1030DB00FFEF75F00EA42406F582E43400F583E4CB |
|||
:1030EB00F0900523E0FFEF75F00EA42407F582E4C2 |
|||
:1030FB003400F583E4F0900523E0FFEF75F00EA4A8 |
|||
:10310B002403F582E43400F583E4F0900523E0FF1B |
|||
:10311B00EF75F00EA42404F582E43400F583E4F09B |
|||
:10312B00A3E4F022900455EEF0A3EFF090045712B5 |
|||
:10313B00065790045BE4F090045BE4F090045AE0D3 |
|||
:10314B00FF90045BE0FEEEC39F503490045BE0FF06 |
|||
:10315B007E00900455E0FCA3E0FDEF2DFFEE3CFE5E |
|||
:10316B0012345890045712063790045BE0FE8E829F |
|||
:10317B00758300EF1201A790045BE004F080BD2281 |
|||
:10318B0090050DEFF090050E7409F090050DE0FF22 |
|||
:10319B00EF12069031AF0031BB0131C70231D303BF |
|||
:1031AB00000031DDA296E433FF90050EEFF0802294 |
|||
:1031BB00A2B3E433FF90050EEFF08016A2B5E43313 |
|||
:1031CB00FF90050EEFF0800AA2B7E433FF90050ED7 |
|||
:1031DB00EFF090050EE0FF220D0A20255820255810 |
|||
:1031EB003A2558000D0A445F7379735F4D61696E20 |
|||
:1031FB0046726509256C64000D0A4C335F535F6999 |
|||
:10320B006E6974092564000D03206D61696E20776A |
|||
:10321B0068696C6531330D0A00AB000000000000DB |
|||
:10322B0000007BFF7A3379069002DE1206577BFF94 |
|||
:10323B007A3379069002E11206577BFF7A337906CF |
|||
:10324B009002E11206579002D41205EC0000000028 |
|||
:10325B009002D01205EC000000009002DCE4F07B41 |
|||
:10326B00FF7A3379069002DE120657227F00121E78 |
|||
:10327B002E7B017A00790E90000B120657900008F6 |
|||
:10328B00E4F0A37480F07F001230D243BA8053B1C4 |
|||
:10329B00FD53B2FD43BA8053B1FE53B2FE1236C298 |
|||
:1032AB00C298C299D29CD2AC43BA8053C9DF53CADD |
|||
:1032BB00DFC2CD220D0A756172743120636C6F739E |
|||
:1032CB0065000D0A7561727431206F70656E000DAB |
|||
:1032DB000A7561727432206F70656E0032323A205B |
|||
:1032EB006D6F746F3D282558290020707020657212 |
|||
:1032FB00726F720D0A200033333300900002E0FF2F |
|||
:10330B00EF703E900001E0FFEFC39402402D900060 |
|||
:10331B00027401F0900003E4F090000AE0FFEFD399 |
|||
:10332B009400401790000AE4F09000067401F07BC3 |
|||
:10333B00017A00790E90000B120657900001E00401 |
|||
:10334B00F0229004631205E09004631205437808A1 |
|||
:10335B0012048F9004631205E090046312054390EE |
|||
:10336B000467EEF0A3EFF0900467E0FEA3E0FF7CB0 |
|||
:10337B00FF7DFF1201C9900467EEF0A3EFF09004FC |
|||
:10338B0067E0FEA3E0FF229004F9EFF09004FAED62 |
|||
:10339B00F09004F9E0FFEF12069033B50033BD0156 |
|||
:1033AB0033C50233CD03000033D49004FAE0FF8F12 |
|||
:1033BB0099229004FAE0FF8F9B229004FAE0FF8F92 |
|||
:1033CB00AD229004FAE0FF8F8522C0E0C0F0C083ED |
|||
:1033DB00C082C0D075D000C000C001C002C003C005 |
|||
:1033EB0004C005C006C007000000C28D122EEE00FF |
|||
:1033FB000000D007D006D005D004D003D002D001F6 |
|||
:10340B00D000D0D0D082D083D0F0D0E0329004D88E |
|||
:10341B00EEF0A3EFF09004DAEDF075C78075F50CC4 |
|||
:10342B0075C5029004D8E0FEA3E0FF8FC49004D8CA |
|||
:10343B00E0FEA3E0FFEEFF7E008FC39004DAE0FF17 |
|||
:10344B008FC275C65A75C6A500123710229004D5C7 |
|||
:10345B00EEF0A3EFF075C78075F50C75C501900400 |
|||
:10346B00D5E0FEA3E0FF8FC49004D5E0FEA3E0FF00 |
|||
:10347B00EEFF7E008FC375C65A75C6A5009004D7A4 |
|||
:10348B00E5C2F01237109004D7E0FF229004BCEE97 |
|||
:10349B00F0A3EFF09004BCE0FEA3E0FF9004BEEEBF |
|||
:1034AB00F0A3EFF09004BEE0FEA3E0FFD3EF940097 |
|||
:1034BB00EE940040101236319004BE74FF75F0FF8D |
|||
:1034CB0012026680DF2243BA805391FB5392FBD2E8 |
|||
:1034DB009290031FE4F090031FE0FFEFC39406509C |
|||
:1034EB001A43BA805391FB5392FBB2927F2C7E010D |
|||
:1034FB0012349790031FE004F080DB22900511EF4C |
|||
:10350B00F0900511E0FFEF601A7F01122A3E7F0059 |
|||
:10351B00122C477F01122C477F02122C477F03127C |
|||
:10352B002C47227B017A02790690021C1206572245 |
|||
:10353B00900509EEF0A3EFF075C78075F50C75C516 |
|||
:10354B0003900509E0FEA3E0FF8FC4900509E0FEA0 |
|||
:10355B00A3E0FFEEFF7E008FC375C65A75C6A500AC |
|||
:10356B00123710229004DB1206579004DB12063739 |
|||
:10357B00758204758300E41201A79004DB120637F1 |
|||
:10358B00758205758300E41201A79004DB120637E0 |
|||
:10359B0012061D000000002290049612065790049C |
|||
:1035AB0099E4F0A3E4F0900496E475F00112064060 |
|||
:1035BB0012011CFFEF600C900499E475F0011202EC |
|||
:1035CB006680E3900499E0FEA3E0FF22900007E001 |
|||
:1035DB00FFEFB40105900007E4F0900006E0FFEF69 |
|||
:1035EB00B40115900006E4F07B017A00790E90048B |
|||
:1035FB0084120657123014227F00229004A0EFF0A1 |
|||
:10360B009004A11206579004A11206371235A3900D |
|||
:10361B0003ECEEF0A3EFF09004A0E0FF9004A112F6 |
|||
:10362B000637121CCF229004F3741DF09004F37430 |
|||
:10363B000AF09004F47434F09004F4E014FFF0EF0B |
|||
:10364B0070F69004F3E014FFF0EF70EC220D0A72A9 |
|||
:10365B0065616420533A20256409000D0A5370619B |
|||
:10366B007261096F6B09000D0A50726F6720257824 |
|||
:10367B00009004F1EFF09004F1E0FF9004F2EFF012 |
|||
:10368B009004F2E0FFEFD394004009009004F2E0C5 |
|||
:10369B0014F080EC229004FDEFF09004FEEDF0901E |
|||
:1036AB0004FDE0FF7B017A0479FE9003ECE4F0A3C8 |
|||
:1036BB007401F0121CCF22759850438E40538EFE2E |
|||
:1036CB0053890F758BC0758DFDC2ABD28E229005C1 |
|||
:1036DB002BEFF090052BE0FD7F001236A090052B11 |
|||
:1036EB00E0FF22123277D2AF7BFF7A3279CD7F00A7 |
|||
:1036FB0012360622538E7F5389F0758A00758CA67D |
|||
:10370B00C28DD28C2275C70075C50075C60075C3F6 |
|||
:10371B008075C40022D2AF7BFF7A3279DA7F001238 |
|||
:10372B003606220001000A006403E827100000009F |
|||
:10373B00010000000A00000064000003E8000027FD |
|||
:10374B0010000186A0000F42400098968005F5E11D |
|||
:10375B00003B9ACA000030013102320333043405B6 |
|||
:10376B003506360737083809390A410B420C430D29 |
|||
:0D377B00440E450F460080000100010001D2 |
|||
:00000001FF |
@ -0,0 +1,26 @@ |
|||
"..\out\app_weight.obj", |
|||
"..\out\main.obj", |
|||
"..\out\app_config.obj", |
|||
"..\out\asp_schain.obj", |
|||
"..\out\asp_lowpower.obj", |
|||
"..\out\STARTUP.obj", |
|||
"..\out\stc_8_delay.obj", |
|||
"..\out\msp_uartN.obj", |
|||
"..\out\msp_time2.obj", |
|||
"..\out\msp_uart1.obj", |
|||
"..\out\msp_iicMx.obj", |
|||
"..\out\msp_eeprom.obj", |
|||
"..\out\msp_adc.obj", |
|||
"..\out\bsp_config.obj", |
|||
"..\out\bsp_led.obj", |
|||
"..\out\bsp_cs1232.obj", |
|||
"..\out\TTSS_task.obj", |
|||
"..\out\TTSS_tick.obj", |
|||
"..\out\TTSS_time_stc.obj", |
|||
"..\out\tpc_road.obj", |
|||
"..\out\c_lib.obj", |
|||
"..\out\c_delay.obj", |
|||
"..\out\debug_drv.obj" |
|||
TO "..\out\stcweight" |
|||
|
|||
PRINT("..\out\stcweight.map") REMOVEUNUSED |
File diff suppressed because it is too large
@ -0,0 +1,345 @@ |
|||
C51 COMPILER V9.54 TPC_ROAD 09/06/2024 11:24:47 PAGE 1 |
|||
|
|||
|
|||
C51 COMPILER V9.54, COMPILATION OF MODULE TPC_ROAD |
|||
OBJECT MODULE PLACED IN ..\out\tpc_road.obj |
|||
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\tpc\tpc_road.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOINTP |
|||
-ROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;..\so |
|||
-urce\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRINT(. |
|||
-.\out\tpc_road.lst) TABS(2) OBJECT(..\out\tpc_road.obj) |
|||
|
|||
line level source |
|||
|
|||
1 |
|||
2 /***************************************************************************** |
|||
3 update by cc @201501101001 |
|||
4 髓亥ッケ螟壻クイ蜿」 蜥� 蜊穂ク荳イ蜿」 譛牙玄蛻ォ 豈丈クェ荳イ蜿」譏ッ迢ャ遶狗噪霑俶弍蛻�シ逧�怏隶イ遨カ 遞句コ乗弍螟肴� |
|||
-ら噪霑俶弍霓ッ莉カ蠎皮畑邂蜊墓弍 |
|||
5 荳ェ髴隕∝ケウ陦。逧�コ区ュ. |
|||
6 |
|||
7 uartcom/uartlib.c: |
|||
8 蜈ャ逕ィ逧��謨ー 蜥檎。ャ莉カ譌�蜈ウ |
|||
9 謾セ鄂ョ荳イ陦梧ィ。蠑�(荳イ蜿」遲牙�莉夜夊ョッ諤サ郤ソ邀サ逧�セ灘�)霎灘�逧��謨ー, |
|||
10 荳莠幄ヲ�尠讓。蠑剰セ灘�逧�(lcd遲牙崋螻剰セ灘�逧�)逧�ケ溷庄菴ソ逕ィ |
|||
11 void Lc_print(void (*L0pf_send_uc)(char ww), char *dat,...) |
|||
12 ----------------------------------------------------------------------------------------- |
|||
13 uartcom/uartcom0 |
|||
14 蜥蛍art逶ク蜈ウ逧�夊ョッ蜊剰ョョ com + n |
|||
15 荳コ莠�ょコ比ク榊酔逧�夊ョッ蜊剰ョョ髴隕∽ク榊酔逧еart蜿」譚・蟇ケ蠎� 蜥悟コ皮畑逶ク蜈ウ |
|||
16 |
|||
17 typedef struct _ts_lcm_pro_; 蠎皮畑蜊剰ョョ蛹�噪螳壻ケ�? LCM逧�刻隶ョ------------ |
|||
18 L3_UARTcom0_exp_protocol 隗」譫仙コ皮畑蜊剰ョョ |
|||
19 ----------------------------------------------------------------------------------------- |
|||
20 uartcom/uprotocol: 荳サ隕∵弍荳コ uartcom + n譛榊苅逧� 鬩ア蜉ィ螻ょ芦蠎皮畑螻らシ灘ュ倡噪霑�コヲ |
|||
21 蜈ャ逕ィ逧�クイ蜿」騾夊ョッ螳壻ケ� |
|||
22 struct _s_protocol_ 逧��蜈ア蜊剰ョョ蛹�(蜈ウ髞ョ逧�サ捺桷菴�)逧�」ー譏�------struct _s_protocol_ |
|||
23 void L1_uart_2buf(struct _s_protocol_ *p)荳イ陦梧焚謐ョ菫晏ュ伜芦郛灘�荳ュ |
|||
24 -------------------------------------------------------------------------------------------- |
|||
25 msp/uartx.c 蠎募アゆサ」遐� 蜥慶pu逶ク蜈ウ |
|||
26 L0_UART0_Init |
|||
27 UART0_IRQHandler |
|||
28 L0_Usend_uc----------s_at0 |
|||
29 ----------------------------------------------------------------------------------------- |
|||
30 ********************************************************************************/ |
|||
31 |
|||
32 #include "tpc_road.h" |
|||
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M" |
|||
33 ///#include "c_lib.h" |
|||
34 |
|||
35 ///TS_pp_debug_ ts_debug_rec; |
|||
36 ///TS_s2b_debug_ ts_s2b1_road;////蜊剰ョョ螟�炊蜿倬㍼ |
|||
37 |
|||
38 void L1_s2b_road_init(u8 ch) // |
|||
39 { |
|||
40 1 ts_Urec[ch].ok = 0; |
|||
41 1 ts_Urec[ch].debugok = 0; |
|||
42 1 ts_Urec[ch].head = 0; |
|||
43 1 ts_Urec[ch].num = 0; |
|||
44 1 ///printf("\r\nw ts_Urec[D_UART1].max = %d num = %d",(int)ts_Urec[D_UART1].rmax,(int)ts_Urec[D_UART1].num |
|||
-); |
|||
45 1 } |
|||
46 |
|||
47 //MODBUS蜊剰ョョ隗」譫仙�謨ー 012345 |
|||
48 //騾丈シ�蜊剰ョョ 蟆ア蜒剰キッ霑� 譛画慮髣エ雜�慮貅「蜃コ 謾カ蛻ー蝠・蟆ア蜷台ク贋シ�騾貞払 |
|||
49 void L1_s2b_road(u8 ch) |
|||
C51 COMPILER V9.54 TPC_ROAD 09/06/2024 11:24:47 PAGE 2 |
|||
|
|||
50 { |
|||
51 1 /// ts_Urec[ch].ok = 1; |
|||
52 1 if(ts_Urec[ch].head == 0) |
|||
53 1 { |
|||
54 2 { |
|||
55 3 ts_Urec[ch].head = 1; |
|||
56 3 ts_Urec[ch].num = 0; |
|||
57 3 ts_Urec[ch].ok = 0; |
|||
58 3 ts_Urec[ch].fifo = 0; |
|||
59 3 ts_Urec[ch].sp[ts_Urec[ch].num ] = ts_Urec[ch].reg; |
|||
60 3 /// ts_Urec[ch].sp[ts_Urec[ch].num ] = SBUF;// L0_uart1_get();; |
|||
61 3 ts_Urec[ch].num ++; |
|||
62 3 } |
|||
63 2 } |
|||
64 1 else |
|||
65 1 { |
|||
66 2 ts_Urec[ch].sp[ts_Urec[ch].num ] = ts_Urec[ch].reg; |
|||
67 2 ts_Urec[ch].num ++; |
|||
68 2 /// ts_Urec[ch].len = ts_Urec[ch].num; |
|||
69 2 ts_Urec[ch].fifo = ts_Urec[ch].num; |
|||
70 2 if(ts_Urec[ch].num < ts_Urec[ch].rmax) |
|||
71 2 { |
|||
72 3 }else |
|||
73 2 {////菫晄侃菴ソ逕ィ |
|||
74 3 ts_Urec[ch].ok = 2; |
|||
75 3 ts_Urec[ch].debugok = 1; |
|||
76 3 ts_Urec[ch].head = 0; |
|||
77 3 ts_Urec[ch].num = 0; |
|||
78 3 } |
|||
79 2 } |
|||
80 1 } |
|||
81 |
|||
82 void L1_s2b_road2(u8 ch) |
|||
83 { |
|||
84 1 if(ts_Urec[ch].head == 0) |
|||
85 1 { |
|||
86 2 { |
|||
87 3 ts_Urec[ch].head = 1; |
|||
88 3 ts_Urec[ch].num = 0; |
|||
89 3 ts_Urec[ch].ok = 0; |
|||
90 3 ts_Urec[ch].fifo = 0; |
|||
91 3 ts_Urec[ch].sp[ts_Urec[ch].num ++] = ts_Urec[ch].reg; |
|||
92 3 } |
|||
93 2 } |
|||
94 1 else |
|||
95 1 { |
|||
96 2 ts_Urec[ch].sp[ts_Urec[ch].num ++] = ts_Urec[ch].reg; |
|||
97 2 /// ts_Urec[ch].len = ts_Urec[ch].num; |
|||
98 2 ts_Urec[ch].fifo = ts_Urec[ch].num; |
|||
99 2 if(ts_Urec[ch].num < ts_Urec[ch].rmax) |
|||
100 2 { |
|||
101 3 }else |
|||
102 2 {////菫晄侃菴ソ逕ィ |
|||
103 3 ts_Urec[ch].ok = 2; |
|||
104 3 ts_Urec[ch].debugok = 1; |
|||
105 3 ts_Urec[ch].head = 0; |
|||
106 3 ts_Urec[ch].num = 0; |
|||
107 3 } |
|||
108 2 } |
|||
109 1 } |
|||
110 void L1_s2b_road3(u8 ch) |
|||
111 { |
|||
C51 COMPILER V9.54 TPC_ROAD 09/06/2024 11:24:47 PAGE 3 |
|||
|
|||
112 1 if(ts_Urec[ch].head == 0) |
|||
113 1 { |
|||
114 2 { |
|||
115 3 ts_Urec[ch].head = 1; |
|||
116 3 ts_Urec[ch].num = 0; |
|||
117 3 ts_Urec[ch].ok = 0; |
|||
118 3 ts_Urec[ch].fifo = 0; |
|||
119 3 ts_Urec[ch].sp[ts_Urec[ch].num ++] = ts_Urec[ch].reg; |
|||
120 3 } |
|||
121 2 } |
|||
122 1 else |
|||
123 1 { |
|||
124 2 ts_Urec[ch].sp[ts_Urec[ch].num ++] = ts_Urec[ch].reg; |
|||
125 2 /// ts_Urec[ch].len = ts_Urec[ch].num; |
|||
126 2 ts_Urec[ch].fifo = ts_Urec[ch].num; |
|||
127 2 if(ts_Urec[ch].num < ts_Urec[ch].rmax) |
|||
128 2 { |
|||
129 3 }else |
|||
130 2 {////菫晄侃菴ソ逕ィ |
|||
131 3 ts_Urec[ch].ok = 2; |
|||
132 3 ts_Urec[ch].debugok = 1; |
|||
133 3 ts_Urec[ch].head = 0; |
|||
134 3 ts_Urec[ch].num = 0; |
|||
135 3 } |
|||
136 2 } |
|||
137 1 } |
|||
138 void L1_s2b_road4(u8 ch) |
|||
139 { |
|||
140 1 if(ts_Urec[ch].head == 0) |
|||
141 1 { |
|||
142 2 { |
|||
143 3 ts_Urec[ch].head = 1; |
|||
144 3 ts_Urec[ch].num = 0; |
|||
145 3 ts_Urec[ch].ok = 0; |
|||
146 3 ts_Urec[ch].fifo = 0; |
|||
147 3 ts_Urec[ch].sp[ts_Urec[ch].num ++] = ts_Urec[ch].reg; |
|||
148 3 } |
|||
149 2 } |
|||
150 1 else |
|||
151 1 { |
|||
152 2 ts_Urec[ch].sp[ts_Urec[ch].num ++] = ts_Urec[ch].reg; |
|||
153 2 /// ts_Urec[ch].len = ts_Urec[ch].num; |
|||
154 2 ts_Urec[ch].fifo = ts_Urec[ch].num; |
|||
155 2 if(ts_Urec[ch].num < ts_Urec[ch].rmax) |
|||
156 2 { |
|||
157 3 }else |
|||
158 2 {////菫晄侃菴ソ逕ィ |
|||
159 3 ts_Urec[ch].ok = 2; |
|||
160 3 ts_Urec[ch].debugok = 1; |
|||
161 3 ts_Urec[ch].head = 0; |
|||
162 3 ts_Urec[ch].num = 0; |
|||
163 3 } |
|||
164 2 } |
|||
165 1 } |
|||
166 |
|||
167 |
|||
168 /****************************************************************************** |
|||
169 ** End Of File |
|||
170 ******************************************************************************/ |
|||
171 |
|||
172 /****************************************************************************** |
|||
173 ** c func lib |
|||
C51 COMPILER V9.54 TPC_ROAD 09/06/2024 11:24:47 PAGE 4 |
|||
|
|||
174 |
|||
175 void L1_s2b_road(TS_rec_road_ *p) |
|||
176 { |
|||
177 /// p->ok = 1; |
|||
178 if(p->head == 0) |
|||
179 { |
|||
180 { |
|||
181 p->head = 1; |
|||
182 //// p->max = D_debug_max; |
|||
183 p->num = 0; |
|||
184 p->ok = 0; |
|||
185 p->fifo = 0; |
|||
186 p->sp[p->num ++] = p->reg; |
|||
187 } |
|||
188 } |
|||
189 else |
|||
190 { |
|||
191 p->sp[p->num ++] = p->reg; |
|||
192 /// p->len = p->num; |
|||
193 p->fifo = p->num; |
|||
194 if(p->num < p->rmax) |
|||
195 { |
|||
196 }else |
|||
197 {////菫晄侃菴ソ逕ィ |
|||
198 p->ok = 2; |
|||
199 p->debugok = 1; |
|||
200 p->head = 0; |
|||
201 p->num = 0; |
|||
202 } |
|||
203 } |
|||
204 } |
|||
205 |
|||
206 |
|||
207 //騾丈シ�蜊剰ョョ 蟆ア蜒剰キッ霑� 譛画慮髣エ雜�慮貅「蜃コ 謾カ蛻ー蝠・蟆ア蜷台ク贋シ�騾貞払 |
|||
208 void L1_s2b_road2(TS_rec_road_ *p) |
|||
209 { |
|||
210 /// p->ok = 1; |
|||
211 if(p->head == 0) |
|||
212 { |
|||
213 { |
|||
214 p->head = 1; |
|||
215 //// p->max = D_debug_max; |
|||
216 p->num = 0; |
|||
217 p->ok = 0; |
|||
218 p->fifo = 0; |
|||
219 p->sp[p->num ++] = p->reg; |
|||
220 } |
|||
221 } |
|||
222 else |
|||
223 { |
|||
224 p->sp[p->num ++] = p->reg; |
|||
225 /// p->len = p->num; |
|||
226 p->fifo = p->num; |
|||
227 if(p->num < p->rmax) |
|||
228 { |
|||
229 }else |
|||
230 {////菫晄侃菴ソ逕ィ |
|||
231 p->ok = 2; |
|||
232 p->debugok = 1; |
|||
233 p->head = 0; |
|||
234 p->num = 0; |
|||
235 } |
|||
C51 COMPILER V9.54 TPC_ROAD 09/06/2024 11:24:47 PAGE 5 |
|||
|
|||
236 } |
|||
237 } |
|||
238 |
|||
239 void L1_s2b_road3(TS_rec_road_ *p) |
|||
240 { |
|||
241 /// p->ok = 1; |
|||
242 if(p->head == 0) |
|||
243 { |
|||
244 { |
|||
245 p->head = 1; |
|||
246 //// p->max = D_debug_max; |
|||
247 p->num = 0; |
|||
248 p->ok = 0; |
|||
249 p->fifo = 0; |
|||
250 p->sp[p->num ++] = p->reg; |
|||
251 } |
|||
252 } |
|||
253 else |
|||
254 { |
|||
255 p->sp[p->num ++] = p->reg; |
|||
256 /// p->len = p->num; |
|||
257 p->fifo = p->num; |
|||
258 if(p->num < p->rmax) |
|||
259 { |
|||
260 }else |
|||
261 {////菫晄侃菴ソ逕ィ |
|||
262 p->ok = 2; |
|||
263 p->debugok = 1; |
|||
264 p->head = 0; |
|||
265 p->num = 0; |
|||
266 } |
|||
267 } |
|||
268 } |
|||
269 void L1_s2b_road4(TS_rec_road_ *p) |
|||
270 { |
|||
271 /// p->ok = 1; |
|||
272 if(p->head == 0) |
|||
273 { |
|||
274 { |
|||
275 p->head = 1; |
|||
276 //// p->max = D_debug_max; |
|||
277 p->num = 0; |
|||
278 p->ok = 0; |
|||
279 p->fifo = 0; |
|||
280 p->sp[p->num ++] = p->reg; |
|||
281 } |
|||
282 } |
|||
283 else |
|||
284 { |
|||
285 p->sp[p->num ++] = p->reg; |
|||
286 /// p->len = p->num; |
|||
287 p->fifo = p->num; |
|||
288 if(p->num < p->rmax) |
|||
289 { |
|||
290 }else |
|||
291 {////菫晄侃菴ソ逕ィ |
|||
292 p->ok = 2; |
|||
293 p->debugok = 1; |
|||
294 p->head = 0; |
|||
295 p->num = 0; |
|||
296 } |
|||
297 } |
|||
C51 COMPILER V9.54 TPC_ROAD 09/06/2024 11:24:47 PAGE 6 |
|||
|
|||
298 } |
|||
299 |
|||
300 |
|||
301 ******************************************************************************/ |
|||
302 |
|||
|
|||
|
|||
MODULE INFORMATION: STATIC OVERLAYABLE |
|||
CODE SIZE = 2019 ---- |
|||
CONSTANT SIZE = ---- ---- |
|||
XDATA SIZE = 5 ---- |
|||
PDATA SIZE = ---- ---- |
|||
DATA SIZE = ---- ---- |
|||
IDATA SIZE = ---- ---- |
|||
BIT SIZE = ---- ---- |
|||
EDATA SIZE = ---- ---- |
|||
HDATA SIZE = ---- ---- |
|||
XDATA CONST SIZE = ---- ---- |
|||
FAR CONST SIZE = ---- ---- |
|||
END OF MODULE INFORMATION. |
|||
|
|||
|
|||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) |
Binary file not shown.
Loading…
Reference in new issue