完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
嗨,从昨天开始我就有一个奇怪的问题,今天需要解决。我不确定我能发布多少代码。所以,这就是问题:我在缓冲区中保存来自外围设备的一堆数据,在一个结构中。然后,另一个函数从结构中弹出一个缓冲区位置,处理它。d把它放在输出缓冲结构中。一切都很好,这是为UART工作的,适用于不同家庭的几种产品。数据推送/弹出的相同机制正在其他外围设备上使用。我重写了模拟外设的代码,奇怪的事情发生了:我有一个函数,它首先弹出第一个可用数据并将其放入局部变量,处理数据,将其推入输出缓冲区。ess错误可能发生在每个缓冲区管理函数中,甚至在UART函数中(这让我提醒您已经100%测试并正常工作)。ce,我无法解释,因为所传递的引用是硬编码的。如果外围设备2导致问题,我尝试只是为了刺激……不是这样!好。。。这两者的任何组合都会导致问题。只调用p1函数:没有问题。只调用p2函数:没有问题。调用p1和p2:问题。调用p2和p1:问题。每个主循环都调用p1和p2:问题。从昨天起,我已经连续几个小时不停地敲打我的头,也许这里有人有建议?我不排除资源耗尽…在DSPIC33 EV256GM102上开发。使用约6 /256K闪存和800/4000 RAMPPLABX 3.40和3.60,XC16无论我们现在的版本。有无优化。
|
|
相关推荐
9个回答
|
|
如果你想泛泛而谈,你就得不到具体的答案。工作寄存器?和ASM代码一样吗?随机地址错误?如例外情况吗?损坏的指针?一种可能性是,如果你有一个字节数组和一个从它拉字,确保它被声明为字对齐。
|
|
|
|
你说的很对。我还没上班,所以我手头没有代码,我打算至少发布缓冲区处理代码。不,我没有字节数组(我只用了16位变量,数组被设置为对齐)随机地址错误:我有一个地址错误例外似乎是随机时间(我还没有找到可能的原因)在本地临时变量的意义上工作寄存器(我将编辑那个,它确实具有误导性)
|
|
|
|
一切都很好…直到你重写。如果你“弹出”(又名阅读)一些还没有被“推”ED(写的)-你期待什么?因此,我建议仔细检查您的变化。
|
|
|
|
除了在调用函数之前首先检查数据(也称为idx>0),然后在pop函数内部,如果无论由于什么原因索引为零,函数返回零。如果缓冲区已满,则内部推送功能不会进行推送。相关代码片段:当我决定将增强的消息数组放入缓冲区时,问题就开始了(因此要保持结构中包含的一个传感器的所有信息)
|
|
|
|
我有点惊讶:我想这个代码是C。我永远不会尝试用简单的“=”复制一些结构(.RuffRESP*数据)。这可能在C++中工作,但在C?
|
|
|
|
为什么不呢?只要我记得,编译器的任务就是在MeMeCcript中翻译任务,同时…大Frimalalm时刻,我有不止一个使用影子寄存器的中断例程(剩下的代码我还没有检查)。从所有例程中移除了shadow属性,现在它似乎正在工作。嵌套中断被禁用,所以我不确定它是如何发生的
|
|
|
|
发生中断了吗?有多种形式的多任务处理吗?苏珊
|
|
|
|
使用赋值操作符进行结构复制在标准C中一直有效。除非将它们包装在结构中,否则无法使用“=”……复制数组,这种情况下可以。
|
|
|
|
多么可怕的代码啊!如果从中断中调用“POP”,则从主叫中调用“推”(反之亦然),这可能导致数据损坏。除此之外,它还是非常低效的,因为它在每次弹出时都会移动整个数组。这些通常由圆形缓冲区来处理,这样可以消除这两个问题。
|
|
|
|
只有小组成员才能发言,加入小组>>
5132 浏览 9 评论
1985 浏览 8 评论
1914 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3153 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2213 浏览 5 评论
701浏览 1评论
589浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
470浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
608浏览 0评论
499浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 07:03 , Processed in 1.495748 second(s), Total 94, Slave 77 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号