4个帖子/ 0新
最后一篇
Z20121202038
离线
最后一次露面:4年3周前
加入:2016-03-30 12:51
关键词DSPS中间的中间断机械

你好,
1)DSPS中间是不可能的,就会批发中间,还必须收包超过一定量又时间到到会陶发中间?
2)串口中断管理分数期间,串口会丢包吗?还会否报告,也就是中间管理分数的行排时间不依赖收包,收包收包和仪器的数量相关?
3)如果串口串口仪全,又没别制作来读包,串口是不是是是开始丢包?
谢谢

设备:
Gongyu_dialog.
离线
最后一次露面:6天21小时前
加入:2016-04-27 07:07
1.注意注意tx_wait_level和tx_wait

1.注意到tx_wait_level和tx_wait_round这两两数,用于决定什么时代开启ble的数据传输
2. uart会继续收包,这是硬件直接完成的工作;只不成时时中间断屏蔽屏蔽,不合会批发新的中间。
3.是那个,老的数码就会被覆盖

Z20121202038
离线
最后一次露面:4年3周前
加入:2016-03-30 12:51
好的,。

好的,。
还有个疑问,我看蓝牙发表那块,一流更多可发128个字节吗?
#define tx_size(128)
#define tx_wait_level(74)// 3包(20 + 2 * 27)
#define tx_wait_rounds(10)
#define tx_start_frame_data_size(20)
#define tx_continue_frame_data_size(27)
if(length> tx_wait_level ||(rounds_waiting ++)> = tx_wait_rounds)
{
uint8_t * p_data = null;

循环_waiting = 0;
tx_busy_flag = true;

1)长度=(长度> tx_size?tx_size:长度);
2)长度=(长度3)长度= user_buffer_read_address(&periph_to_ble_buffer,&p_data,tx_size);
user_send_ble_data(p_data,长度);
}

还有个很大的疑惑是长度的计算。
“1)”我可以理解,保证发离布长度不再最大发诗;
“2)”我理解是不可能的分享分享,首包的,首包的是20byte,这个设计应该是考虑天线效率的,而且而且应该考虑只的,而且这个分享也只是数码长度满足20+x * 27的格式吧?
“3)”我就非常不理解了,它是根据缓冲区的长度来发动的,感觉这个完全就把1,2覆盖了。
还有,我记得蓝牙数码包的最大声是不是不是超过27byte,串口程序一下子发给128byte,那协议栈会自动分享?
谢谢!

Gongyu_dialog.
离线
最后一次露面:6天21小时前
加入:2016-04-27 07:07
首先,最大为27是出于这样的。

首先,最大长度为27是出于这样的考虑。蓝牙为4.0的数据分别的长度最大为31个字节,由标题字段的字段(5个位)。由于有可能会涉及到加入,需要户外留出4个字节,使用存储麦克风的数码。所以是27个。

而首个数码是20个字节,是因为需要前面前面7个字节存储以尾信息:
> 2字节所有数码包的长度(包含拆包之迹的有条计长度,即20+ 27 * x)
> 2个字节频道ID(一切对于写作作来说,为0x0004)
> 1字节命令(0x52 - 属性Opcode - Write命令)
> 2字节属性句柄(对应您要写的属性柄)

是在协议栈自动分享的