Понял, спасибо. Просто привык что на 51х частота сразу есть.
Прошил программатором AS-4. Подёргал ножки, вроде ОК.
Теперь попробую реализовать SPI master.
Нашёл код:
Код
.include"C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\tn2313def.inc"
Main:
ldi r16, 0b11000101
rcall SPITransfer
rjmp Main
SPITransfer:
out USIDR,r16;пишем байт в регистр данных USI
ldi r16,(1<<USIOIF);сбрасываем бит переполнения
out USISR,r16;счетчика USI
ldi r16,(1<<USIWM0)|(1<<USICS1)|(1<<USICLK)|(1<<USITC);конфигурация USI:
;-режим SPI (бит USIWM0)
;-программное тактирование (бит USICS1)
;-сдвиг регистра данных (1 в USICLK)
;-переключение линии CLK (1 в USITC)
SPITransfer_loop:
out USICR,r16;запись в регистр управления USI, сдвиг регистра данных, переключение CLK
sbis USISR,USIOIF;проверка переполнения счетчика USI
rjmp SPITransfer_loop;переход если нет
in r16,USIDR;если да, читаем что пришло по SPI
ret;возврат из подпрограммы
чуть доработал и я так понимаю, что на выходе SPI должен идти код в цикле.
Сообщение отредактировал Sanchello - May 18 2011, 12:58