小白求助,共享内存问题~~

moonFulling_ 2019-03-22 10:13:30
一个进程中循环:
sem_wait(g_ipcSem);

memset(g_shmTxMem, 0, SHM_SIZE);

printf("data: 0x%x 0x%x \n", data[0], data[1]);

memcpy(&g_shmTxMem[1], data, 7);

printf("0x%x 0x%x 0x%x \n", g_shmTxMem[0], g_shmTxMem[1], g_shmTxMem[2]);

sem_post(g_ipcSem);

打印的共享内存数据没问题,
到另一个进程中读取共享内存前三字节,有时候出现全0的情况;

求教为什么会导致这种情况发生!!
...全文
399 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
moonFulling_ 2019-07-31
  • 打赏
  • 举报
回复
引用 1 楼 LubinLew 的回复:
1.先校验一下sem_wait和sem_post的返回值 2.检查一下共享内存的创建是否有问题
加上了校验就没问题了,很奇怪啊。。。什么原理呢
老葱1# 2019-06-28
  • 打赏
  • 举报
回复
sem_wait 是内核函数,会被中断,所以必须检查返回
JT同学 2019-06-04
  • 打赏
  • 举报
回复
1、你用的是POSIX信号量,要在进程间通讯是需要设置在共享内容上的,可以看看初始化是否正确 2、可以使用XSI信号量,可以参考:https://blog.csdn.net/weixin_42462202/article/details/90754860
636f6c696e 2019-03-22
  • 打赏
  • 举报
回复
调用底层接口不判断返回值和errno是非常危险的行为
LubinLew 2019-03-22
  • 打赏
  • 举报
回复
1.先校验一下sem_wait和sem_post的返回值
2.检查一下共享内存的创建是否有问题
详情可查看下方数据集可视化效果。 【数据集概况】 · 检测类别(中文):[中央处理器(CPU)] · 训练集:810 张 · 验证集:82 张 · 测试集:40 张 · 总计:932 张 该数据集聚焦于工业制造环境中中央处理器的精准识别,通过多背景、多光照条件下的图像采集,构建了覆盖典型生产场景的高质量样本库。数据集中中央处理器以标准封装形态呈现,背景涵盖金属台面、彩色渐变板及纹理表面,充分模拟实际生产线中的视觉干扰因素,为自动化质检与智能分拣系统提供了可靠的数据支撑。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 37 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9650** mAP50-95 | 0.9173 Precision | 0.9967 Recall | 0.9647 train/box_loss | 0.4580 train/cls_loss | 0.2414 val/box_loss | 0.3658 val/cls_loss | 0.2987 【训练过程分析】 37 轮训练后 mAP50 达到 0.9650,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。mAP50-95 为 0.9173,和 mAP50 差距仅 0.05,框的定位精度也很扎实。 【模型性能评估】 Precision 0.9967、Recall 0.9647,精召双高,模型对中央处理器的检测能力强。 【预测效果展示】 验证集预测效果较好,检测框基本准确覆盖中央处理器,置信度整体偏高。 【改进建议】 1...
内容概要:本研究聚焦于内置永磁同步电机(IPMSM)位置伺服系统,深入探讨了其三闭环PI控制的解耦机理与跟踪性能。通过采用基于转子磁链定向的带宽分层整定方法,在Simulink环境中构建了完整的控制系统仿真模型。研究系统地分析了速度环、位置环和电流环之间的动态耦合关系,提出了有效的解耦策略,并详细阐述了如何通过合理设计各环路的带宽层级来优化系统的动态响应和抗干扰能力。文中通过一系列仿真实验,全面评估了该控制策略在不同工况下的位置跟踪精度、响应速度和鲁棒性,验证了所提方法的有效性与优越性。; 适合人群:具备一定电机控制理论基础和Simulink仿真经验的自动化、电气工程及相关专业的研究生、科研人员和工程技术人员。; 使用场景及目标:① 深入理解永磁同步电机三闭环控制系统的工作原理与解耦机制;② 掌握基于转子磁链定向的带宽分层整定方法,用于高性能伺服系统的设计与参数整定;③ 利用提供的Simulink模型进行仿真复现、性能分析和算法优化,服务于科研项目或工程开发。; 阅读建议:在阅读本文时,建议读者结合Simulink仿真模型进行同步学习,重点关注各控制环路的传递函数、PI控制器参数的计算过程以及带宽分配的原则。在仿真实验部分,应仔细分析不同工况下的响应曲线,以深刻理解解耦效果和跟踪性能的内在联系。

23,224

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