aeo123

Results 10 comments of aeo123

不建议继续加长,mtu过长,出错的几率越大。传输丢包的几率越大。非要加长,改一下协议头,标记协议长度的位置多加一个字节

是的,如果包长太长,会继续遍历完整个包; 但是这里不能直接丢包,如果当前正在处理的数据包含了下一包的包头,就是沾包的情况,直接return下一包会被丢掉; 能跳过肯定是最好的,但是也不知道跳过多少才对,万一跳过下一包的包头,干脆还是遍历一下,影响不大 ------------------ 原始邮件 ------------------ 发件人: "aeo123/upacker" ***@***.***>; 发送时间: 2021年3月13日(星期六) 下午5:42 ***@***.***>; ***@***.***>; 主题: [aeo123/upacker] 数据包超长得情况下丢包有问题 (#3) else if (packer->state == 2) { //长度信息 packer->flen |= (uint16_t)d

如果是数据丢包,考虑下串口硬件和bsp得问题 ------------------ 原始邮件 ------------------ 发件人: ***@***.***>; 发送时间: 2021年8月5日(星期四) 下午4:33 收件人: ***@***.***>; 抄送: ***@***.***>; ***@***.***>; 主题: Re: [aeo123/upacker] 数据包超长得情况下丢包有问题 (#3) 数据报不到4 k 就经常有 传输不到的数据包 — You are receiving this because you commented. Reply...

1k到8k都有使用。最近用的是4k,我一般是配合dma来收发处理,在stm32和esp32上面使用 ------------------ 原始邮件 ------------------ 发件人: ***@***.***>; 发送时间: 2021年8月6日(星期五) 上午10:56 收件人: ***@***.***>; 抄送: ***@***.***>; ***@***.***>; 主题: Re: [aeo123/upacker] 数据包超长得情况下丢包有问题 (#3) MAX_PACK_SIZE你设置的是多大? 发件人: hcb900330 发送时间: 2021-08-05 17:19 收件人: aeo123/upacker 抄送: Sunxiaowei123370; Author 主题: Re:...

那就是连续 发的包太长,超过了驱动的接收缓存了。确实加长就行 ------------------ 原始邮件 ------------------ 发件人: ***@***.***>; 发送时间: 2021年8月9日(星期一) 上午9:26 收件人: ***@***.***>; 抄送: ***@***.***>; ***@***.***>; 主题: Re: [aeo123/upacker] 数据包超长得情况下丢包有问题 (#3) 最后把这个改大了 RT_SERIAL_RB_BUFSZ 1024*17 好像就好多了 — You are receiving this because you commented....

这个等于透传,当然可以随便定 ------------------ 原始邮件 ------------------ 发件人: "aeo123/upacker" ***@***.***>; 发送时间: 2021年9月14日(星期二) 中午11:01 ***@***.***>; ***@***.***>; 主题: [aeo123/upacker] 数据帧格式不能随意定义?必须用定义好的? (#5) 数据帧格式不能随意定义?必须用定义好的? — You are receiving this because you are subscribed to this thread. Reply to this email directly,...

这个库封的是传输。应用上你还需要自己封,或者参考我那样封一个简单type+data ------------------ 原始邮件 ------------------ 发件人: ***@***.***>; 发送时间: 2021年9月14日(星期二) 中午11:09 收件人: ***@***.***>; 抄送: ***@***.***>; ***@***.***>; 主题: Re: [aeo123/upacker] 数据帧格式不能随意定义?必须用定义好的? (#5) 我看您的封包和解包函数都是按照您定义的数据格式写的,我如果要用不都是要重写的? — You are receiving this because you commented. Reply to this email...

感谢,居然有人看。 static uint8_t frame_encode(upacker_inst_t packer, uint8_t *data, uint16_t size) { uint8_t tmp[4] = {0}; uint8_t crc = 0; if (size > 16384) { return 0; } tmp[0] = 0x55; tmp[1]...

> 建议数据发送的时候,不要分两次发送;否则接收端用超时回调时,接收到的数据可能不完整。尽量不要分片发送。 感谢,居然有人看。 static uint8_t frame_encode(upacker_inst_t packer, uint8_t *data, uint16_t size) { uint8_t tmp[4] = {0}; uint8_t crc = 0; if (size > 16384) { return 0; } tmp[0] =...

绝了,一升级就这样。还不能降级,降级到3.2直接全部崩掉。docker 里面按照这样设置可以了, tde: image: tdengine/tdengine:3.3.2.0 container_name: tde restart: always hostname: buildkitsandbox # 增加这一行