Я хочу сделать i2c slave - эмулятор eeprom.
Нужно чтобы цена микросхемы была меньше 1$
В AVR я новичок. Взял tiny15.
Вот что получилось: (Мой Ack в красном кружочке)
mc_OSC_00.bmp ( 175.63 килобайт )
Кол-во скачиваний: 87Записал в OSCCAL 0xff, стало лучше:
mc_OSC_ff.bmp ( 151.47 килобайт )
Кол-во скачиваний: 80Можно ещё как-то ускорить?
Может взять другой микроконтроллер?
Частота SCL 100kHz.
Программа:
Код
.NOLIST
.include "./inc/tn15def.inc"
.LIST
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.equ SDA=1
.equ SCL=3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.macro wait_SCL_down
sbic PINB, SCL
rjmp PC-1
.endmacro
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.macro wait_SCL_up
sbis PINB, SCL
rjmp PC-1
.endmacro
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LDI r31, 0xff
OUT OSCCAL, r31
wait_SCL_down
wait_SCL_up
wait_SCL_down
wait_SCL_up
wait_SCL_down
wait_SCL_up
wait_SCL_down
wait_SCL_up
wait_SCL_down
wait_SCL_up
wait_SCL_down
wait_SCL_up
wait_SCL_down
wait_SCL_up
wait_SCL_down
wait_SCL_up
;
wait_SCL_down
sbi DDRB, SDA
wait_SCL_up
wait_SCL_down
cbi DDRB, SDA
;
rjmp PC