BUG修复
This commit is contained in:
parent
f5f2abbf8f
commit
05eeda22ae
|
@ -148,24 +148,7 @@
|
|||
<Name>-U420014000D0000504A51544E -O2254 -SF1800 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407VGTx$CMSIS\Flash\STM32F4xx_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint>
|
||||
<Bp>
|
||||
<Number>0</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>2413</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134234468</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\semi_finished_product_testing\../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c\2413</Expression>
|
||||
</Bp>
|
||||
</Breakpoint>
|
||||
<Breakpoint/>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
|
|
|
@ -3650,8 +3650,8 @@
|
|||
:10E400000E493046FFF793FB01F054FC074641F2FA
|
||||
:10E410008B3207493846FFF747FCFF21384601F0A9
|
||||
:10E42000CFFA074606493846FFF781FBBDE8F08181
|
||||
:10E43000047201085148010875480108094801089B
|
||||
:10E440002D4801082DE9F04106460D46174600BF4C
|
||||
:10E4300004720108614801088D4801080948010873
|
||||
:10E44000354801082DE9F04106460D46174600BF44
|
||||
:10E45000002F08D100BF10A340F6C5021AA124A0C6
|
||||
:10E46000F7F75AFF00BF00BF15B93046BDE8F0818D
|
||||
:10E470002C8D74B12820844202DD211A89B200E07B
|
||||
|
@ -5249,66 +5249,66 @@
|
|||
:1047E000417373657274696F6E202225732220668F
|
||||
:1047F00061696C6564206174206C696E6520256454
|
||||
:1048000020696E2025730A0070B505460C461646D1
|
||||
:1048100004492046FDF7E0FD01200349087000200F
|
||||
:1048200070BD0000994801080B00002070B50546D6
|
||||
:104830000C46164604492046FDF7CEFD01200349EB
|
||||
:104840000870002070BD0000014901080C00002024
|
||||
:1048500070B505460C46164604492046FDF7BCFDDA
|
||||
:10486000012003490870002070BD0000ED4A0108D6
|
||||
:104870000800002070B505460C461646044920463F
|
||||
:10488000FDF7AAFD012003490870002070BD00005B
|
||||
:10489000614B0108090000202DE9F04107460D4653
|
||||
:1048A00014461E46C4B121892846FDF74DFE104826
|
||||
:1048B000056022890F486168EBF728FD0E4890F8E3
|
||||
:1048C0003D00202804D1227A0A490B48F2F734FA35
|
||||
:1048D0002046F7F7F1FC08E03EB9002007490870D0
|
||||
:1048E0002846F9F799FABDE8F0810020FBE70000BF
|
||||
:1048F000B4010020721600205C2F00200B00002065
|
||||
:104900002DE9F043CDB081460E4614461F46802166
|
||||
:104910002DA8EBF722FD80210DA8EBF71EFD002549
|
||||
:10492000A846002C7ED021893046FDF70DFE674851
|
||||
:10493000066022892DA86168EBF7E8FC257A9DF8CE
|
||||
:10494000B400AA2804D1681E2DA9085C3C280DD00B
|
||||
:104950004FF0070801222DA90DA8F2F753F8012303
|
||||
:1049600042460DA93046FFF7ABF99FE0E81E81B241
|
||||
:104970000DF1B50002F016FBA91E2DAA515C88426C
|
||||
:104980000DD04FF0070802222DA90DA8F2F73AF832
|
||||
:10499000012342460DA93046FFF792F986E09DF8C3
|
||||
:1049A000B8200DF1B9016846EBF7B0FC9DF8B700EF
|
||||
:1049B00088B94FF00B084649C1F800D02DAA0DA9BF
|
||||
:1049C00043480068F2F738F8012342460DA9304603
|
||||
:1049D000FFF776F96AE09DF8B70001280DD13D494F
|
||||
:1049E000C1F800D008460068F2F7A8F801232A466B
|
||||
:1049F0002DA93046FFF764F958E09DF8B70002286A
|
||||
:104A000017D13549C1F800D0084600684078C01D6C
|
||||
:104A100000F0FF082DAA0DA92F48006800F0C6FD80
|
||||
:104A2000012300E046E042460DA93046FFF748F971
|
||||
:104A30003CE09DF8B70003280DD12849C1F800D00B
|
||||
:104A40000846006800F01CFE01232A462DA93046C6
|
||||
:104A5000FFF736F92AE09DF8B700042803D10020BB
|
||||
:104A60001F49087022E09DF8B700052811D14FF0CA
|
||||
:104A70000C081C49C1F800D02DAA0DA919480068DE
|
||||
:104A8000F2F70CF8012342460DA93046FFF718F95A
|
||||
:104A90000CE04FF0070803222DA90DA8F1F7B2FF93
|
||||
:104AA000012342460DA93046FFF70AF92046F7F7E1
|
||||
:104AB00003FC09E047B900200B4908703046F9F7BC
|
||||
:104AC000ABF94DB0BDE8F0830020FAE7B801002053
|
||||
:104AD000C4010020C8010020BC010020C00100204A
|
||||
:104AE0000D000020CC0100200C0000202DE9F04139
|
||||
:104AF00007460D4614461E46ECB121892846FDF7AF
|
||||
:104B000023FD12480560228911486168EBF7FEFB1E
|
||||
:104B1000104890F83D00202809D1002201210E48BC
|
||||
:104B2000EDF7E8FC227A0A490A48F2F705F920462F
|
||||
:104B3000F7F7C2FB08E03EB9002008490870284694
|
||||
:104B4000F9F76AF9BDE8F0810020FBE7A801002031
|
||||
:104B500076220020902E0020000C02400800002049
|
||||
:104B60002DE9F04107460D4614461E46ECB1218959
|
||||
:104B70002846FDF7E9FC1248056022891148616862
|
||||
:104B8000EBF7C4FB104890F83D00202809D1002223
|
||||
:104B900010210E48EDF7AEFC227A0A490A48F2F7D6
|
||||
:104BA000CBF82046F7F788FB08E03EB9002008491B
|
||||
:104BB00008702846F9F730F9BDE8F0810020FBE7DE
|
||||
:104BC000AC010020741C0020182F0020000C0240B3
|
||||
:1048100005492046FDF7E0FD0448046001200449F5
|
||||
:104820000870002070BD0000B9480108B4010020E4
|
||||
:104830000B00002070B505460C461646054920467B
|
||||
:10484000FDF7CAFD044804600120044908700020F7
|
||||
:1048500070BD000019490108B80100200C000020BB
|
||||
:1048600070B505460C46164605492046FDF7B4FDD1
|
||||
:1048700004480460012004490870002070BD000055
|
||||
:10488000FD4A0108A80100200800002070B5054677
|
||||
:104890000C46164605492046FDF79EFD0448046077
|
||||
:1048A000012004490870002070BD0000694B010818
|
||||
:1048B000AC010020090000202DE9F04107460D461B
|
||||
:1048C00014461E46B4B121892846FDF73DFE2289D3
|
||||
:1048D0000E486168EBF71AFD0D4890F83D0020285E
|
||||
:1048E00004D1227A09490A48F2F726FA2046F7F756
|
||||
:1048F000E3FC08E03EB90020064908702846F9F7B5
|
||||
:104900008BFABDE8F0810020FBE700007216002062
|
||||
:104910005C2F00200B0000202DE9F043CDB0814634
|
||||
:104920000E4614461F4680212DA8EBF716FD802168
|
||||
:104930000DA8EBF712FD0025A846002C7ED021899A
|
||||
:104940003046FDF701FE22892DA86168EBF7DEFCF9
|
||||
:10495000257A9DF8B400AA2804D1681E2DA9085C08
|
||||
:104960003C280DD04FF0070801222DA90DA8F2F721
|
||||
:1049700049F8012342460DA93046FFF7A1F99FE00F
|
||||
:10498000E81E81B20DF1B50002F00CFBA91E2DAAA4
|
||||
:10499000515C88420DD04FF0070802222DA90DA8C6
|
||||
:1049A000F2F730F8012342460DA93046FFF788F9A7
|
||||
:1049B00086E09DF8B8200DF1B9016846EBF7A6FC3A
|
||||
:1049C0009DF8B70088B94FF00B084549C1F800D0F1
|
||||
:1049D0002DAA0DA942480068F2F72EF8012342469D
|
||||
:1049E0000DA93046FFF76CF96AE09DF8B700012881
|
||||
:1049F0000DD13C49C1F800D008460068F2F79EF896
|
||||
:104A000001232A462DA93046FFF75AF958E09DF8B0
|
||||
:104A1000B700022817D13449C1F800D00846006811
|
||||
:104A20004078C01D00F0FF082DAA0DA92E4800688F
|
||||
:104A300000F0BCFD012342460DA900E044E03046F1
|
||||
:104A4000FFF73EF93CE09DF8B70003280DD1274958
|
||||
:104A5000C1F800D00846006800F012FE01232A4683
|
||||
:104A60002DA93046FFF72CF92AE09DF8B70004285D
|
||||
:104A700003D100201E49087022E09DF8B7000528E8
|
||||
:104A800011D14FF00C081B49C1F800D02DAA0DA977
|
||||
:104A900018480068F2F702F8012342460DA9304693
|
||||
:104AA000FFF70EF90CE04FF0070803222DA90DA81F
|
||||
:104AB000F1F7A8FF012342460DA93046FFF700F9A0
|
||||
:104AC0002046F7F7F9FB09E047B900200A490870CA
|
||||
:104AD0003046F9F7A1F94DB0BDE8F0830020FAE7C0
|
||||
:104AE000C4010020C8010020BC010020C00100203A
|
||||
:104AF0000D000020CC0100200C0000202DE9F04129
|
||||
:104B000007460D4614461E46DCB121892846FDF7AE
|
||||
:104B10001BFD228910486168EBF7F8FB0F4890F8FD
|
||||
:104B20003D00202809D1002201210D48EDF7E2FCCB
|
||||
:104B3000227A09490948F2F7FFF82046F7F7BCFB4B
|
||||
:104B400008E03EB90020074908702846F9F764F9E3
|
||||
:104B5000BDE8F0810020FBE776220020902E0020A7
|
||||
:104B6000000C0240080000202DE9F04107460D46E8
|
||||
:104B700014461E46DCB121892846FDF7E5FC228952
|
||||
:104B800010486168EBF7C2FB0F4890F83D00202801
|
||||
:104B900009D1002210210D48EDF7ACFC227A094919
|
||||
:104BA0000948F2F7C9F82046F7F786FB08E03EB956
|
||||
:104BB0000020074908702846F9F72EF9BDE8F08172
|
||||
:104BC0000020FBE7741C0020182F0020000C02407E
|
||||
:104BD0000900002038B504460D46F5F7D1F817480E
|
||||
:104BE00004601748056006211648F8F7C1FC002844
|
||||
:104BF0000AD000BF00BF14A340F261221EA127A06B
|
||||
|
|
|
@ -47,7 +47,6 @@ static err_t tcpecho_recv_hart1(void *arg, struct tcp_pcb *tpcb, struct pbuf *p,
|
|||
/* 更新窗口*/
|
||||
|
||||
tcp_recved(tpcb, p->tot_len); // 读取数据的控制块 得到所有数据的长度
|
||||
server_pcb_hart1 = tpcb; // 直接赋值
|
||||
memcpy(hart1_uart5.tx_data, (int *)p->payload, p->tot_len);
|
||||
if (huart5.gState == HAL_UART_STATE_READY)
|
||||
{
|
||||
|
@ -71,7 +70,6 @@ static err_t tcpecho_recv_hart2(void *arg, struct tcp_pcb *tpcb, struct pbuf *p,
|
|||
/* 更新窗口*/
|
||||
|
||||
tcp_recved(tpcb, p->tot_len); // 读取数据的控制块 得到所有数据的长度
|
||||
server_pcb_hart2 = tpcb; // 直接赋值
|
||||
memcpy(hart2_uart2.tx_data, (int *)p->payload, p->tot_len);
|
||||
if (huart2.gState == HAL_UART_STATE_READY)
|
||||
{
|
||||
|
@ -97,7 +95,6 @@ static err_t tcpecho_recv_ble1(void *arg, struct tcp_pcb *tpcb, struct pbuf *p,
|
|||
/* 更新窗口*/
|
||||
|
||||
tcp_recved(tpcb, p->tot_len); // 读取数据的控制块 得到所有数据的长度
|
||||
server_pcb_ble1 = tpcb; // 直接赋值
|
||||
|
||||
memcpy(ble1_uart6.tx_data, (int *)p->payload, p->tot_len);
|
||||
if (huart6.gState == HAL_UART_STATE_READY)
|
||||
|
@ -123,7 +120,7 @@ static err_t tcpecho_recv_ble2(void *arg, struct tcp_pcb *tpcb, struct pbuf *p,
|
|||
/* 更新窗口*/
|
||||
|
||||
tcp_recved(tpcb, p->tot_len); // 读取数据的控制块 得到所有数据的长度
|
||||
server_pcb_ble2 = tpcb; // 直接赋值
|
||||
|
||||
memcpy(ble2_uart3.tx_data, (int *)p->payload, p->tot_len);
|
||||
if (huart3.gState == HAL_UART_STATE_READY)
|
||||
{
|
||||
|
@ -151,7 +148,7 @@ static err_t tcpecho_recv_control(void *arg, struct tcp_pcb *tpcb, struct pbuf *
|
|||
|
||||
/* 更新窗口*/
|
||||
tcp_recved(tpcb, p->tot_len); // 读取数据的控制块 得到所有数据的长度
|
||||
server_pcb_control = tpcb; // 直接赋值
|
||||
|
||||
memcpy(tcp_rx_data, (int *)p->payload, p->tot_len);
|
||||
rx_data_len = p->tot_len;
|
||||
/*1. 对接收的数据做异或校验、帧头帧尾判断,校验失败返回信息,校验通过继续下一步、校验数据从帧头后面到校验位结束*/
|
||||
|
@ -242,6 +239,7 @@ static err_t tcpecho_recv_control(void *arg, struct tcp_pcb *tpcb, struct pbuf *
|
|||
static err_t tcpecho_accept_hart1(void *arg, struct tcp_pcb *newpcb, err_t err) // 由于这个函数是*tcp_accept_fn类型的,形参的数量和类型必须一致
|
||||
{
|
||||
tcp_recv(newpcb, tcpecho_recv_hart1); // 当收到数据时,回调用户自己写的tcpecho_recv
|
||||
server_pcb_hart1 = newpcb; // 直接赋值
|
||||
tcp_echo_flags_hart1 = 1;
|
||||
// HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_3); // 停止蜂鸣器PWM输出,用于关闭蜂鸣器发声
|
||||
return ERR_OK;
|
||||
|
@ -250,6 +248,7 @@ static err_t tcpecho_accept_hart1(void *arg, struct tcp_pcb *newpcb, err_t err)
|
|||
static err_t tcpecho_accept_hart2(void *arg, struct tcp_pcb *newpcb, err_t err) // 由于这个函数是*tcp_accept_fn类型的
|
||||
{
|
||||
tcp_recv(newpcb, tcpecho_recv_hart2); // 当收到数据时,回调用户自己写的tcpecho_recv
|
||||
server_pcb_hart2 = newpcb; // 直接赋值
|
||||
tcp_echo_flags_hart2 = 1;
|
||||
// HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_3); // 停止蜂鸣器PWM输出,用于关闭蜂鸣器发声
|
||||
return ERR_OK;
|
||||
|
@ -258,6 +257,7 @@ static err_t tcpecho_accept_hart2(void *arg, struct tcp_pcb *newpcb, err_t err)
|
|||
static err_t tcpecho_accept_ble1(void *arg, struct tcp_pcb *newpcb, err_t err) // 由于这个函数是*tcp_accept_fn类型的
|
||||
{
|
||||
tcp_recv(newpcb, tcpecho_recv_ble1); // 当收到数据时,回调用户自己写的tcpecho_recv
|
||||
server_pcb_ble1 = newpcb; // 直接赋值
|
||||
tcp_echo_flags_ble1 = 1;
|
||||
// HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_3); // 停止蜂鸣器PWM输出,用于关闭蜂鸣器发声
|
||||
return ERR_OK;
|
||||
|
@ -266,6 +266,7 @@ static err_t tcpecho_accept_ble1(void *arg, struct tcp_pcb *newpcb, err_t err) /
|
|||
static err_t tcpecho_accept_ble2(void *arg, struct tcp_pcb *newpcb, err_t err) // 由于这个函数是*tcp_accept_fn类型的
|
||||
{
|
||||
tcp_recv(newpcb, tcpecho_recv_ble2); // 当收到数据时,回调用户自己写的tcpecho_recv
|
||||
server_pcb_ble2 = newpcb; // 直接赋值
|
||||
tcp_echo_flags_ble2 = 1;
|
||||
// HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_3); // 停止蜂鸣器PWM输出,用于关闭蜂鸣器发声
|
||||
return ERR_OK;
|
||||
|
@ -273,6 +274,7 @@ static err_t tcpecho_accept_ble2(void *arg, struct tcp_pcb *newpcb, err_t err) /
|
|||
static err_t tcpecho_accept_control(void *arg, struct tcp_pcb *newpcb, err_t err) // 由于这个函数是*tcp_accept_fn类型的
|
||||
{
|
||||
tcp_recv(newpcb, tcpecho_recv_control); // 当收到数据时,回调用户自己写的tcpecho_recv
|
||||
server_pcb_control = newpcb; // 直接赋值
|
||||
tcp_echo_flags_control = 1;
|
||||
// HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_3); // 停止蜂鸣器PWM输出,用于关闭蜂鸣器发声
|
||||
return ERR_OK;
|
||||
|
|
|
@ -7,8 +7,8 @@ uint8_t di_state_now[DI_MAX] = {0};
|
|||
void user_write_gpio(communication_do_t *do_data)
|
||||
{
|
||||
uint8_t i = 0;
|
||||
uint8_t start_addr = do_data->start_addr; // 写输出的起始地址
|
||||
uint8_t length = do_data->num; // 写输出的数量
|
||||
uint8_t start_addr = do_data->start_addr; // 写输出的起始地址
|
||||
uint8_t length = do_data->num; // 写输出的数量
|
||||
for (i = 0; i < length; i++)
|
||||
{
|
||||
if (do_data->data[i] == 0x01)
|
||||
|
@ -24,20 +24,20 @@ void user_write_gpio(communication_do_t *do_data)
|
|||
void user_read_gpio(communication_di_t *di_data, uint8_t *tx_data, const uint8_t *const rx_data)
|
||||
{
|
||||
uint8_t i = 0;
|
||||
uint8_t start_addr = di_data->start_addr; // 读输入的起始地址
|
||||
uint8_t length = di_data->num; // 读输入的数量
|
||||
uint8_t tx_data_len = 7 + length; // 数据长度
|
||||
tx_data[0] = FRAME_HEAD; // 帧头
|
||||
tx_data[1] = COM_OK; // 状态
|
||||
tx_data[2] = rx_data[2]; // 设备号
|
||||
tx_data[3] = rx_data[3]; // 命令号
|
||||
tx_data[4] = length; // 数据长度
|
||||
uint8_t start_addr = di_data->start_addr; // 读输入的起始地址
|
||||
uint8_t length = di_data->num; // 读输入的数量
|
||||
uint8_t tx_data_len = 7 + length; // 数据长度
|
||||
tx_data[0] = FRAME_HEAD; // 帧头
|
||||
tx_data[1] = COM_OK; // 状态
|
||||
tx_data[2] = rx_data[2]; // 设备号
|
||||
tx_data[3] = rx_data[3]; // 命令号
|
||||
tx_data[4] = length; // 数据长度
|
||||
for (i = 0; i < length; i++)
|
||||
{
|
||||
tx_data[5 + i] = gpio_di_test(DI_1 + i + start_addr);
|
||||
}
|
||||
tx_data[5 + length] = xor_compute(tx_data + 1, tx_data_len - 3); // 异或校验
|
||||
tx_data[6 + length] = FRAME_TAIL; // 帧尾
|
||||
tx_data[5 + length] = xor_compute(tx_data + 1, tx_data_len - 3); // 异或校验
|
||||
tx_data[6 + length] = FRAME_TAIL; // 帧尾
|
||||
}
|
||||
|
||||
void user_gpio_trigger(void)
|
||||
|
@ -62,11 +62,11 @@ void user_gpio_trigger(void)
|
|||
}
|
||||
if ((send_data_flag_cmd != 0) && (1 == tcp_echo_flags_control))
|
||||
{
|
||||
tx_data[5 + DI_MAX] = xor_compute(tx_data + 1, tx_data_len - 3); // 寮傛垨鏍¢獙
|
||||
tx_data[6 + DI_MAX] = FRAME_TAIL; // 甯у熬
|
||||
tx_data[5 + DI_MAX] = xor_compute(tx_data + 1, tx_data_len - 3); // 寮傛垨鏍¢獙
|
||||
tx_data[6 + DI_MAX] = FRAME_TAIL; // 甯у熬
|
||||
user_send_data_control(tx_data, tx_data_len);
|
||||
send_data_flag_cmd++;
|
||||
if (send_data_flag_cmd > 3) // 杩炵画涓夋涓婁綅鏈烘病鏈夊洖搴旓紝鍒欏仠姝㈠彂閫佹暟鎹寘
|
||||
if (send_data_flag_cmd > 3) // 杩炵画涓夋?涓婁綅鏈烘病鏈夊洖搴旓紝鍒欏仠姝㈠彂閫佹暟鎹?寘
|
||||
{
|
||||
send_data_flag_cmd = 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue