Fast PIC ADC

Do you have a question? Post it now! No Registration Necessary

Threaded View
Приветствую Вас, Andy!

Однажды 17 Июн 04 в 03:15, Andy Pike писал(а) к Vitaliy Romaschenko...

Quoted text here. Click to load it
AP>
AP> Я сделал так:
AP>
AP> #define bp(a) ((UCHAR*)&(a)) // доступ к байту
AP> #define bp0(a) bp(a)[0] // доступ к 0-му байту
AP> #define bp1(a) bp(a)[1] // доступ к 1-му байту
AP> #define bp2(a) bp(a)[2] // доступ ко 2-му байту
AP> #define bp3(a) bp(a)[3] // доступ к 3-му байту
AP>
AP> затем просто:
AP>
AP>     USHORT val;
AP>     bp0(val)AD%RESL;
AP>     bp1(val)AD%RESH;
AP>
AP> и в обратную сторону симметрично.
AP> Компилируется именно как надо, во что-то типа:
AP>
AP>    438  05F0  0827                movf _LBA,w
AP>    439  05F1  00AF                movwf ?_Val
AP>    443  05F4  0828                movf _LBA+1,w
AP>    444  05F5  00AF                movwf ?_Val+1

 Честно скажу, ничего не понял :) Мозги на это даже напpячь не могу, ибо давно
дело было. Когда-нибудь потом пpовеpю, когда фиpмваpь апгpейдить буду... В
любом
случае, спасибо!

С уважением, Виталий.

... -|O|-

Re: Fast PIC ADC
Vitaliy Romaschenko сообщил следующее...

Quoted text here. Click to load it

Я сделал так:

#define bp(a) ((UCHAR*)&(a)) // доступ к байту
#define bp0(a) bp(a)[0] // доступ к 0-му байту
#define bp1(a) bp(a)[1] // доступ к 1-му байту
#define bp2(a) bp(a)[2] // доступ ко 2-му байту
#define bp3(a) bp(a)[3] // доступ к 3-му байту

затем просто:

    USHORT val;
    bp0(val)AD%RESL;
    bp1(val)AD%RESH;

и в обратную сторону симметрично.
Компилируется именно как надо, во что-то типа:

   438  05F0  0827                movf _LBA,w
   439  05F1  00AF                movwf ?_Val
   443  05F4  0828                movf _LBA+1,w
   444  05F5  00AF                movwf ?_Val+1

----
Andy Pike  tech@@@sym.ru  www.sym.ru




Site Timeline