Библиотека Компэла


Глава 6.


Реализация шины SMBus на базе микроконтроллера MSP430


 


       
 
 
   


CALL #sbit
CALL tsendzero
CALL #ack
CALL #sbyte
CALL #ack
CALL #pbit
MOV. В #01h,30(SP) ;
POP R13
POP R12
POP Rll
POP RIO
POP R15
POP R14
POP R9
POP R8
POP R7
POP SR
RET  

стека

отправить стартовую

посылку и адрес

отправить «О» для

записи

ждём подтверждения

(АСК)

отправить байт

команды

ждём подтверждения

(АСК)

отправить стоповую посылку возвращает «1» при успешном завершении


 

Протокол «Принять байт»    
Влияние Влияние на регистры: нет на память: стек, максимум байт
Описание Шаг     Направление

старт (start)

адрес (address)

чтение/запись(R/W) из

подтверждение(acknowledge) в

данные (data)

неподтверждение(NACK)

стоп (stop)


из из

в

из

из


Параметры в стеке

Библиотека Компэла


f& Texas iNSiraJMENTS

///. Интерфейс с внешними устройствами

 

; флаг ошибкиеггог flag младшая область памяти
    low mem  
; данные data    
; не используется unused    
; команда command    
; адрес address старшая область памяти
    high mem  
; Пример использования    

PUSH PUSH PUSH SUB

CALL POP

ADD

POP

CMP JZ


#00h #00Bh #08h #04h, SP

#rcbp R8

#06h, SP R9

#00h, R9 error


место для кода ошибки поместить адрес в стек код команды зарезервировать место под принимаемые данные

переместить данные

в R8

вычесть объём

параметров

читать из стека код

ошибки

ошибочное завершение -вызов обработчика ошибок


 


rbp


 

PUSH SR      
PUSH R7      
PUSH R8      
PUSH R9      
PUSH R14      
PUSH R15      
PUSH R1C      
PUSH Rll      
PUSH R12      
PUSH R13      
MOV. В 26 (SP), R8 параметр команды
MOV. В 28 (SP), R7 параметр адреса
CALL #sbit   отправить стартовую
      посыпку и адрес
CALL tsendzero отправить «0» для
      записи RufmunTPKa К

Глава 6.


Реализация шины SMBus на базе микроконтроллера MSP430


 


CALL #ack

CALL CALL

#sbyte #ack

CALL #rsbit

 

CALL #sendone
CALL #ack
CALL #rbyte
CALL #nack
CALL #pbit
MOV. В R14, 22 (SP),
MOV. В #01h, 30 (SP)
POP R13
POP R12
POP Rll
POP R1C
POP R15
POP R14
POP R9
POP R8
POP R7
POP SR
RET  

ждём подтверждения

(ACK)

отправить код команды

ждём подтверждения

(АСК)

отправить повторяющие­ся стартовую посылку и адрес

отправить «1» для чтения ждём подтверждения

(АСК)

принять байт данных отправить неподтверж­дение (NACK) отправить стоповую посылку

копировать байт данных в стек

возвращает «1» при успешном завершении


Протокол «Принять слово» 7

Влияние на регистры: нет

Влияние на память: стек, максимум 40 байт


Описание


Шаг


Направление


 


старт (start) адрес(address)

чтение/запись(R/W) из подтверждение(acknowledge) в