c18

    2热度

    1回答

    好的,我一直试图通过我自己很久解决这个问题,现在我放弃了。我搜遍了所有的网站,直到我无法忍受,我需要帮助! 我读了整个“C18编译器用户指南”,它说C18支持使用大小超过256字节的堆栈。但是我做了他们所要求的所有内容,更改了链接器脚本并使用了多银行堆栈模型编译器选项(-ls),并且在堆栈的第一个银行被填充后仍然有访问变量的问题。 我调试了一个简单的代码,它简单地调用一个函数递归。该函数有5个浮点

    0热度

    1回答

    我已经存储在EEPROM 阵列与{0,0,0,0,1,1,1 ...}开始直到从地址54个元素个“0'地址” 53',我已经交叉检查了值,一切都很好。 但是当我采用了“搜索功能”和我已经通过了“0”作为参数,因为它从第0地址搜索。 无符号字符搜索(炭的current_time) { unsigned int loopcnt = 0; unsigned

    1热度

    1回答

    尝试编译此宏时出现语法错误。我必须使用宏,因为C18不支持函数内联。使用常规函数调用会导致编译器有更大的ISR开销(通常大约有10个汇编指令,函数调用它变为50)。 我查过了,没有尾随空格。 #define INCREMENT_IDX(puIdx,uMax) uMax--;\ if (*puIdx <= uMax)\ {\

    2热度

    2回答

    我想进一步了解XC8 & C18编译器的区别。 我知道XC8是所有8位微控制器控制器的最新编译器。例如PIC16F,PIC18F。 C18是PIC18产品的编译器。对于C18,PIC18系列包括PIC18F和PIC18C,是吗? 我看到XC8是比C18更进一步的版本。这是否意味着XC8也可以编译以前由C18编译的全部/部分代码。如果不是,应该是什么。 顺便说一句,目前(天)我正在寻找关于PIC18

    3热度

    1回答

    我正在寻找一种方法,使使用C18编译器使用C Jalv2状的准变量。伪变量就像一个变量,但实际上是一个函数。 在Jalv2,有可能使这样的伪变量: function the_var'get() return byte is -- some code end function procedure the_var'set(byte in value) is -- some c

    0热度

    2回答

    有没有办法让C18编译器在编译期间抛出自己的自定义错误消息? 例如,考虑以下情况,有两个用户自定义设置: #define SETTING_A 0x80 #define SETTING_B 0x3f 假设这些设置不能都0x00。当用户将两个设置都设置为0x00时,是否有办法让编译器抛出错误(或至少是警告)?

    2热度

    2回答

    我有时会看到这样一个C程序(我使用的是C18编译器): unsigned char someValue = getSomeDataFromSomewhere(); if (someValue) { doStuff(); } else { doOtherStuff(); } 我知道当你给一个if环(在C18编译器unsigned)一个布尔值会发生什么,但会发生什么当你把

    2热度

    1回答

    我正在使用Microchip的C18编译器编译我的C代码。我在此代码得到一个警告[2054] suspicious pointer conversion: unsigned char ENC_MAADR1 = 0x65; unsigned char ENC_ReadRegister(unsigned char address); // ... puts(ENC_ReadRegister(EN

    0热度

    1回答

    我经常看到的编译器相关的代码下面几行: #if defined(__18CXX) ... #endif 和 #if (defined(__PCB__) || defined(__PCH__) || defined(__PCM__)) ... #endif 我怎么能知道每个人的意义?

    0热度

    1回答

    如果你的专家使用C18编译器可以给我一个关于我在做什么错误的指针,我将不胜感激。为了熟悉我开始了一个简单的温度计项目: - NTC热敏电阻 - > 18F2520 - > HD44780。 获得链调试并生成代码以转换AN0输入电压后,2.5V中等范围= 10000欧姆,包括所需的例程以将T℃加载到LCD上。 上面是光秃秃的骨头,但很好地生成了每秒TºC的新LCD显示。 下一步是成为多一点sofhi