Глава 6. |
Реализация шины SMBus на базе микроконтроллера MSP430
CALL | #pbit ; отправить стоповую |
; посылку | |
MOV. В | #01h, 30(SP) ; возвращает «1» при |
; успешном завершении | |
POP | R13 |
POP | R12 |
POP | R11 |
POP | R1C |
POP | R15 |
POP | R14 |
POP | R9 |
POP | R8 |
POP | R7 |
POP | SR |
RET | |
. ****************** | *********************************** |
Подпрограммы нижнего уровня, общие для всех протоколов *****************************************************
*****************************************************
отправка стартовой последовательности и адреса *****************************************************
sbit ; «отпустить» обе линии
BIC.B #DNC, DIR ; проверка освобождения шины
MOV #05h, R1C
wait |
счётчик на 50 микросекунд
MOV.В IN, Rll |
копировать состояние
входов в R11
AND | #DNC, | Rll |
CMP | #DNC, | Rll |
JNZ | busy | |
DEC | RIO | |
JNZ | wait | |
BIC.B | #DNC, | DIR |
маска входов
если линии SDA или
SCL в лог. «0»то шина
занята
декремент счётчика
rsbit
дополнительное освобождение линии с целью использования этой же подпрограммы для команды повторяющегося старта отправка стартовой последовательности
Библиотека Компэла
f& Texas