1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我们有一个程序开发(PSoC Creator)的顾问,运行在CY8C3244PVI-133芯片。它正确地运行在较早的编译器(2013年底),但现在停止在第一个程序行,其中使用全局变量。他已经将这些(4)全局变量定义在Meal.C例程之上,如下:
FLUAT32 GFtiMEASE;FLUAT32 GFANALGRAGE; 我们正在PSoC Creator 3 SP2(10/2/14)下建立这个项目,并且建立良好。但是在调试器下运行它时,第一次分配一个以上变量(无论是在数值上进行硬编码,还是从简单的算术计算)都失败。这样定义全局变量是否是非法的(KEIL 9.51)?我们已经尝试了所有我们能想到的解决这个问题的方法,但是只要这些全局变量在代码行中使用,程序就停止了,除了程序停止在该行之外的任何解释(并且全局变量值在调试中的鼠标端上显示为0)。程序停止后的GER,尽管它可能是一个简单的赋值。例如,像这样: gFaulGrange= Max,Apple,Val- Min类比Val. 在MouthOver(4220和212)上,Max类似物Valman Valman和MimyApple Vall都是正确的。程序停止在这条线上。如果我们硬编码GFANALGRAGE的值为: gFaulGrange= 4008; 程序停止在这条线上,这是一个简单的任务。有人知道这里发生了什么事吗?谢谢您。 兰迪 |
|
相关推荐
11个回答
|
|
当你用“释放”来编译你的项目时,它可以在调试时停在任何地方。
确保您确实将构建配置设置为“调试”(主窗口菜单项)。 如果所有的失败,你可以在这里张贴完整的项目,让我们都可以看看你的所有设置?要做到这一点,使用C造饰者和GT;文件-GT;创建工作区束(最小)并附加结果文件。 如果不能做到这一点,给柏树创造一个技术案例。在本页顶部的“支持&;社区>;技术支持- >;创建一个例如我” |
|
|
|
鲍勃,
谢谢你的回复。我们确实有要调试的构建集。附件是“最小”项目档案。如上所述,这一点运行得不错,从那时起代码就没有变化了。只是CyPress向IDE和编译器等更新,所以这似乎是如何管理全局变量的一些改变,但它是这样一个简单的设置,我们找不到任何错误。如有任何帮助,将不胜感激。 兰迪 移动性.CyWrk.CaseV04.Zip 626.2 K |
|
|
|
|
|
|
|
我还没有检查你的程序,但是在Min()的第一个可执行行中停止是Creator的默认设置。只要转到“工具-gt;选项-gt;程序/调试-gt;通用”,并设置“运行/复位运行”到“第一断点”的选项。
或者,您应该能够通过键入[f5]来恢复调试中的进程。 你能告诉我这是否解决了你的问题? 鲍勃 |
|
|
|
鲍勃,
这确实让程序运行,所以谢谢你的信息。我们进入这个调试工作的原因是因为当我们用.HEX文件编程新的芯片时,程序似乎没有运行,这是我们之前所做的(只使用PSoC程序员…我们只有这个.HEX文件,所以只遵循给我们的步骤来编程新的芯片。所以我们得到了Creator并学会了如何连接这个设备并运行这个调试器,并且看到程序停止了。显然,我们误解了这是我们的问题的冒烟枪,因为它解释了我们的观察(即,没有程序运行在新的编程芯片的基础上没有输出),但它似乎是一个红色鲱鱼,不幸的是。 但现在这个项目正在运行,我们可以查看更多的变量,并试图找到真正的问题。这个系统作为一个62.5 kHz输入方波的移相器,但是当我们运行它时,我们现在没有移位输出,并且在监视器DAC引脚上没有输出,因此假设程序没有因为某种原因而运行,并且认为我们已经发现了问题。看起来更头痛。再次感谢帮助,我们现在可以追查更多的变量,并希望找出什么地方出了问题。兰迪 |
|
|
|
兰迪
在处理ADC的主循环中存在错误。 ADC是为转换开始的,但是下面的“IF”没有等待注释的完成,而是开始了一个新的转换。行应该读 如果(ADCJ-DelsiGui1IsEnto皈ic(ADCJ-DelsiGui1Waith-FosiRead)) 鲍勃 |
|
|
|
鲍勃,
谢谢。我用替换代码替换了原来的代码行,但是它没有改变行为(我直接从这个论坛文本框剪切/粘贴了你的行,并注释了原文)。然而,我能够确认DAC输出是通过对几个值硬编码并在电压表上看到正确的结果而工作的。这个程序应该读取一个0~1V的信号到ADC(引脚18),然后产生一个04V的比例输出电压(除了62.5 kHz的相位SHITED,但DAC输出是一个简单的偏移和输入电压的规模,独立于FIEWER方波移位代码)。但是,在调试器中查看ADC输入值表明,无论施加到PIN 18上的电压如何,它们都不会改变。因此,问题似乎是与ADC有关,并且它没有读取正确的输入值(我可以测量引脚18上的电压,并在0~1V范围内改变它,以便物理输入正确)。 我不知道这是不是正确的地方来表达这个评论,但是我很乐意支付一些帮助,因为它现在似乎是一些代码问题,而不是我们原先的想法(即,一个特定于一个新编译器的问题)。它仍然困扰着为什么这个相同的程序以前工作,但现在没有,因为唯一的变化是建立它在更新的IDE /编译器。但是从现在的行为看来,ADC读数没有正确地进入,因此两个输出保持不变(即,62.5 kHz方波不移位,并且0~4V输出保持在大约4V,而不管ADCIS应该是ReA的0~1V控制输入信号)。丁)兰迪 |
|
|
|
为了获得0到1.024的A/D输入范围,你必须绕过输入缓冲器,见下面的PIC。
此外,您正在运行12位,但当你写回8位DAC,你应该 右移位16位A/D结果4,然后将其转换为8位,以便写入DAC。那样 您将把移位的A/D结果的前8位写入DAC。 问候,Dana。 |
|
|
|
|
|
|
|
|
|
|
|
Dana
谢谢。。。我明天再来看看事情。DAC的输出工作似乎好了,但adcinput值不改变代码,即使在输入引脚的电压变化的正确。所以看起来有一些与ADC的问题读现在即使相同的代码在过去曾为同样的芯片和电路。我会找你把捕获的屏幕内的创造者。 兰迪 |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2101 浏览 1 评论
1848 浏览 1 评论
3666 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1783 浏览 6 评论
1533 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
564浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
418浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
434浏览 2评论
380浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
909浏览 2评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 19:55 , Processed in 1.096308 second(s), Total 96, Slave 80 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号