ソースを参照

暂存目前工程

main
the_deepest 1日前
コミット
a2aba72b2e
6個のファイルの変更844行の追加827行の削除
  1. +4
    -0
      app/inc/hardware.h
  2. +3
    -3
      iar/settings/F407_uCOSii_Modbus.wsdt
  3. +3
    -3
      iar/settings/uCOS_Modbus.dbgdt
  4. +2
    -3
      iar/settings/uCOS_Modbus.dnx
  5. +814
    -814
      iar/uCOS_Modbus.dep
  6. +18
    -4
      modbus/modbus_parse.c

+ 4
- 0
app/inc/hardware.h ファイルの表示

@@ -3,6 +3,10 @@

#include"modbus_parse.h"

/*在8N1下,一个字符=10位,波特率表示每秒传输的位数,换算成每us传输的位数要除以10^6
*所以一个字符时间 = 10/(波特率/10^6)=10^7/波特率
*(+ MODBUS_USART_BAUDRATE - 1UL)部分为整数运算向上取整
*/
#if (MODBUS_USART_BAUDRATE > 19200U)

/*固定等待1750us,再减去IDLE中断等待的1个字符时间*/


+ 3
- 3
iar/settings/F407_uCOSii_Modbus.wsdt
ファイル差分が大きすぎるため省略します
ファイルの表示


+ 3
- 3
iar/settings/uCOS_Modbus.dbgdt ファイルの表示

@@ -153,11 +153,11 @@
<RecentlyUsedMenus>1</RecentlyUsedMenus>
<MenuShadows>1</MenuShadows>
<ShowAllMenusAfterDelay>1</ShowAllMenusAfterDelay>
<CommandsUsage>0E0300001D001B8F000001000000138600000B00000010860000F900000020810000010000000C810000020000000D800000020000000486000002000000568600002C0100000084000001000000148100000100000030840000010000000E810000010000005E8600000B0000001F8100000F0000008E8600000100000000E10000010000000B81000001000000058400000100000069860000010000001486000003000000198F00000100000005810000010000000284000002000000118600007A00000000860000020000001084000006000000468100003900000008860000020000005D86000005000000</CommandsUsage>
<CommandsUsage>160300001D00138600000B0000001B8F00000100000010860000FD00000020810000010000000D800000020000000C810000020000000486000002000000568600002C0100001481000001000000008400000100000030840000010000001F8100000F0000005E8600000B0000000E810000010000000B8100000100000000E10000010000008E860000010000001486000003000000698600000100000005840000010000000086000002000000118600007A00000002840000020000000581000001000000198F000001000000468100003D00000010840000060000005D860000050000000886000002000000</CommandsUsage>
</MFCToolBarParameters>
<CommandManager>
<CommandsWithoutImages>0400FFFFFFFF838600005886000004DC0000</CommandsWithoutImages>
<MenuUserImages>1C00578600001C000000028600001300000023920000000000000D860000190000000A8600002D000000078600002A00000004860000270000009A8600001A0000000186000012000000008400007A0000000C86000018000000098600002C0000001A860000340000008E8600003D0000000686000029000000698600003A0000000386000014000000558600000800000000860000110000000E8600001B0000000B8600002E000000088600002B000000A18600003E000000C38600000400000016860000330000003787000003000000C08600000E0000000586000028000000</MenuUserImages>
<MenuUserImages>1C000286000013000000578600001C0000000D8600001900000023920000000000000A8600002D000000078600002A000000048600002700000001860000120000009A8600001A000000008400007A0000000C860000180000001A86000034000000098600002C00000006860000290000008E8600003D0000000386000014000000698600003A000000008600001100000055860000080000000E8600001B0000000B8600002E000000C386000004000000A18600003E000000088600002B0000000586000028000000C08600000E00000037870000030000001686000033000000</MenuUserImages>
</CommandManager>
<Pane-59393>
<ID>0</ID>
@@ -1142,7 +1142,7 @@
</BasePane-34050>
<MFCToolBar-34051>
<Name>Main</Name>
<Buttons>00200000010000002100FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000067000000FFFEFF000000000000000000000000000100000001000000018001E100000000000068000000FFFEFF000000000000000000000000000100000001000000018003E10000000000006A000000FFFEFF000000000000000000000000000100000001000000018000810000000000004B000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E10000000000006D000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E10000000004006F000000FFFEFF000000000000000000000000000100000001000000018022E10000000004006E000000FFFEFF000000000000000000000000000100000001000000018025E100000000000071000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000040074000000FFFEFF00000000000000000000000000010000000100000001802CE100000000040075000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6E4281000000000000FFFFFFFFFFFEFF0001000000000000000100000000000000010000007800000002002050FFFFFFFFFFFEFF0096000000000000000000018021810000000004005E000000FFFEFF000000000000000000000000000100000001000000018024E100000000000070000000FFFEFF000000000000000000000000000100000001000000018028E100000000040072000000FFFEFF000000000000000000000000000100000001000000018029E100000000000073000000FFFEFF000000000000000000000000000100000001000000018002810000000000004D000000FFFEFF0000000000000000000000000001000000010000000180298100000000000062000000FFFEFF0000000000000000000000000001000000010000000180278100000000000060000000FFFEFF0000000000000000000000000001000000010000000180288100000000000061000000FFFEFF00000000000000000000000000010000000100000001801D810000000000005A000000FFFEFF00000000000000000000000000010000000100000001801E810000000004005B000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B8100000000000051000000FFFEFF00000000000000000000000000010000000100000001800C8100000000000052000000FFFEFF00000000000000000000000000010000000100000001805F8600000000000066000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001801F810000000000005C000000FFFEFF000000000000000000000000000100000001000000018020810000000000005D000000FFFEFF0000000000000000000000000001000000010000000180468100000000020064000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E00FF020000</Buttons>
<Buttons>00200000010000002100FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000067000000FFFEFF000000000000000000000000000100000001000000018001E100000000000068000000FFFEFF000000000000000000000000000100000001000000018003E10000000000006A000000FFFEFF000000000000000000000000000100000001000000018000810000000000004B000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E10000000000006D000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E10000000004006F000000FFFEFF000000000000000000000000000100000001000000018022E10000000004006E000000FFFEFF000000000000000000000000000100000001000000018025E100000000000071000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000040074000000FFFEFF00000000000000000000000000010000000100000001802CE100000000040075000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6E4281000000000000FFFFFFFFFFFEFF0000000000000000000100000000000000010000007800000002002050FFFFFFFFFFFEFF0096000000000000000000018021810000000004005E000000FFFEFF000000000000000000000000000100000001000000018024E100000000000070000000FFFEFF000000000000000000000000000100000001000000018028E100000000040072000000FFFEFF000000000000000000000000000100000001000000018029E100000000000073000000FFFEFF000000000000000000000000000100000001000000018002810000000000004D000000FFFEFF0000000000000000000000000001000000010000000180298100000000000062000000FFFEFF0000000000000000000000000001000000010000000180278100000000000060000000FFFEFF0000000000000000000000000001000000010000000180288100000000000061000000FFFEFF00000000000000000000000000010000000100000001801D810000000004005A000000FFFEFF00000000000000000000000000010000000100000001801E810000000004005B000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B8100000000000051000000FFFEFF00000000000000000000000000010000000100000001800C8100000000000052000000FFFEFF00000000000000000000000000010000000100000001805F8600000000000066000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001801F810000000000005C000000FFFEFF000000000000000000000000000100000001000000018020810000000000005D000000FFFEFF0000000000000000000000000001000000010000000180468100000000020064000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E00FF020000</Buttons>
</MFCToolBar-34051>
<Pane-34051>
<ID>34051</ID>


