完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
有人能解释一下我如何查看调试期间计算出的定义的值吗?
我有一组地址用作数组的指针。第一个用一个值来定义,其余的与这个值相对应。 随后的项目地址是通过添加字节数的偏移来计算的。这使它动,如果我想说扩展数组中的字符串charectors数,我只需要改变定义的字符串类型,大小和所得到的地址将被重新计算在运行时。 内存是好的,我可以在一个变量或建立一个表,可以看到价值。当我徘徊在定义的代码,我只看到我的定义并不是计算值的计算公式。此操作难以调试存储位置错误。 谢谢 |
|
相关推荐
14个回答
|
|
结构客户
{ Char LNED〔20〕; Char FNEX〔20〕; 字符地址1〔40〕; 字符地址2〔40〕; INTING电话〔13〕; 客户; 然后你可以通过Cudio.Advrs1或Cudio.Phone来引用这些文件,而我没有尝试过,它们应该在调试中显示值,而包含不显示值。我必须跑,但我希望我不是在误导你。这只是一个拙劣的建议。 |
|
|
|
我发现了两个可能帮助你和我的链接(对于我正在尝试解决的问题)。
HTTP://www. CyPress?COM/?ID=4和;RID=39139。这是关于EEPROM的使用说明。 然后我想把数组变成SRAM: HTTP://www. CyPress?COM/?APP =论坛和ID;ID=2233和;RID=71060见Bob Marlowe的评论。 |
|
|
|
|
|
|
|
基于写定义“I”想成为UIT8
EEPROMYWORD(CONST UTIT8*ROWDATA,UIT8 8行数) 同样的数据。注意从一个编译器到另一个编译器的字符 必须与UTIT8相同。 问候Dana。 |
|
|
|
EEPROMYWORD(CONST UTIT8*ROWDATA,UIT8 8行数)
以上数据表。PSoC 5LP。下面是GCC的处理 const限定符。取自GCC手册。 许多用户提出了使用C关键字const作为声明数据到程序空间中的方法的想法。这样做会滥用const关键字的预期含义。 const用于告诉编译器数据是“只读”的。它用于帮助编译器更容易地进行某些转换,或者帮助编译器检查这些变量的错误用法。 例如,const关键字在许多函数中通常用作参数类型的修饰符。这告诉编译器,函数只使用参数作为只读,不会修改参数变量的内容。 CONST用于这样的用途,而不是识别数据应该存储在哪里的手段。如果它被用作定义数据存储的手段,那么它在其他情况下失去其正确的意义(改变其语义),例如在函数参数示例中。 |
|
|
|
|
|
|
|
|
|
|
|
尝试使用TyPulfEnUM来设置索引指针的值,而不是y*定义。这些值应该在您的调试中显示出来。
|
|
|
|
我没有意识到你可以在EnUM里面做计算。
|
|
|
|
如果我理解你的意图,让我提供这个:
枚举类型 { VAR1=和AdDR1//将变量放入VAR1的地址 VAR2=和ADDR2//等… VAR3=& ADDR3 数字符号 VARYSEAL; 因此NUMVIVAR给出了3的变量的总数。现在,您可以通过VAR1等引用各种数组的地址。也许VAR1、VAR2和VAR4可以是数组的元素。我还没有尝试过实际的编译,但是尝试一下并使用你的代码。 |
|
|
|
这是否意味着要看到计算的地址我需要这样做…
定义ADDR1 0 定义ADDR2 ADDR1+ 3 定义ADDR3 ADDR 2+17 枚举类型 { VAR1=和AdDR1//将变量放入VAR1的地址 VAR2=和ADDR2//等… VAR3=& ADDR3 数字符号 VARYSEAL; 然后在EnUM值上设置监视窗口,看看计算出的地址是什么? |
|
|
|
我不明白为什么你需要用硬编码的偏移定义。符号和符号只将数组或字符串的地址放入VAR1、VAR2和VAR 3。我不确定你是使用数组还是偏移到一个特定的字符串中。如果使用的是不同的字符串名称,则只设置每个字符串的第一个元素的地址。
我还没有尝试过,但是也许VAR1 VAR2-VAR3可以用var(0)、var(1)、var(2)代替。这将是一个数组,包含试图访问的数组、变量或字符串的地址。不要相信我的话。试试看。 |
|
|
|
我不确定我是否理解你想要做什么,但是如果偏移量实际上是字符串的长度,你可以使用这个代码来确定字符串的长度。它只搜索撤销指针,直到它检测到null为止。字符串的长度在I中被报告。有字符串长度来计算到下一个字符串的偏移量。
UIT8 8 i=0;而(*p++)i++; /i包含字符串的长度。 我重读你原来的文章。似乎字符串的长度可以动态地改变。您可能需要声明一个变量作为易失性,因为编译器在运行时不会有任何动态变化的知识。 |
|
|
|
参考我原来的帖子。
我想查看我所设置的定义的计算地址。这些是从EEPROM读取各种类型信息的起始地址。 我有一个发信地址,然后所有其他地址都是关于它的。 稍后,我可能想添加新的数据结构或为现有结构中的条目做准备,我不想一直计算新的位置。 例如,假设一个块存储5个电话号码,我将数字的数目设置为10个,下面的块包含联系人姓名。 *定义电话号码0 定义联络人电话号码+(数字电话*数字) 通过这种方式,我可以更改PosieNoMs或数字,而不需要重新计算任何地址。但是,当我调试以确定正确的数据是否在正确的位置时,y*定义没有显示我所说的“联系人”的实际值,但是它会告诉我,PooLeSO号具有“0”的值。它似乎不喜欢为定义显示一个计算值。 这就是我原来的帖子所说的。 |
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2069 浏览 1 评论
1826 浏览 1 评论
3639 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1760 浏览 6 评论
1510 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
508浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
358浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
410浏览 2评论
357浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
855浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 07:10 , Processed in 1.062379 second(s), Total 105, Slave 88 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号