完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这个问题用PSoC Creator 3.3(3.3.0.410)进行。
你好社区 我问你关于一个问题的帮助(Bug?)在PSoC Creator。我想要的是:在编译环境中定义一个带有处理器值的预处理器定义,并在编辑器中正确使用它。 1。在头文件中用手工定义它(见屏幕截图1) 这里有什么正确的。PSoC Creator使未使用的代码灰度,并显示正确的情况。还介绍了编译正确的错误。 2。在“构建设置”中定义它:“编译器”和“正确的语法中的预处理器定义”(TestValay= 1)(见屏幕截图2) PSoC Creator把定义定义为“1=”而不是“1”。所以代码没有显示正确,格雷码确实是编译的!编译器工作正常,显示正确的错误。 三。在“构建设置”和“编译器”中定义“编译器”和“错误处理器中的预处理器定义”(TestVar 1)(见屏幕截图3) PSoC Creator显示的都是正确的,格雷码真的没有用过。但是编译器不能处理参数-d“Test-Var 1”(见屏幕截图4)。 所以我的问题是,我必须选择编译器是否做正确的事情,或者PSoC Creator显示所有的正确。我两个在一起。请帮助我找到一个方法或修复PSoC Creator,因为这似乎是一个错误在这个软件。 非常感谢你的帮助! 预处理器 139.7 K 预处理器 174 K 预处理器 58.4 K 预处理器 31.3 K 以上来自于百度翻译 以下为原文 This problem occurs with PSoC Creator 3.3 (3.3.0.410) Hello community, I ask You about help for an issue (bug?) in the PSoC Creator. What I simple want: Define a preprocessor definition with a value in the build settings and use it correctly in the editor. 1. Define it by hand in a header-file (see screenshot 1) Anything correct here. The PSoC Creator makes the unused code gray and shows the correct case. Also on compiling the correct error is shown. 2. Define it in "Build Settings" > "Compiler" > "Preprocessor Definitions" in correct syntax (TEST_VAL=1) (see screenshot 2) The PSoC Creator shows the define as "1=" instead of "1". So the code is not shown correct, gray code is indeed compiled! The compiler works correct, the correct error is shown. 3. Define it in "Build Settings" > "Compiler" > "Preprocessor Definitions" in false syntax (TEST_VAL 1) (see screenshot 3) The PSoC Creator shows all correct, the gray code is really unused. But the compiler cannot handle the parameter -D "TEST_VAL 1" (see screenshot 4). So my problem is that I must choose if the compiler does the correct things or the PSoC Creator shows all correct. My favor is both together. Please help me to find a way or bugfix the PSoC Creator because this seems to be a bug in this Software. Thank You a lot for Your help!
|
|
相关推荐
9个回答
|
|
如果你只需要一个真/假设置,你就可以使用γIFDEF来测试存在性。
以上来自于百度翻译 以下为原文 If you just need a true/false setting, you can use #IFDEF to test for existence. |
|
|
|
谢谢你的评论,但我需要一个明确的数字(范围0…999)
以上来自于百度翻译 以下为原文 Thanks for Your comment but I need a defined number (range 0..999) |
|
|
|
一些澄清的#定义:与PSoCs无关,但潜在的keil编译。要获得有关预处理最好找臂dp8051 keil编译器的更多信息。
据我所知,你可以使用命令行定义一个符号,但是你不能给它分配一个值。 不要当你想给一个符号的值在#定义使用等号,这似乎是一个错误。 鲍勃 以上来自于百度翻译 以下为原文 Some clarification: The #define has nothing to do with PSoCs, but the underlying Keil compiler. To get more information about the pre-processing it would be best to look for ARM DP8051 Keil compiler. Afaik you may define a symbol using the command line, but you cannot assign it a value. Do not use an equal sign when you want to give a symbol a value in a #define, that seems to be an error. Bob |
|
|
|
所以我做了什么:
我给我的代码添加了一些类似的东西:{如果TestDef==1,有些愚蠢的东西 然后我转到Proj/Bug设置,选择了Keil 9.51/编译器,设置了一个“预处理器定义”,读取“调试”,将它改为“Debug;TestDeF=1”(实际上我打开了这个设置的编辑对话框,并添加了一个新的对话框),我编译并得到了预期的编译错误(缺失)。分号)。当TestEDF更改为2时,它就消失了。编辑器也得到了正确的代码(OK,它告诉我这不是一个有效的二进制表达式,但知道什么代码是活动的,而不是什么)。 以上来自于百度翻译 以下为原文 So what I did:
something silly #ENDIF
|
|
|
|
呸…你确定你没有同样的问题吗?你的评论“好,它告诉我这不是一个有效的二进制表达式”听起来,因为它在你的客户也不工作!
我复制了这些步骤,我认为这肯定是PSoC Creator的一个错误! 1。当我用“正常”方式定义TestayVar时,if查询没有问题,代码不是灰色的。 2。我用正确的方式在构建设置(TooCaCHIN ARM GCC)中定义它(TestValayVal= 1) 三。if查询有一个错误,代码是灰色的,虽然它对于编译器是活动的! 这是个虫子,不是吗????请帮忙!有没有柏树的支持者? PSoClinux 27.5 K PSoSkySture3.3.JPG 42.2 K PSoClinux发行版2.JPG 168.2 K PSoClinux 37 K 以上来自于百度翻译 以下为原文 Pooh... are You sure You don't have the same problem? Your comment "OK, it tells me this is not a valid binary expression" sounds as it doesn't work on Your client too! I reproduced the steps, I think it's definitive a bug in PSoC Creator! 1. When I define the TEST_VAL in "normal" way, the if-query has no problem, the code is NOT gray. 2. I define it in build settings (toolcahin ARM GCC) in correct way (TEST_VAL=1) 3. The if-query has an error, the code is gray although it is active for the compiler! This is a bug or isn't it???? Please help! Is there anywhere a supporter from Cypress?
|
|
|
|
你在PSoC3论坛发布,所以我使用了PSoC3项目。这是使用Keil C编译器。你在使用不同的东西吗?
对我来说,它是有效的:当将值设置为“1”时,我的代码被启用,当将其设置为“2”时,代码变灰了。编译器也同意这一点。这个“二进制表达式”thigy只是IDE的一个警告,它似乎不知道'=='左右。 以上来自于百度翻译 以下为原文 You are posting in the PSoC3 forum, so I used a PSoC3 project. This is using the Keil C compiler. Are you using something different? For me it worked: when setting the value to '1' my code is enabled, when setting it to '2' its grayed out. The compiler also agrees with that. This 'binary expression'thingy is just a warning of the IDE, it seems not to know about '==' or so. |
|
|
|
所以我用PSoC5LP项目再次测试了它,它的工作方式完全相同(一切都很好)。实际的命令行(从构建日志中获取)是这样的:
ARM-非EABI- GCC-M3-MPUP- CORTEX-MG3-MPEN-IGEnEndoDATA源-PSO55-WA,CORTEXM3ARMGCGY943Debug /MIN。LST-G -D调试-D TestDeF=2 -壁函数功能段-O0-FAT ATO对象-STD= GNU11- C.Meal.C.O.CORTEXM3ARMYGCCY943Debug Maul.O IDE警告似乎来自源代码错误检查器,而不是查看生成配置中的γ定义。但是它仍然有效(尽管IDE总是认为αIF总是错误的) 以上来自于百度翻译 以下为原文 So I tested this again with a PSoC5LP project, and it works exactly the same way (and everything is fine). The actual command line (taken from the build log) is this: arm-none-eabi-gcc.exe -mcpu=cortex-m3 -mthumb -Wno-main -I. -IGenerated_SourcePSoC5 -Wa,-alh=.CortexM3ARM_GCC_493Debug/main.lst -g -D DEBUG -D TESTDEF=2 -Wall -ffunction-sections -O0 -ffat-lto-objects -std=gnu11 -c .main.c -o .CortexM3ARM_GCC_493Debugmain.o The IDE warning seems to come from the source code error checker not looking at the #defines in the build config. But it works nonetheless (even though the IDE always thinks the #IF is false always) |
|
|
|
我认为IDE不知道编译器启动的参数。
因此,在显示源时,在IDE中不考虑对定义或设置在命令行上的所有符号的引用。 鲍勃 以上来自于百度翻译 以下为原文 I think, the IDE does not know about parameters given to the compiler start. So all references to symbols defined or set at command line are not taken into account in the IDE when displaying the sources. Bob |
|
|
|
你好,
这个问题将被固定在PSoC创建者4。 以上来自于百度翻译 以下为原文 Hi, This issue will be fixed in PSoC Creator 4.0. |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2105 浏览 1 评论
1851 浏览 1 评论
3669 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1786 浏览 6 评论
1536 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
568浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
423浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
437浏览 2评论
383浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
915浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 12:02 , Processed in 1.211565 second(s), Total 92, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号