|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 9:15 pm
|
Страница 1 от 1
|
[ 5 мнения ] |
|
| Автор |
Съобщение |
|
Ки4о
Ранг: Форумен бог
Регистриран на: Съб Юли 22, 2006 9:50 pm Мнения: 1638
|
 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> щото в него са дефинирани дези неща?
|
| Чет Апр 26, 2007 4:41 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
Не ти трябват чукорнайсе файла с дефиниции. Махни първия 
|
| Чет Апр 26, 2007 4:59 pm |
|
 |
|
bkulev
Ранг: Популярен
Регистриран на: Сря Яну 25, 2006 12:47 pm Мнения: 305 Местоположение: Varna
|
Аз ползавам Hi-Tech само за 16-те.
Мисля, че Димитър е прав.
Разгледай общия файл pic18.h и виж там как е
дефиниран твоя процесор.
Аз правя така:
#ifndef _16F876A
#define _16F876A // This will include a header file for 16F876A
#endif
#include <pic.h>
и няма проблеми
|
| Пет Апр 27, 2007 9:21 am |
|
 |
|
Ки4о
Ранг: Форумен бог
Регистриран на: Съб Юли 22, 2006 9:50 pm Мнения: 1638
|
Нещо не са го излекували както трябва компилатора.Ползвам 9.61PRO за 18 серия.И да го дефинирам както каза bkulev, пак дава "redefining preprocessor macro "За момента ме спасява :
#ifndef _18F4550
#define _18F4550 // This will include a header file for 18F4550
#endif
#include <pic18f4550.h>
Обикновенно се компилира от втория път.Явно ще трябва да сменя лекарството.
|
| Пет Апр 27, 2007 4:15 pm |
|
 |
|
bkulev
Ранг: Популярен
Регистриран на: Сря Яну 25, 2006 12:47 pm Мнения: 305 Местоположение: Varna
|
Като намериш свястно лекарство, предложи го тук заедно с версията на компилатора.
Много хора ще са ти благодарни, предполагам 
|
| Пет Апр 27, 2007 4:18 pm |
|
|
|
Страница 1 от 1
|
[ 5 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 4 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|