elCreator (20.11.2008 04:34, просмотров: 3548)
Кто работал с I2C в CodeVision AVR, как инициализировать шину на определенную частоту? Управляю регулятором громкости TEA6320, в даташите описана последовательность:
1. S = START condition.
2. SLAVE ADDRESS (MAD) = 1000 0000.
3. A = acknowledge, generated by the slave.
4. SUBADDRESS (в моем случае 0000 0000)
5. DATA (в моем случае 0011 1111)
6. P = STOP condition.
Пишу вот как:
#asm
.equ __i2c_port=0x12 ;PORTD
.equ __sda_bit=2
.equ __scl_bit=3
#endasm
#include <i2c.h>
//===//
i2c_init();
//===//
i2c_start();
i2c_write(0b10000000);
i2c_read(1);
i2c_write(0b00000000);
i2c_read(1);
i2c_write(0b00111111);
i2c_read(1);
i2c_stop();
В чем может быть ошибка, подскажите пожалуйста.