| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Hi Tech C и *.Н файл http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=4112 |
Страница 1 от 1 |
| Автор: | Ки4о [ Чет Апр 26, 2007 4:41 pm ] |
| Заглавие: | Hi Tech C и *.Н файл |
Продължавайки упорито да тормозя компилатора(и себе си) стирнах до следната ситуация: #define XTAL_FREQ 36MHZ #include <pic18.h> #include <math.h> #include <stdlib.h> #include <pic18f4550.h> __CONFIG(1,HS & FCMDIS & IESODIS); __CONFIG(2,VREGDIS & PWRTDIS & BORDIS & WDTDIS & WDTPS32K); __CONFIG(3,CCP2RC1 & PBADDIS & LPT1DIS & MCLREN); __CONFIG(4,STVREN & LVPDIS & XINSTDIS & DEBUGDIS & ICPORTDIS); __CONFIG(5,UNPROTECT); __CONFIG(6,UNPROTECT); __CONFIG(7,UNPROTECT); void main() { Init(); while(1) //Loop Forever { } } void Init(void) { PORTA = 0; TRISA = 0b00101101; // Set RA4 and RA2 as outputs PORTC = 0; TRISC = 0b00000011; // Set RC0 and RC1 as inputs, rest outputs CMCON = 0b00000111; // Disable the comparator IRCF0 = 1; // Used to set intrc speed to 8 MHz IRCF1 = 1; // Used to set intrc speed to 8 MHz IRCF2 = 1; // Used to set intrc speed to 8 MHz CCP1CON = 0b01001100; // Full bridge PWM forward ECCPAS = 0; PR2 = 0x3F; // Sets PWM Period at 31.2 kHz T2CON = 0; // TMR2 Off with no prescale CCPR1L = 0; // Sets Duty Cycle to zero TMR2ON = 1; // Start Timer2 ANSEL = 0b00110101; // Configure AN0,AN2,AN4 and AN5 as analog VCFG = 0; // Use Vdd as Ref ADFM = 1; // Right justified A/D result ADCS0 = 1; // 16 TOSC prescale ADCS1 = 0; ADCS2 = 1; CHS0 = 0; // Channel select AN0 CHS1 = 0; CHS2 = 0; ADON = 1; //Turn A/D on ei(); // enable IRQ } void interrupt Isr() { // IRQ program } Когато го компилирам ми дава следните грешки: Error[111] C:\Program Files\HI-TECH Software\PICC-18\9.50\include\pic18f4550.h 977 : redefining preprocessor macro "STVREN" Error[111] C:\Program Files\HI-TECH Software\PICC-18\9.50\include\pic18f4550.h 978 : redefining preprocessor macro "STVRDIS" Error[111] C:\Program Files\HI-TECH Software\PICC-18\9.50\include\pic18f4550.h 980 : redefining preprocessor macro "LVPEN" Error[111] C:\Program Files\HI-TECH Software\PICC-18\9.50\include\pic18f4550.h 981 : redefining preprocessor macro "LVPDIS" Error[111] C:\Program Files\HI-TECH Software\PICC-18\9.50\include\pic18f4550.h 983 : redefining preprocessor macro "ICPORTEN" Error[111] C:\Program Files\HI-TECH Software\PICC-18\9.50\include\pic18f4550.h 984 : redefining preprocessor macro "ICPORTDIS" Error[111] C:\Program Files\HI-TECH Software\PICC-18\9.50\include\pic18f4550.h 986 : redefining preprocessor macro "DEBUGDIS" Error[111] C:\Program Files\HI-TECH Software\PICC-18\9.50\include\pic18f4550.h 987 : redefining preprocessor macro "DEBUGEN" От къде по дяволите се предефинира? И как се ползват файловете <pic_xxx_.h> в Hi-Tech компилатора?Ако искам да използвам дадено име на бит примерно TMR0ON,всеки път ли трябва да се дефинира static bit TMR0ON @ ((unsigned)&T0CON*8+0); и става едно писане.....Та как се ползва <pic18f4550.h> щото в него са дефинирани дези неща? |
|
| Автор: | Dimitar [ Чет Апр 26, 2007 4:59 pm ] | |||||||||
| Заглавие: | ||||||||||
Не ти трябват чукорнайсе файла с дефиниции. Махни първия |
||||||||||
| Автор: | bkulev [ Пет Апр 27, 2007 9:21 am ] |
| Заглавие: | |
Аз ползавам Hi-Tech само за 16-те. Мисля, че Димитър е прав. Разгледай общия файл pic18.h и виж там как е дефиниран твоя процесор. Аз правя така: #ifndef _16F876A #define _16F876A // This will include a header file for 16F876A #endif #include <pic.h> и няма проблеми |
|
| Автор: | Ки4о [ Пет Апр 27, 2007 4:15 pm ] |
| Заглавие: | |
Нещо не са го излекували както трябва компилатора.Ползвам 9.61PRO за 18 серия.И да го дефинирам както каза bkulev, пак дава "redefining preprocessor macro "За момента ме спасява : #ifndef _18F4550 #define _18F4550 // This will include a header file for 18F4550 #endif #include <pic18f4550.h> Обикновенно се компилира от втория път.Явно ще трябва да сменя лекарството. |
|
| Автор: | bkulev [ Пет Апр 27, 2007 4:18 pm ] |
| Заглавие: | |
Като намериш свястно лекарство, предложи го тук заедно с версията на компилатора. Много хора ще са ти благодарни, предполагам |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|