С код (Tesitng хардуерен време)

G

Guest

Guest
Здравей ..

Всеки може да ми помогне да се обяснява високата точка светлина, защо ако пуснати (TF0 = 1) състоянието и какви са целите, за това?

-------------------------------------------------- ------------------------------------
# включват "main.h"

# определят T_50ms (65536 - (tWord) (OSC_FREQ / (OSC_PER_INST * 20)))
# определят T_50ms_H (T_50ms/256)
# определят T_50ms_L (T_50ms% 256)

/ / Прототипа на функция
нищожен Test_50ms (Void);

/ / TIMEOUT код променлива & TIMEOUT код (сляпо тук)
# определят TIMEOUT 0xFF
tByte Error_code_G;

нищожен основни (Void)
(
докато (1)
(
Test_50ms ();
)
)

нищожен Test_50ms (Void)
(
ТМСШ = & 0xF0;
ТМСШ | = 0x01;

ET0 = 0;

ТН0 = T_50ms_H;
TL0 = T_50ms_L;
TF0 = 0;
TR0 = 1;

време (! TF0); / / същото време (TF0 == 0)

TR0 = 0;

/ / Обикновено трябва да докладва изчакване Допълнително време
/ / (този тест е за демо цели тук)

IF (TF0 = 1)(/ / Операция във времето сеError_code_G = TIMEOUT;)

)

-------------------------------------------------- ------------------------------------

Благодаря Ти ..

 
АД

[цитирам = "Помощ"]

IF (TF0 = 1)(/ / Операция във времето сеError_code_G = TIMEOUT;)

)

-------------------------------------------------- ------------------------------------

то само за индикация за потребителя да се каже Здравей, че таймерът е нагоре, както при
TF0 = 1;
позволявам
Error_code_G = TIMEOUT;

това винаги emultor процес или за отстраняване на грешки, както при спиране на ф ф операция може да проверите променлива на Error_code_G == TIMEOUT ако да то означава, че е над 50ms, ако то не означава, че бариерата е все още преброяване

 
Вие не включва информация, TF0 обяснява какво е, така че е трудно да познаете защо код е написан по този начин.Това със сигурност изглежда странно да чакам за TF0 да стане не е нула, а след това го поставям към 1 в едно "ако" условно.Може би трябва да се ", ако (TF0 == 1)", а не, но дори и това изглежда съмнително.

 
HI ahm_hassaan & echo47

Hihi ... ... За съжаление, тя трябва да се

Код:

IF (TF0 == 1)

(

/ / Операция във времето се

Error_code_G = TIMEOUT;

)
 
Код:

IF (TF0 == 1)

(

/ / Операция във времето се

Error_code_G = TIMEOUT;

)
 
ahm_hassaan написа:Код:

IF (TF0 == 1)

(

/ / Операция във времето се

Error_code_G = TIMEOUT;

)
 
Код:

IF (TF0 == 1)

(

/ / Операция във времето се

Error_code_G = TIMEOUT;

)
 
Здравей ..

Какво искаш да кажеш "ако този код изпълнява, ще се спирам."

.
.
IF (TF0 == 1)
(
/ / Операция във времето сеError_code_G = TIMEOUT; // insert breakpoint here

| |
Error_code_G = TIMEOUT / / посочете преКъсване тук
)
)
.
.
1 time 2 time and so on..., then program still can continue running!!!

Какво се случва, докато достигне тази линия и скърцане стъпка в
1 път 2 време и така нататък ..., след това програмата все още могат да продължат да вървят!

Благодаря Ти ..

 

Welcome to EDABoard.com

Sponsor

Back
Top