liu2guang
liu2guang - 认证专家

注册于 2 years ago

回答
9
文章
0
关注者
0

liu2guang 发表了评论

1 month ago

audio的replay模式不能播放长度小于内存块大小的数据吗?

这个属于框架设计不合理的地方

liu2guang 发表了评论

1 month ago

audio的replay模式不能播放长度小于内存块大小的数据吗?

按道理需要,看你应用吧,对音质要求不高其实不处理可以。

liu2guang 对问题发布了答案

1 month ago

audio的replay模式不能播放长度小于内存块大小的数据吗?

点赞,分析没有问题的,还是按照使用场景来分析:场景暂停播放:暂停播放会将最后不满一帧的数据缓存到audio框架的缓存中,但是接着播放写入数据时就可以将不满的数据和后续的一起写入到硬件codec中,这样

liu2guang 对问题发布了答案

1 month ago

audio的replay模式播放时是先发一段0来启动吗?

没啥考虑,就是设计的时候没有想这么多。但是这并不是说明实际会产生什么严重的后果,向DMA传入0数据,其实是不会发出声音的。在实际使用的场景下,一般是开始播放歌曲,或者是长时间暂停后恢复(短时间暂停一般

liu2guang 对问题发布了答案

2 months ago

大家有没有遇到过多线程使用同一个串口发送数据,数据是交叉的

会的,需要做互斥操作,保证每一个线程最小发送数据单位

liu2guang 发表了评论

2 months ago

free a bad data block导致机器死机问题咨询

点赞,下次试试,不过楼主的问题不在泄漏可能在于写穿。主要是在写穿下rt_list_t node节点的上下节点指针被非法篡改,所有memtrace编译所有分配的内存时,由于node中next是个错误的值

liu2guang 对问题发布了答案

2 months ago

想在项目中使用线程守护功能,请问RTT有没有这种功能组件

http://packages.rt-thread.org/detail.html?package=syswatch

liu2guang 发表了评论

2 months ago

线程初始化时为何在入口函数前加void (*)(void *parameter)

修正(md语法自动将 *转换了):int (func)(void *)int (*func)(void)

liu2guang 发表了评论

2 months ago

线程初始化时为何在入口函数前加void (*)(void *parameter)

你线程函数都定义错了呀 int (func)(void ) 你的函数声明是 int (*func)(void) 类型不匹配当然报错,c语言不过关啊

liu2guang 对问题发布了答案

2 months ago

free a bad data block导致机器死机问题咨询

(mem->used) assertion failed at function:rt_free, line number:599 这句话的意思是 rt_free 传入的地址, 其对应的管理块中

liu2guang 对问题发布了答案

2 months ago

文件系统 下 用什么方法 做系统参数,和 系统日志记录

ulog貌似可以将输出日志定向到后端,后端可以是DFS下管理的文件。当然也可以是终端或者网络等等。系统参数可以使用.ini, 软件包有对应的软件包,但是具体的我没有用过,你可以了解下。

liu2guang 发表了评论

2 months ago

使用env工具中后原先手动添加的文件消失

自己的c文件放在application不会消失是因为scons脚本中是正则匹配(.c)文件的这个与Kconfig无关,主要是编写好scons脚本,给你一个scons模板SOURCES

liu2guang 对问题发布了答案

2 months ago

线程初始化时为何在入口函数前加void (*)(void *parameter)

可以不加,函数指针类型转换

发布
问题

分享
好友