野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 杰杰

STM32进阶之串口环形缓冲区实现

  [复制链接]
 楼主| 发表于 2019-9-4 08:53:52 | 显示全部楼层
杨多多 发表于 2019-7-28 20:19
感谢楼主,无私的奉献!!!这么好的历程

不客气哟
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-4 08:53:58 | 显示全部楼层
yjanyygt 发表于 2019-8-6 10:12
杰杰杰杰杰杰杰谢同 谢同

回复 支持 反对

使用道具 举报

发表于 2019-9-4 10:54:49 | 显示全部楼层
这么好,谢谢楼主无私发布。
回复 支持 反对

使用道具 举报

发表于 2019-9-11 22:21:39 | 显示全部楼层
环形队列,学习了
回复 支持 反对

使用道具 举报

发表于 2019-9-12 11:30:51 | 显示全部楼层
谢谢分享...................
回复

使用道具 举报

发表于 2019-9-16 09:13:46 | 显示全部楼层
11111111111111111111111111111111
回复 支持 反对

使用道具 举报

发表于 2019-9-16 10:17:09 | 显示全部楼层
来学习下大佬们的经验
回复 支持 反对

使用道具 举报

发表于 2019-9-18 10:04:49 | 显示全部楼层
看看学习。
回复

使用道具 举报

发表于 2019-9-18 17:50:04 | 显示全部楼层
看看学习下!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

发表于 2019-9-19 09:07:31 | 显示全部楼层
学习一下
回复

使用道具 举报

发表于 2019-9-20 14:40:33 | 显示全部楼层
66666666666666666666
回复 支持 反对

使用道具 举报

发表于 2019-9-21 10:36:57 | 显示全部楼层
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
回复 支持 反对

使用道具 举报

发表于 2019-10-16 00:14:16 | 显示全部楼层
学习了 谢谢
回复 支持 反对

使用道具 举报

发表于 2019-10-17 14:02:12 | 显示全部楼层
之前听说过,现在看一下学习一下
回复 支持 反对

使用道具 举报

发表于 2019-10-27 09:33:48 来自手机 | 显示全部楼层
过来学习一下
回复 支持 反对

使用道具 举报

发表于 2019-10-27 17:26:14 | 显示全部楼层
收藏学习
回复

使用道具 举报

发表于 2019-10-28 10:46:59 | 显示全部楼层
好文,最近利用机智云开发也遇上了
回复 支持 反对

使用道具 举报

发表于 2019-10-28 13:26:32 | 显示全部楼层
学习,学习,再学习。
回复 支持 反对

使用道具 举报

发表于 2019-10-30 16:18:26 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2019-11-1 13:24:46 | 显示全部楼层
学习ing,升级下串口功能
回复 支持 反对

使用道具 举报

发表于 2019-11-2 09:47:32 | 显示全部楼层
学习一下,快乐成长每一天
回复 支持 反对

使用道具 举报

发表于 2019-11-6 06:54:50 | 显示全部楼层
学习学习
回复

使用道具 举报

发表于 2019-11-7 08:45:42 | 显示全部楼层
谢谢分享~~
回复 支持 反对

使用道具 举报

发表于 2019-11-7 19:17:12 | 显示全部楼层
这个确实规范了很多,支持楼主多发技术文章.
回复 支持 反对

使用道具 举报

发表于 2019-11-9 10:45:07 | 显示全部楼层
学习学习~~~~~
回复

使用道具 举报

发表于 2019-11-9 13:44:34 | 显示全部楼层
对数组简单操作下就行了,搞这么高大尚的理论让很多人都蒙了,需求到什么就操作什么,别把思维固定了
回复 支持 反对

使用道具 举报

发表于 2019-11-9 17:21:26 | 显示全部楼层

学习,学习!
回复

使用道具 举报

发表于 2019-11-10 00:24:57 来自手机 | 显示全部楼层
嘻嘻,膜拜大佬
回复 支持 反对

使用道具 举报

发表于 2019-11-26 14:45:20 | 显示全部楼层
sdgsfssssfffffffsfffgsg
回复 支持 反对

使用道具 举报

发表于 2019-12-3 20:42:00 | 显示全部楼层
学习学习.......................
回复

使用道具 举报

发表于 2019-12-4 10:55:09 | 显示全部楼层

