qq1328073868 发表于 2018-4-18 15:00:42

stm32环形队列里面怎么存数据包到队列里

stm32环形队列里面怎么存数据包到队列里

bargagebaobei 发表于 2018-4-18 15:05:08

可以用指针 也可以用循环

butterflyspring 发表于 2018-4-18 15:21:23

这不是数据结构的内容吗?开口,头接上个尾,尾接下个头..

stm1024 发表于 2018-4-18 15:45:00

在待插入的节点处切断,然后将next指针指向新节点, 并把新节点的next指向原来的next
例如,在p和q之间插入r;
r->next=p->next;
p->next=r;

黑皮男 发表于 2018-4-18 16:26:07

数据包的话,还是网队列中传指针的值比较靠谱,执行速度快,注意在STM32上,队列中的item要能狗容纳4个字节的数据。
struct data{
int len;
uint8_t *payload;
};

struct data data;

queue_push((unsigned long)&data);

qq1328073868 发表于 2018-4-18 18:10:42

亲们,有没有例程给分享一下

黑皮男 发表于 2018-4-18 19:17:51

qq1328073868 发表于 2018-4-18 18:10
亲们,有没有例程给分享一下

队列里存的其实就是一个数,至于这个数表示什么意思就有你自己定义了,传入的可以是简单的整形,或者是一个地址(指针),这个地址里的数据到底是什么无需关心,怎么存进去就怎么取回来就行了

qq1328073868 发表于 2018-4-18 19:29:52

黑皮男 发表于 2018-4-18 19:17
队列里存的其实就是一个数,至于这个数表示什么意思就有你自己定义了,传入的可以是简单的整形,或者是一 ...

就是不会把接到的数据包怎么存进去

XinLiYF 发表于 2018-4-18 19:31:32

可以看一下这个:模仿kfifo实现的环形缓冲区

qq1328073868 发表于 2018-4-18 19:51:17

XinLiYF 发表于 2018-4-18 19:31
可以看一下这个:模仿kfifo实现的环形缓冲区

初学者,好多看不懂,
页: [1] 2
查看完整版本: stm32环形队列里面怎么存数据包到队列里