Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

TC1321
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=652
Страница 1 от 1

Автор:  Griffin [ Сря Май 11, 2005 10:48 am ]
Заглавие:  TC1321

Íà íÿêîé äà ìó ñå íàìèðà ïðèìåðåí êîä çà ïîëçâàíå íà TC1321? Íå ìîæàõ äà íàìåðÿ òàêîâà íåùî íèêúäå. Åçèêúò å áåç çíà÷åíèå.

Автор:  Predator_MF [ Сря Май 11, 2005 11:27 am ]
Заглавие: 

Използвай 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, не е пробвано, така че ако не тръгне от раз свиркай 8)

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/