Отговори на тема  [ 7 мнения ] 
някаква шантава грешка!?! 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Дек 08, 2008 11:37 pm
Мнения: 59
Мнение някаква шантава грешка!?!
зд

вече понаписах няколко кода на ССS и ги тествам на протеус и ми дава винаги една и съща грешка...

Код:
[PIC16 CORE] PC=0x0053.TRISB instruction is deprecated for PIC1684.


потърсих да видим чичко google да каже нещо по въпроса но не помогна...


Чет Яну 08, 2009 11:59 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение Re: някаква шантава грешка!?!
spas92 написа:
зд

вече понаписах няколко кода на ССS и ги тествам на протеус и ми дава винаги една и съща грешка...

Код:
[PIC16 CORE] PC=0x0053.TRISB instruction is deprecated for PIC1684.


потърсих да видим чичко google да каже нещо по въпроса но не помогна...

То няма такъв контролер PIC1684 нещо си забравил да сложиш, я пробвай с такъв модел PIC16C84 или PIC16F84A :)

_________________
Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !


Пет Яну 09, 2009 3:04 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Дек 08, 2008 11:37 pm
Мнения: 59
Мнение 
знам че такъв контролер няма
пища си кодовете са за PIC16F84 или PIC16F84А а в протеуса ми изписва точно тази грешка :( :( :(


Пет Яну 09, 2009 9:08 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
ми не ползвай TRISB като инструкция щом ти се казва че е deprecated :)


Пет Яну 09, 2009 10:04 am
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Фев 17, 2006 9:17 am
Мнения: 765
Местоположение: Стара Загора
Мнение 
Това не би трябвало да е грешка. А само warning. Не му обръщай внимание. Предубреждава, че инструкцията не се препоръчва да се ползва заради съвместимост с по-новите контролери, не че е грешна. Ако държиш все пак да нямаш warning, не трябва да ползваш вградените функции на CCS за работа с портовете. set_tris по-точно


Пет Яну 09, 2009 1:20 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение 
spas92 написа:
знам че такъв контролер няма
пища си кодовете са за PIC16F84 или PIC16F84А а в протеуса ми изписва точно тази грешка :( :( :(

Някъде си направил грешка в настройките и си пропуснал буквата между числата и затова я имаш тази грешка. Порови се из менютата на програмата или в началото на кода където се инициализира модела на контролера и виж дали не липсва буквата !

_________________
Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !


Пет Яну 09, 2009 2:12 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Дек 08, 2008 11:37 pm
Мнения: 59
Мнение 
мен въобще не ме притеснява грешката
притеснява ме това че когато ползвам някой пин за вход и когато вече микроконтролера работи сичко е ок докато не чукна на пина за вход
/ подавам му +3в с едно съпротивление за да огранича тока/

в този момент контолера зацикля и след момент тръгва и изпълнява всичко както трябва

ето това е кода
п.п.
направих го с if , не ми се пишеше със switch


Код:
#include <16F84A.h>
#fuses HS,NOWDT,NOPROTECT,PUT
#use fast_io (A)
#use fast_io (B)
#use delay(clock=7310000)
#define B_TRIS   0b00000000
#define A_TRIS   0b00011111
void main()
{
int p1,p2,p3,p4,p5,k,np;
SET_TRIS_A(A_TRIS);
SET_TRIS_B(B_TRIS);
p1=0;
p2=0;
p3=0;
p4=0;
p5=0;
k=0;
np=1;
do {
k = input (43);
if(k==1)
{
while (k==1){
k = input (43);
}

if(np==5)
{
np=1;
}else{
np=np+1;
}
}

//programa1
if(np==1)
{

if(p1==0)output_b(16);
if(p1==1)output_b(8);
if(p1==2)output_b(4);
if(p1==3)output_b(2);
if(p1==4)output_b(4);
if(p1==5)output_b(8);
delay_ms(100);
if(p1==5){
p1=0;
}else{
p1=p1+1;
}
}

//programa2
if(np==2)
{
if(p2==0)output_b(30);
if(p2==1)output_b(0);
delay_ms(100);
if(p2==1)
{
p2=0;
}else{
p2=1;
}
}



//programa3
if(np==3)
{
if(p3==0)output_b(6);
if(p3==1)output_b(24);
delay_ms(100);
if(p3==1)
{
p3=0;
}else{
p3=1;
}
}

//programa4

if(np==4)
{
if(p4==0)output_b(0);
if(p4==1)output_b(2);
if(p4==2)output_b(6);
if(p4==3)output_b(14);
if(p4==4)output_b(30);
if(p4==5)output_b(28);
if(p4==6)output_b(24);
if(p4==7)output_b(16);
delay_ms(100);
if(p4==7)
{
p4=0;
}else{
p4=p4+1;
}
}

//programa5
if(np==5)
{
if(p5==0)output_b(18);
if(p5==1)output_b(12);
delay_ms(100);
if(p5==1)
{
p5=0;
}else{
p5=1;
}
}

} while (1);

}


edit:
това е програма за мигане на 4 светодиода на пиновете от pin_B1 до pin_B4


Нед Яну 11, 2009 10:06 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 7 мнения ] 

Кой е на линия

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


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

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