+ 2
- 3
iar/settings/uCOS_Modbus.dnx ファイルの表示

@@ -24,7 +24,7 @@
<stlinkResetStrategy>0</stlinkResetStrategy>
</StLinkDriver>
<DebugChecksum>
<Checksum>3570680553</Checksum>
<Checksum>3084689596</Checksum>
</DebugChecksum>
<Exceptions>
<StopOnUncaught>_ 0</StopOnUncaught>
@@ -124,8 +124,7 @@
<mode>0</mode>
</DisassembleMode>
<Breakpoints2>
<Bp0>_ 1 "EMUL_CODE" "{d:\IAR_Project\TrainCamp_fubowen_Modbus\modbus\modbus_parse.c}.67.13" 0 0 1 "" 0 "" 0</Bp0>
<Count>1</Count>
<Count>0</Count>
</Breakpoints2>
<TermIOLog>
<LoggingEnabled>_ 0</LoggingEnabled>


+ 814
- 814
iar/uCOS_Modbus.dep
ファイル差分が大きすぎるため省略します
ファイルの表示


+ 18
- 4
modbus/modbus_parse.c ファイルの表示

@@ -83,14 +83,28 @@ void AppTaskModbusParse (void *p_arg)

case 0x0F:/*写多个线圈*/
frame.wNum = rxBuf[6];
memcpy(frame.wData, &rxBuf[7], frame.wNum);
ModbusErr = ModbusWriteCoils(frame.opeAddres, frame.opeNum, frame.wData);
if(frame.wNum != ((frame.opeNum + 7) / 8))
{
ModbusErr = ModbusErrReply(0x0F, ERR_DATA);
}
else
{
memcpy(frame.wData, &rxBuf[7], frame.wNum);
ModbusErr = ModbusWriteCoils(frame.opeAddres, frame.opeNum, frame.wData);
}
break;

case 0x10:/*写多个寄存器*/
frame.wNum = rxBuf[6];
memcpy(frame.wData, &rxBuf[7], frame.wNum);
ModbusErr = ModbusWriteRegs(frame.opeAddres, frame.opeNum, frame.wData);
if(frame.wNum != (frame.opeNum * 2))
{
ModbusErr = ModbusErrReply(0x10, ERR_DATA);
}
else
{
memcpy(frame.wData, &rxBuf[7], frame.wNum);
ModbusErr = ModbusWriteRegs(frame.opeAddres, frame.opeNum, frame.wData);
}
break;
case 0x05:/*写单个线圈*/


読み込み中…
キャンセル
保存