完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
PIC18F822具有64KB PROG。/3896字节RAM-http://www..hip.com/.w./en/PIC18F26K22只有几行代码(因此99%的资源),并且粘贴在包含1100个元素(用于控制伺服的角度)的uint8_t数组中。我需要做些什么来让这个阵列更好吃?
|
|
相关推荐
18个回答
|
|
|
这里是一个懒惰的复制/粘贴的“Meal.C”,请理解这不是那么多的“代码”开始勾画出一个想法。;)
|
|
|
|
|
|
无论出于什么原因,数组(上面的)似乎在粘贴/上传过程中被裁剪了。它是格式良好的,包含大约1100个元素。
|
|
|
|
|
|
请使用代码标签,他们是每个人的朋友([C.O.E])你的代码在这里[[/C/O-De],当然有空格]。
|
|
|
|
|
|
抱歉-做完了。
|
|
|
|
|
|
可能的问题1是如果在代码之后声明。2可能需要阅读编译器指南,看看对象和部分的限制是什么。试着把它变成全局的。
|
|
|
|
|
|
啊,我好像笑了:编译器不太健谈……试试下面的“诀窍”之一:要么把神奇的单词“.”放在uint8_t.[……]前面,要么把uint8_t.[……]放在前面。进入全局空间(在任何函数之外)。目前编译器最有可能尝试在堆栈/堆空间中放置.[],该空间通常不足以容纳该大小的变量。
|
|
|
|
|
|
好吧,我想你想在RAM中,真的建议你起诉“const”是行不通的。然后我不确定…
|
|
|
|
|
|
使它成为全球性的已经完成了“谢谢”NKurzman!“.”(在原始位置)也起到了作用(我本应该这么做的,但是很兴奋尝试将S曲线复制/粘贴到C中以获得平滑的运动…)谢谢@du0x01
|
|
|
|
|
|
默认情况下,XC8没有堆栈或堆空间,因为它有编译的堆栈。PIC18/XC8具有内存段和段大小问题。
|
|
|
|
|
|
默认情况下,XC8没有堆栈或堆空间,因为它有编译的堆栈。PIC18/XC8具有内存段和段大小的问题。技术上,自动存储持续时间的对象在大小上是有限的,无论是单独的还是我都相信。静态存储持续时间的对象不受限制。这些限制被记录在手册中。
|
|
|
|
|
|
@DarioG,你说得对,这应该是闪存中的“常量”。(特别是现在,我将从uint8_t传递到uint16_t,并希望存储多个阵列。)尽管这个应用程序一点也不高速(最苛刻的方面是伺服脉冲,由于比较模块),出于兴趣,PIC从RAM中的数组读取数据的相对速度是多少?我们可以编码从FLASH智能预加载RAM,这样的差异甚至不明显?
|
|
|
|
|
|
好啊!在这些PIC上应该没有硬件差异(例如,PIC32是不同的),并且从编码的角度来看……嗯,我认为它们基本上是一样的。你需要为Flash地址加载一些3个寄存器,但是之后你有一个24位的地址,而且你可能只会增加最低的字节,也许是每次读取的中间字节。对于RAM,你必须加载一些2个寄存器,然后它就跟以前一样……读取操作仍然是单个指令…
|
|
|
|
|
|
谢谢。所以从不同的硬件(RAM&flash)读取代码会有所不同,除此之外,我猜还有硬件访问时间上的差异。虽然许多PIC似乎都具有与EEPROM相当的高速闪存,但不是RAM……但不确定所有这些加起来的数量级差异?
|
|
|
|
|
|
正如我所说,不,从HW的角度来看,没有——直到PIC32从软件POV中,从RAM读取时得到MOVF,从ROM读取时得到TBLRD,两者都在一个周期内执行。正如我所指出的,什么变化是“周围的代码”……
|
|
|
|
|
|
谢谢你的澄清。(我不愿意相信!)
|
|
|
|
|
|
TBLRD和TBLWT指令是我相信的2个周期。
|
|
|
|
|
|
奇怪…让我们检查一下
|
|
|
|
|
|
对于PIC18是正确的,但是它可以做前/后增量,而MOVF不能(和PIC18没有MOVIW)所以,基本上每个情况都可以自己检查/优化。平均来说,不会有太大的差别。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475 浏览 0 评论
5795 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1126浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1098浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 06:17 , Processed in 1.147376 second(s), Total 108, Slave 91 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3058