Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
Използвай CCS (заради готовите I2C функции).
Код:
#define TC_Address 0x90 // I2C адреса на TC1321 #define TC_Config 0x01 #define TC_Data 0x00 void Init_TC1321() // стартира TC1321 DAC-а (ако е в Stand-by) { i2c_start(); i2c_write(TC_Address);// i2c_write(TC_Config); // i2c_write(0x00);// Нулиране на целия CONFIG регистър (бит0 е Stand-By) i2c_stop(); }
void Set_ADC(unsigned int16 Value)// { i2c_start(); i2c_write(TC_Address); i2c_write(TC_Data); //Ше пишем в Data Регистъра i2c_write((int8)Value>>2);//Старшия разряд на DATA регистъра, според PDF-a i2c_write((int8)Value<<5);Младшия разряд i2c_stop(); }
void TC1321_Sleep() {i2c_start(); i2c_write(TC_Address); i2c_write(TC_Config); //Следва писане в Cofing регистъра i2c_write(0x01); //Ако запишеш 1 в бит0 на Config-регистъра DAC-a влиза в Stand-by, ако искаш да го върнеш в работен режим използвай Init_TC1321() :) i2c_stop(); }
Това го измилсих доку що четейки PDF-a, не е пробвано, така че ако не тръгне от раз свиркай
Потребители разглеждащи този форум: 0 регистрирани и 7 госта
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл