Микроконтроллеры | Ошибки при компиляции - прошу помочь ! |
|
---|---|---|
Проблема с компиляцией данной программы. Выдаются следующие ошибки: Error [372] C:\PROJEKTY\PIC\OSC\DELAY.C; 35.22 "," expected Может кто пояснит. В Си я ноль полный, а надо программу (чужую) откомпилировать. Очень например мне непонятно почему в *.C и в *.H файле - подпрограмма DelayUs определена получается дважды, но если закомментировать один из вариантов (ассемблерный) то ошибок не буден, но при компиляции всей программы имеем в числе прочего : Error [1098] C:\PROJEKTY\PIC\OSC\LCD3310.C; 196. conflicting declarations for variable "_DelayMs" (C:\PROJEKTY\PIC\OSC\DELAY.C:13) Error [237] C:\PROJEKTY\PIC\OSC\delay.c; 13. function "_DelayMs" redefined Но копий вроде больше нет .... проверял |
|
|
Компилятор HI-TEC PIC18 V9.51 PRO , оболочка MPLab IDE v8.15 Прикреплен include для предыдущего файла |
|
|
см в топике "Ликбез" |
|
|
А как определить ? В модуле Delay.C есть 2 функции Delayms и Delayus, которые вызываются из все остальных модулей. |
|
|
Вот часть кода LCD3310.c void LcdInit ( void ) // Pull-up on reset pin. // Set output bits on port B. // Toggle display reset pin. // Enable SPI port: No interrupt, MSBit first, Master mode, CPOL->0, CPHA->0, Clk/4 // Disable LCD controller LcdSend( 0x21, LCD_CMD ); // LCD Extended Commands. // Reset watermark pointers. LcdClear(); Просто вызов подпрограммы ... |
|
|
выложи реализацию delayев из delay.c и из 3310.c сравним. если одинаковые - выкинем один, если разные - сделаем, чтоб не мешали друг-другу |
|
|
Вот заголовок LCD3310.C #include <pic18.h> /** S P I : Chip Select Lines ***************************************/ #define tris_LCD_CE_PIN TRISB4 // Output #define tris_LCD_RST_PIN TRISB3 // Output #define tris_LCD_DC_PIN TRISB5 // Output #define SPI_MISO_PIN LATB6 #define SPI_CLK_PIN LATB7 #define byte unsigned char #define TRUE 1 #define LCD_X_RES 84 #define PIXEL_OFF 0 #define LcdCmdData byte void LcdSend ( byte data, LcdCmdData cd ); This table defines the standard ASCII characters in a 5x7 dot format. Далее идёт знакогенератор. /*-------------------------------------------------------------------------------------------------- static int LcdCacheIdx; А вызовы функции DELAYMS - выше кусок. |
|
|
Строку #include < pic18.h > из LCD3310.C уберите, оставьте только в хедере |
|
|
Так мало ? Буду завтра пробывать. |
|
|
|
||
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |