Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

някаква шантава грешка!?!
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=6438
Страница 1 от 1

Автор:  spas92 [ Чет Яну 08, 2009 11:59 pm ]
Заглавие:  някаква шантава грешка!?!

зд

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

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


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

Автор:  plameniv [ Пет Яну 09, 2009 3:04 am ]
Заглавие:  Re: някаква шантава грешка!?!

spas92 написа:
зд

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

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


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

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

Автор:  spas92 [ Пет Яну 09, 2009 9:08 am ]
Заглавие: 

знам че такъв контролер няма
пища си кодовете са за PIC16F84 или PIC16F84А а в протеуса ми изписва точно тази грешка :( :( :(

Автор:  zaphod [ Пет Яну 09, 2009 10:04 am ]
Заглавие: 

ми не ползвай TRISB като инструкция щом ти се казва че е deprecated :)

Автор:  setoy [ Пет Яну 09, 2009 1:20 pm ]
Заглавие: 

Това не би трябвало да е грешка. А само warning. Не му обръщай внимание. Предубреждава, че инструкцията не се препоръчва да се ползва заради съвместимост с по-новите контролери, не че е грешна. Ако държиш все пак да нямаш warning, не трябва да ползваш вградените функции на CCS за работа с портовете. set_tris по-точно

Автор:  plameniv [ Пет Яну 09, 2009 2:12 pm ]
Заглавие: 

spas92 написа:
знам че такъв контролер няма
пища си кодовете са за PIC16F84 или PIC16F84А а в протеуса ми изписва точно тази грешка :( :( :(

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

Автор:  spas92 [ Нед Яну 11, 2009 10:06 pm ]
Заглавие: 

мен въобще не ме притеснява грешката
притеснява ме това че когато ползвам някой пин за вход и когато вече микроконтролера работи сичко е ок докато не чукна на пина за вход
/ подавам му +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

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/