Отговори на тема  [ 5 мнения ] 
помощ с първата ми програмка 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Юни 23, 2006 6:54 pm
Мнения: 15
Мнение помощ с първата ми програмка
Здравйте
опитвам се да напиша първата си програмка на С за пик18(следвам съветите и ще се пробам на светодиод първо :)

ето докъде съм в момента

#if defined(_PCB_)
#include <18F452.h>
#device PIC18F452
#include <stdio.h>

#fuses HS,NOPROTECT,NOWDT

#use delay (clock=10000000)

#endif
#device PIC18F452 *=8 ADC=10

#define PIN_A3 43


void flash_led() {

output_low (PIN_A3);
delay_ms( 500 );
output_high(PIN_A3);
delay_ms(500);
}

обаче проблема е че на delay_ms ми дава грешка UNDEFINED IDENTIFIER .като напиша delay_cycles() не изкарва грешка ,но когато сложа _ms или _us неще. :(
хелп плс. [/img]


Нед Юни 25, 2006 12:37 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Код:
#include <18F452.h> // <-- Тук е дефинирано #Device PIC18F452 ,както и пиновете (например PIN_A3)
//#include <stdio.h>
#fuses HS,NOPROTECT,NOWDT
#use delay (clock=10000000)

void flash_led() {
output_low(PIN_A3);
delay_ms(500);
output_high(PIN_A3);
delay_ms(500);
}

void main(void)
{flash led();
}


Проблема ти идва от това "#if defined(_PCB_)", ето защо:
CCS Manual написа:
The PCB, PCM and PCH are separate compilers. PCB is for 12 bit opcodes, PCM is for 14 bit opcodes and PCH is for the 16 and 18 bit PICmicro® MCU.

Тоест, _PCB_ не е дефинирано, защото пишеш за PCH (H = Hi-range) чип, следователно всичко, което е между #ifdefined и #endif остава некомпилирано, в случая това #use delay... :)


Нед Юни 25, 2006 1:47 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Юни 23, 2006 6:54 pm
Мнения: 15
Мнение :)
мерси много
компилира се сега но само ако сложа 16ф877 (понеже и такъв си взех)
но ако сложа 18ф452 ми изкарва unknown device type "18f452" ;това пък защо е ? (при положение че го има в папката devices на PICC-to)


Нед Юни 25, 2006 2:16 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
При мен работи, нещо бъркаш при създаване на проекта. Имаш ли Project Wizard в меню Project >> Wizard ? Ako имаш, ползвай него за създаване на нов проект


Нед Юни 25, 2006 4:33 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Фев 17, 2006 9:17 am
Мнения: 765
Местоположение: Стара Загора
Мнение 
*=8 - направи го на 16, иначе стават проблеми, дори и нито един указател да не ползваш.

#define PIN_A3 43 - това какъв му е смисъла въобще?? Това го има в хедър файла и бездруго.

И въобще не виждам смисъл от условното компилиране в твоя случай.


Пон Юни 26, 2006 10:21 am
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 5 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни