PL обясним това на мен (89s52 в код)

L

lgeorge123

Guest
Имам следния код от някъде и се опита да прехвърли на PIC18F452 така че аз трябва да разберат код на челно място.
нищожен WriteByte ()
(
uchar к;
за (к = 0; к <8; K )
(
DAT = DAT <<1;
R1 = Кипър;
R2 = 1;
CLK = 0;
CLK = 1;
)
)

Предполагам, че кодът е прехвърляне на 7-ми малко DAT към R1, докато всички DAT бъде направено, аз съм прав ли съм????

 
Мисля, че "Кипър" е 89s52's извършват флаг,
R1, така получи всички "DAT" бита (от MSB на LSB)

whe, защото може да се предположи
DAT <<1 смяна на MSB малко да се извършват Absolutly, но това не е преносим,
това е 89s52 или съставител трик

Трябва да се разгледа генерирания код
за да видите дали това може да работи с PIC18F

 
Вие може да постигне същия резултат, използването на този код фрагмент.

Код:uchar к;

uchar DAT;за (к = 0; к <8; K ) / * MSB първия * /

(

DATA_OUT = ((DAT <<к) & 0x80U)?
1: 0;CLOCK = 0;

CLOCK = 1;

)

 

Welcome to EDABoard.com

Sponsor

Back
Top