找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

楼主: 米迦勒

[CSR8系列] 有关CSR8670 uart 接收数据的问题

[复制链接]
连续签到天数:1天
签到总天数:1天
签到总奖励:5金币
 楼主| 发表于 2016-12-12 16:50:08 | 显示全部楼层
wyq0324 发表于 2016-12-12 16:45
如果不drop的话,字符串会一直存储在Source映射的内存空间里,不用再额外分配。

这个我知道,但是最开始我不是说,通过uart接收数据会分成几包数,产生好几个MESSAGE_MORE_DATA消息,如果这样的话,就需要把数据统一存储起来然后再进行处理了
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复

使用道具 举报

连续签到天数:1天
签到总天数:1天
签到总奖励:5金币
 楼主| 发表于 2016-12-12 16:55:30 | 显示全部楼层
wyq0324 发表于 2016-12-12 16:45
如果不drop的话,字符串会一直存储在Source映射的内存空间里,不用再额外分配。

而且如果这样的话,有可能会造成 映射的内存空间溢出吧~~
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复

使用道具 举报

连续签到天数:1天
签到总天数:1天
签到总奖励:5金币
 楼主| 发表于 2016-12-12 16:58:19 | 显示全部楼层
wyq0324 发表于 2016-12-12 16:54
不管收到多少MESSAGE_MORE_DATA,只要你不清理,所有收到的数据会存储在Source的内存空间里,直接用这段内存 ...

source的内存映射空间有多大啊
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复

使用道具 举报

连续签到天数:1天
签到总天数:200天
签到总奖励:3427金币
发表于 2016-12-12 16:59:56 | 显示全部楼层
米迦勒 发表于 2016-12-12 16:55
而且如果这样的话,有可能会造成 映射的内存空间溢出吧~~

通过malloc分配的空间不会比source映射的空间大。

数据当然要及时处理了,定义数据格式或分隔符,检测到一包数据后就处理和清理掉。
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复

使用道具 举报

连续签到天数:1天
签到总天数:1天
签到总奖励:5金币
 楼主| 发表于 2016-12-12 17:02:25 | 显示全部楼层
wyq0324 发表于 2016-12-12 16:59
通过malloc分配的空间不会比source映射的空间大。

数据当然要及时处理了,定义数据格式或分隔符,检测 ...

嗯 我按照您的这个方法试试 多谢
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复

使用道具 举报

连续签到天数:9天
签到总天数:857天
签到总奖励:7715金币
发表于 2016-12-14 09:41:39 | 显示全部楼层

积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复

使用道具 举报

连续签到天数:1天
签到总天数:1天
签到总奖励:5金币
 楼主| 发表于 2016-12-14 16:10:32 | 显示全部楼层
wyq0324 发表于 2016-12-12 16:59
通过malloc分配的空间不会比source映射的空间大。

数据当然要及时处理了,定义数据格式或分隔符,检测 ...

实施过程中遇到了一个问题,如果数据没有按照指定的数据格式接收完,source缓冲区岂不是一直都不会清除吗
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复

使用道具 举报

连续签到天数:1天
签到总天数:200天
签到总奖励:3427金币
发表于 2016-12-14 16:33:19 | 显示全部楼层
米迦勒 发表于 2016-12-14 16:10
实施过程中遇到了一个问题,如果数据没有按照指定的数据格式接收完,source缓冲区岂不是一直都不会清除吗 ...

所以,你要加一个结束符,比如\r,标志本次发送结束,然后你就可以清除处理过的数据了。
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复

使用道具 举报

连续签到天数:1天
签到总天数:1天
签到总奖励:5金币
 楼主| 发表于 2016-12-14 16:48:26 | 显示全部楼层
wyq0324 发表于 2016-12-14 16:33
所以,你要加一个结束符,比如\r,标志本次发送结束,然后你就可以清除处理过的数据了。

数据都没有按照指定的格式接收完全,应该也收不到结束符了吧。
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复

使用道具 举报

连续签到天数:1天
签到总天数:200天
签到总奖励:3427金币
发表于 2016-12-14 17:00:12 | 显示全部楼层
米迦勒 发表于 2016-12-14 16:48
数据都没有按照指定的格式接收完全,应该也收不到结束符了吧。

建议你查一下上位机是不是就没有发送完全!

即使没有接收完全,也会在收到下一个结束符时把数据清理,好过一直清理不掉!
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2024-5-2 14:00 , Processed in 0.361207 second(s), 19 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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