⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 communication_lib.lis

📁 移动机器人(小车)的物理坐标和逻辑坐标的转换源码
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .module Communication_LIB.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\Communication_LIB.c
 0000                   .dbfunc e MSG_Map_LocateModuleShell_INIT _MSG_Map_LocateModuleShell_INIT fV
 0000                   .dbstruct 0 3 MsgMapItem
 0000                   .dbfield 0 cCMD c
 0000                   .dbfield 1 pMsgFunc pfc
 0000                   .dbend
 0000                   .dbstruct 0 3 MsgMap
 0000                   .dbfield 0 cItemCount c
 0000                   .dbfield 1 pMsgItems pS[MsgMapItem]
 0000                   .dbend
 0000           ;        pMsgMap -> R18,R19
 0000           ;           Reg2 -> R10,R11
 0000           ;          Reg14 -> R16,R17
 0000           ;             n3 -> R16
 0000           ;             n1 -> R16
                        .even
 0000           _MSG_Map_LocateModuleShell_INIT::
 0000 AA92              st -y,R10
 0002 BA92              st -y,R11
 0004                   .dbline -1
 0004                   .dbline 79
 0004           ; /***********************************************************
 0004           ; *   函数库说明:模块通讯函数库                             *
 0004           ; *   版本:                                                 *
 0004           ; *   作者:                                                 *
 0004           ; *   创建日期:                                             *
 0004           ; * -------------------------------------------------------- *
 0004           ; *  [硬件说明]                                              *
 0004           ; *   处理器:                                               *
 0004           ; *   系统时钟:                                             *
 0004           ; * -------------------------------------------------------- *
 0004           ; *  [支 持 库]                                              *
 0004           ; *   库名称:                                               *
 0004           ; *   需要版本:                                             *
 0004           ; *   支持库说明:                                           *
 0004           ; * -------------------------------------------------------- *
 0004           ; *  [版本更新]                                              *
 0004           ; *   修改:                                                 *
 0004           ; *   修改日期:                                             *
 0004           ; *   版本:                                                 *
 0004           ; * -------------------------------------------------------- *
 0004           ; *  [版本历史]                                              *
 0004           ; * -------------------------------------------------------- *
 0004           ; *  [使用说明]                                              *
 0004           ; ***********************************************************/
 0004           ; 
 0004           ; /********************
 0004           ; * 头 文 件 配 置 区 *
 0004           ; ********************/
 0004           ; # include "RD_MacroAndConst.h"
 0004           ; # include "LIB_Config.h"
 0004           ; # include "PF_Config.h"
 0004           ; # include "RD_ADT_Queue.h"
 0004           ; # include "RD_ADT_MSGMap.h"
 0004           ; # include "RD_UseSerialFrame_PROC.h"
 0004           ; # include "Communication_LIB.h"
 0004           ; # include "math.h"
 0004           ; 
 0004           ; /********************
 0004           ; *   系 统 宏 定 义  *
 0004           ; ********************/
 0004           ; 
 0004           ; /*------------------*
 0004           ; *   常 数 宏 定 义  *
 0004           ; *------------------*/
 0004           ; 
 0004           ; 
 0004           ; /*------------------*
 0004           ; *   动 作 宏 定 义  *
 0004           ; *------------------*/
 0004           ; 
 0004           ; /********************
 0004           ; *  模块结构体定义区 *
 0004           ; ********************/
 0004           ; 
 0004           ; /********************
 0004           ; *   函 数 声 明 区  *
 0004           ; ********************/
 0004           ; void Communication_INIT(void);
 0004           ; BOOL PROC_Shell(void);
 0004           ; BOOL Send_MSG(uint8 cCMD,uint8 *pData,uint8 Length);
 0004           ; /********************
 0004           ; *   模块函数声明区  *
 0004           ; ********************/
 0004           ; static BOOL MSGMap_Set(MSG_ITEM *pMsgItem);
 0004           ; static BOOL MSGMap_Acknowledge(MSG_ITEM *pMsgItem);
 0004           ; static BOOL MSGMap_OptionSet(MSG_ITEM *pMsgItem);
 0004           ; /********************
 0004           ; *   模块变量声明区  *
 0004           ; ********************/
 0004           ; 
 0004           ; /********************
 0004           ; *   全局变量声明区  *
 0004           ; ********************/
 0004           ; 
 0004           ; 
 0004           ; /********************
 0004           ; *  自定义数据类型区 *
 0004           ; ********************/
 0004           ; START_DEFINE_MSG_MAP(LocateModuleShell,2)
 0004                   .dbline 79
 0004                   .dbline 79
 0004 20E0              ldi R18,<_MSGMapLocateModuleShell
 0006 30E0              ldi R19,>_MSGMapLocateModuleShell
 0008                   .dbline 79
 0008 80E0              ldi R24,<_MSGMapLocateModuleShellItemArray
 000A 90E0              ldi R25,>_MSGMapLocateModuleShellItemArray
 000C F901              movw R30,R18
 000E 9283              std z+2,R25
 0010 8183              std z+1,R24
 0012                   .dbline 79
 0012 82E0              ldi R24,2
 0014 8083              std z+0,R24
 0016                   .dbline 79
 0016 0027              clr R16
 0018 14C0              rjmp L5
 001A           L2:
 001A                   .dbline 79
 001A                   .dbline 79
 001A 83E0              ldi R24,3
 001C 809F              mul R24,R16
 001E 5001              movw R10,R0
 0020 80E0              ldi R24,<_MSGMapLocateModuleShellItemArray
 0022 90E0              ldi R25,>_MSGMapLocateModuleShellItemArray
 0024 F501              movw R30,R10
 0026 E80F              add R30,R24
 0028 F91F              adc R31,R25
 002A 2224              clr R2
 002C 2082              std z+0,R2
 002E                   .dbline 79
 002E 80E0              ldi R24,<_MSGMapLocateModuleShellItemArray+1
 0030 90E0              ldi R25,>_MSGMapLocateModuleShellItemArray+1
 0032 F501              movw R30,R10
 0034 E80F              add R30,R24
 0036 F91F              adc R31,R25
 0038 80E0              ldi R24,<PL_MSG_NULL_PROC
 003A 90E0              ldi R25,>PL_MSG_NULL_PROC
 003C 9183              std z+1,R25
 003E 8083              std z+0,R24
 0040                   .dbline 79
 0040           L3:
 0040                   .dbline 79
 0040 0395              inc R16
 0042           L5:
 0042                   .dbline 79
 0042 0230              cpi R16,2
 0044 50F3              brlo L2
 0046           X0:
 0046                   .dbline 79
 0046 0027              clr R16
 0048                   .dbline 80
 0048           ;     ADD_NEW_MSG_MAP_ITEM(COM_CMD_SET,MSGMap_Set)
 0048 F901              movw R30,R18
 004A 2080              ldd R2,z+0
 004C 0215              cp R16,R2
 004E A0F4              brsh L7
 0050           X1:
 0050                   .dbline 80
 0050                   .dbline 80
 0050 4424              clr R4
 0052 5524              clr R5
 0054 2180              ldd R2,z+1
 0056 3280              ldd R3,z+2
 0058 F201              movw R30,R4
 005A E20D              add R30,R2
 005C F31D              adc R31,R3
 005E 81EA              ldi R24,161
 0060 8083              std z+0,R24
 0062                   .dbline 80
 0062 F901              movw R30,R18
 0064 2180              ldd R2,z+1
 0066 3280              ldd R3,z+2
 0068 F201              movw R30,R4
 006A E20D              add R30,R2
 006C F31D              adc R31,R3
 006E 80E0              ldi R24,<PL_MSGMap_Set
 0070 90E0              ldi R25,>PL_MSGMap_Set
 0072 9283              std z+2,R25
 0074 8183              std z+1,R24
 0076                   .dbline 80
 0076 01E0              ldi R16,1
 0078                   .dbline 80
 0078           L7:
 0078                   .dbline 81
 0078           ;     ADD_NEW_MSG_MAP_ITEM(COM_CMD_ACK,MSGMap_Acknowledge)
 0078 F901              movw R30,R18
 007A 2080              ldd R2,z+0
 007C 0215              cp R16,R2
 007E A0F4              brsh L9
 0080           X2:
 0080                   .dbline 81
 0080                   .dbline 81
 0080 83E0              ldi R24,3
 0082 809F              mul R24,R16
 0084 8001              movw R16,R0
 0086 2180              ldd R2,z+1
 0088 3280              ldd R3,z+2
 008A F801              movw R30,R16
 008C E20D              add R30,R2
 008E F31D              adc R31,R3
 0090 8CEA              ldi R24,172
 0092 8083              std z+0,R24
 0094                   .dbline 81
 0094 F901              movw R30,R18
 0096 2180              ldd R2,z+1
 0098 3280              ldd R3,z+2
 009A F801              movw R30,R16
 009C E20D              add R30,R2
 009E F31D              adc R31,R3
 00A0 80E0              ldi R24,<PL_MSGMap_Acknowledge
 00A2 90E0              ldi R25,>PL_MSGMap_Acknowledge
 00A4 9283              std z+2,R25
 00A6 8183              std z+1,R24
 00A8                   .dbline 81
 00A8                   .dbline 81
 00A8           L9:
 00A8                   .dbline -2
 00A8           L1:
 00A8                   .dbline 0 ; func end
 00A8 B990              ld R11,y+
 00AA A990              ld R10,y+
 00AC 0895              ret
 00AE                   .dbsym r pMsgMap 18 pS[MsgMap]
 00AE                   .dbsym r Reg2 10 S
 00AE                   .dbsym r Reg14 16 S
 00AE                   .dbsym r n3 16 c
 00AE                   .dbsym r n1 16 c
 00AE                   .dbend
 00AE                   .dbfunc e SFP_LocateModuleShell_INIT _SFP_LocateModuleShell_INIT fV
 00AE                   .dbstruct 0 18 AbstructDataTypeQueue
 00AE                   .dbfield 0 pBuffer pc
 00AE                   .dbfield 2 nSize i
 00AE                   .dbfield 4 nHead i
 00AE                   .dbfield 6 nTail i
 00AE                   .dbfield 8 nCount i
 00AE                   .dbfield 10 fnAddToBuffer pfc
 00AE                   .dbfield 12 fnGetFromBuffer pfc
 00AE                   .dbfield 14 fnCheckEmpty pfc
 00AE                   .dbfield 16 fnPeekFromBuffer pfc
 00AE                   .dbend
 00AE                   .dbstruct 0 4 MsgItem
 00AE                   .dbfield 0 cCMD c
 00AE                   .dbfield 1 cDataLength c
 00AE                   .dbfield 2 pData pc
 00AE                   .dbend
 00AE                   .dbstruct 0 37 SerialFrameProcess
 00AE                   .dbfield 0 FrameBuffer S[AbstructDataTypeQueue]
 00AE                   .dbfield 18 pMsgMap pS[MsgMap]
 00AE                   .dbfield 20 MsgItem S[MsgItem]
 00AE                   .dbfield 24 cHeadByte c
 00AE                   .dbfield 25 cEndByte c
 00AE                   .dbfield 26 cFixLength c
 00AE                   .dbfield 27 cAddress c
 00AE                   .dbfield 28 InputDataFunc pfc
 00AE                   .dbfield 30 OutputDataFunc pfc
 00AE                   .dbfield 32 PeekDataFunc pfc
 00AE                   .dbfield 34 cActionFlag c
 00AE                   .dbfield 35 cXORCheck c
 00AE                   .dbfield 36 cFrameSize c
 00AE                   .dbend
 00AE           ;           pSFP -> R16,R17
                        .even
 00AE           _SFP_LocateModuleShell_INIT::
 00AE                   .dbline -1
 00AE                   .dbline 84
 00AE           ; END_DEFINE_MSG_MAP
 00AE           ; 
 00AE           ; START_DEFINE_SERIAL_FRAME_PROCESS(LocateModuleShell,32,MSG_MAP(LocateModuleShell))
 00AE                   .dbline 84
 00AE 00E0              ldi R16,<_SFPLocateModuleShell
 00B0 10E0              ldi R17,>_SFPLocateModuleShell
 00B2                   .dbline 84
 00B2 80E0              ldi R24,<_MSGMapLocateModuleShell
 00B4 90E0              ldi R25,>_MSGMapLocateModuleShell
 00B6 F801              movw R30,R16
 00B8 938B              std z+19,R25
 00BA 828B              std z+18,R24
 00BC                   .dbline 84
 00BC                   .dbline 84
 00BC 80E0              ldi R24,<_SFPLocateModuleShellBuffer
 00BE 90E0              ldi R25,>_SFPLocateModuleShellBuffer
 00C0 90934100          sts _SFPLocateModuleShell+1,R25
 00C4 80934000          sts _SFPLocateModuleShell,R24
 00C8                   .dbline 84
 00C8 80E2              ldi R24,32
 00CA 90E0              ldi R25,0
 00CC 90934300          sts _SFPLocateModuleShell+2+1,R25
 00D0 80934200          sts _SFPLocateModuleShell+2,R24
 00D4                   .dbline 84
 00D4 2224              clr R2
 00D6 3324              clr R3
 00D8 30924500          sts _SFPLocateModuleShell+4+1,R3
 00DC 20924400          sts _SFPLocateModuleShell+4,R2
 00E0                   .dbline 84
 00E0 30924700          sts _SFPLocateModuleShell+6+1,R3
 00E4 20924600          sts _SFPLocateModuleShell+6,R2
 00E8                   .dbline 84
 00E8 30924900          sts _SFPLocateModuleShell+8+1,R3
 00EC 20924800          sts _SFPLocateModuleShell+8,R2
 00F0                   .dbline 84
 00F0 80E0              ldi R24,<PL_ADT_Queue_Add_To_Buffer
 00F2 90E0              ldi R25,>PL_ADT_Queue_Add_To_Buffer
 00F4 90934B00          sts _SFPLocateModuleShell+10+1,R25
 00F8 80934A00          sts _SFPLocateModuleShell+10,R24
 00FC                   .dbline 84
 00FC 80E0              ldi R24,<PL_ADT_Queue_Get_From_Buffer
 00FE 90E0              ldi R25,>PL_ADT_Queue_Get_From_Buffer
 0100 90934D00          sts _SFPLocateModuleShell+12+1,R25
 0104 80934C00          sts _SFPLocateModuleShell+12,R24
 0108                   .dbline 84
 0108 80E0              ldi R24,<PL_ADT_Queue_Check_Empty
 010A 90E0              ldi R25,>PL_ADT_Queue_Check_Empty
 010C 90934F00          sts _SFPLocateModuleShell+14+1,R25
 0110 80934E00          sts _SFPLocateModuleShell+14,R24
 0114                   .dbline 84
 0114 80E0              ldi R24,<PL_ADT_Queue_Peek_From_Buffer
 0116 90E0              ldi R25,>PL_ADT_Queue_Peek_From_Buffer
 0118 90935100          sts _SFPLocateModuleShell+16+1,R25
 011C 80935000          sts _SFPLocateModuleShell+16,R24

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -