Повесил резисторы 4,7 кОм. Переработал подпрограммы I2C, в PORTB записал нули, сигналом на ножках играюсь, записывая 0 или 1 в DDRB. Но обмен пока не идет

Подскажите пожалуйста, все ли ок в моих подпрограммах?
Код
start_I2C:
cbi ddrB,SDA
cbi ddrB,SCL
rcall wait_I2C
sbi ddrB,SDA
rcall wait_I2C
sbi ddrB,SCL
rcall wait_I2C
ret
Код
Write_I2C:
ldi cnt_I2C,8
wr1_I2C:
sbi ddrB,SDA
rcall wait_I2C
sbrc data_I2C,7
cbi ddrB,SDA
rcall wait_I2C
rol data_I2C
sbi ddrB,SCL
rcall wait_I2C
sbi ddrB,SCL
rcall wait_I2C
dec cnt_I2C
brne wr1_I2C
ret
Код
Read_I2C:
ldi cnt_I2C,8
cbi ddrB,SDA
rcall wait_I2C
rd1_I2C:
cbi ddrB,SCL
rcall wait_I2C
clc
sbic pinB,SDA
sec
rol data_I2C
sbi ddrB,SCL
rcall wait_I2C
dec cnt_I2C
brne rd1_I2C
sbi ddrB,SDA
rcall wait_I2C
ret
Сообщение отредактировал Charoit - Nov 11 2007, 22:13