不错,学习一下
回复 支持 反对

使用道具 举报

发表于 2019-12-5 14:18:41 | 显示全部楼层
length在缓冲区的读写函数中都会修改,需要关中断来保护一下,++和--的操作不是原子操作
回复 支持 反对

使用道具 举报

发表于 2019-12-23 20:09:58 | 显示全部楼层
很实用,很形象,学习以下
回复 支持 反对

使用道具 举报

发表于 2019-12-26 02:35:25 | 显示全部楼层
学习一下,谢谢楼主的分享
回复 支持 反对

使用道具 举报

发表于 2019-12-26 09:14:39 | 显示全部楼层
谢谢楼主,学习了
回复 支持 反对

使用道具 举报

发表于 2019-12-26 09:34:32 | 显示全部楼层
楼主,这里有个问题。
[mw_shl_code=c,true]ringBuff.Head = (ringBuff.Head+1)%RINGBUFF_LEN;//防止越界非法访问[/mw_shl_code]

这里的处理我觉得还是进行比较会比较好
[mw_shl_code=c,true]if(ringBuff.Head > RINGBUFF_LEN - 1)
{
    ringBuff.Head = 0;
}
[/mw_shl_code]

理由是你的 ringBuff.Head是 u16类型,如果到了0xffff也就是65535,再进行+1,结果会是0。
假定我RINGBUFF_LEN取10,那么0xffff(65535)的时候%10余数为5,如果0xffff + 1 结果会是0
此时ringBuff.Head从5直接跳到了0,而不是6.
回复 支持 反对

使用道具 举报

发表于 2019-12-27 08:44:55 | 显示全部楼层

学习一下,谢谢楼主的分享
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-27 08:53:46 | 显示全部楼层
a3748622 发表于 2019-12-26 09:34
楼主,这里有个问题。
[mw_shl_code=c,true]ringBuff.Head = (ringBuff.Head+1)%RINGBUFF_LEN;//防止越界 ...

嘿嘿,感谢提出疑问,不过你可以在代码中试试看~ “假定我RINGBUFF_LEN取10” “ ringBuff.Head是 u16类型,如果到了0xffff也就是65535” ,ringBuff.Head压根就不会超过10,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-27 08:54:59 | 显示全部楼层
a3748622 发表于 2019-12-26 09:34
楼主,这里有个问题。
[mw_shl_code=c,true]ringBuff.Head = (ringBuff.Head+1)%RINGBUFF_LEN;//防止越界 ...

有一份更好的代码欢迎 star与fork:https://github.com/jiejieTop/stm32_kfifo
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-27 08:56:12 | 显示全部楼层
deru_qq 发表于 2019-12-5 14:18
length在缓冲区的读写函数中都会修改,需要关中断来保护一下,++和--的操作不是原子操作

确实是,不过有一份更好的代码欢迎 star与fork:https://github.com/jiejieTop/stm32_kfifo
回复 支持 反对

使用道具 举报

发表于 2019-12-27 23:17:12 | 显示全部楼层
看一下。。。。。。。
回复

使用道具 举报

发表于 2019-12-30 19:27:08 | 显示全部楼层
学习来了。。。。。。。。。
回复

使用道具 举报

发表于 2019-12-31 17:52:36 | 显示全部楼层
学习了,学习了,谢谢谢谢
回复 支持 反对

使用道具 举报

发表于 2020-1-2 17:10:16 | 显示全部楼层
: 学习。。。。。。。。。。。。。
回复

使用道具 举报

发表于 2020-1-2 17:10:37 | 显示全部楼层
学习。。。。。。。。。。。。。。。。。
回复

使用道具 举报

发表于 2020-1-6 16:06:29 | 显示全部楼层
红红火火恍恍惚惚
回复 支持 反对

使用道具 举报

发表于 2020-1-6 20:31:25 | 显示全部楼层
ring buffer
回复 支持 反对

使用道具 举报

发表于 2020-1-17 20:04:57 | 显示全部楼层
看看,学习学习
回复 支持 反对

使用道具 举报

发表于 2020-1-18 16:10:34 | 显示全部楼层
this is very useful.
回复 支持 反对

使用道具 举报

发表于 2020-1-19 10:19:50 | 显示全部楼层
对于读写操作需要注意的地方
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 10:47 , Processed in 0.041835 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表