| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #include "TEA5767_main.h"
- #include "Delay.h"
- void iic_start ( void )
- {
- TEA5767_SDA = 1;
- delay_us ( 4 );
- TEA5767_SCL = 1;
- delay_us ( 4 );
- TEA5767_SDA = 0;
- delay_us ( 4 );
- TEA5767_SCL = 0;
- delay_us ( 4 );
- }
- void iic_stop ( void )
- {
- TEA5767_SCL = 0;
- delay_us ( 4 );
- TEA5767_SDA = 0;
- delay_us ( 4 );
- TEA5767_SCL = 1;
- delay_us ( 4 );
- TEA5767_SDA = 1;
- delay_us ( 4 );
- }
- void iic_ack ( void )
- {
- TEA5767_SDA = 0;
- delay_us ( 4 );
- TEA5767_SCL = 1;
- delay_us ( 4 );
- TEA5767_SCL = 0;
- delay_us ( 4 );
- TEA5767_SDA = 1;
- delay_us ( 4 );
- }
- /*void iic_NoAck()
- {
- TEA5767_SDA=1;
- delay_us(4);
- TEA5767_SCL=1;
- delay_us(4);
- TEA5767_SCL=0;
- delay_us(4);
- TEA5767_SDA=0;
- }*/
- bool iic_testack ( void )
- {
- bool ErrorBit;
- TEA5767_SDA = 1;
- delay_us ( 4 );
- TEA5767_SCL = 1;
- delay_us ( 4 );
- ErrorBit = TEA5767_SDA_VALUE;
- delay_us ( 4 );
- TEA5767_SCL = 0;
- return ErrorBit;
- }
- void iic_write8bit ( unsigned char input )
- {
- unsigned char temp;
- for ( temp = 8; temp != 0; temp-- )
- {
- TEA5767_SDA = ( bool ) ( input & 0x80 );
- delay_us ( 4 );
- TEA5767_SCL = 1;
- delay_us ( 4 );
- TEA5767_SCL = 0;
- delay_us ( 4 );
- input = input << 1;
- }
- }
- unsigned char iic_read8bit ( void )
- {
- unsigned char temp, rbyte = 0;
- for ( temp = 8; temp != 0; temp-- )
- {
- TEA5767_SCL = 1;
- delay_us ( 4 );
- rbyte = rbyte << 1;
- rbyte = rbyte | ( ( unsigned char ) TEA5767_SDA_VALUE );
- TEA5767_SCL = 0;
- }
- return rbyte;
- }
|