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


данные и АСК повторяются п раз
неподтверждение(NACK) из

стоп (stop) из

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


       
 
   
 

счётчик байт byte count указатель блока block pointer команда command

флаг ошибкиеггог_йад

команда адрес

command address


младшая область памяти low mem

старшая область памяти high mem


Пример использования


       
 
 
   


PUSH #00h
PUSH #00Bh
PUSH #0020h
PUSH #00550h
PUSH #00h
CALL #blkr
POP R1C
ADD #06h, SP
POP R9
CMP #00h, R9
JZ error

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

зарезервировать байт под счётчик

переместить счётчик в R10

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

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


blkr

 

PUSH SR
PUSH R7
PUSH R8
PUSH R9
PUSH R14
PUSH R15
PUSH R1C
PUSH Rll
PUSH R12