T
tyassin
Guest
Здрасти
Аз правя някои прости упражнения и много нови за MCU.Все пак имам проблем с много проста C код (вж. по-долу).
Кодът е supossed до четири часа светлина светодиоди за PICkit да разчита 1,2,4,8.Това трябва да светне светодиодите в последователност, един по един.
Това обаче работи само, когато има "забавяне", равна на 5 или по-малко.Ако имам "забавяне" на кажем 500 тогава само първите LED (RC0) е осветена.Останалите резултати са нула.В "msecbase" функция, трябва да 1ms забавяне.В PIC е 16F690.
Код:# включват <pic.h>
__config (INTIO & WDTDIS & MCLRDIS & UNPROTECT);неподписан кратко забавяне = 7;
недействителни пауза (неподписан кратко msvalue);
недействителни msecbase (нищожна);Основната ()
(
Ансел = 0;
CM1CON0 = 0;
CM2CON0 = 0;
PORTC = 0x00;
TRISC = 0x00;
докато (1 == 1)
(
INT X;
за (х = 1; х <9; х = х * 2)
(
PORTC = X;
пауза (закъснение);
)
)
)недействителни пауза (неподписан кратко msvalue)
(
неподписан кратко Y;
за (Y = 0; Y <= msvalue; Y )
(
msecbase ();
)
)недействителни msecbase (недействителни)
(
ОПЦИЯ = 0b00000001;
TMR0 = 0xD;
докато (! T0IF);
T0IF = 0;
)
Аз правя някои прости упражнения и много нови за MCU.Все пак имам проблем с много проста C код (вж. по-долу).
Кодът е supossed до четири часа светлина светодиоди за PICkit да разчита 1,2,4,8.Това трябва да светне светодиодите в последователност, един по един.
Това обаче работи само, когато има "забавяне", равна на 5 или по-малко.Ако имам "забавяне" на кажем 500 тогава само първите LED (RC0) е осветена.Останалите резултати са нула.В "msecbase" функция, трябва да 1ms забавяне.В PIC е 16F690.
Код:# включват <pic.h>
__config (INTIO & WDTDIS & MCLRDIS & UNPROTECT);неподписан кратко забавяне = 7;
недействителни пауза (неподписан кратко msvalue);
недействителни msecbase (нищожна);Основната ()
(
Ансел = 0;
CM1CON0 = 0;
CM2CON0 = 0;
PORTC = 0x00;
TRISC = 0x00;
докато (1 == 1)
(
INT X;
за (х = 1; х <9; х = х * 2)
(
PORTC = X;
пауза (закъснение);
)
)
)недействителни пауза (неподписан кратко msvalue)
(
неподписан кратко Y;
за (Y = 0; Y <= msvalue; Y )
(
msecbase ();
)
)недействителни msecbase (недействителни)
(
ОПЦИЯ = 0b00000001;
TMR0 = 0xD;
докато (! T0IF);
T0IF = 0;
)