Nikolai Trushnikov / LT1446

Dependents:   Chromatograph_Mobile

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers LT1446.cpp Source File

LT1446.cpp

00001 #include "LT1446.h"
00002 //повторное объявление из-за использования внешней переменной и ошибки множественного объявления
00003 LT1446_MEM_t LT1446_MEM;
00004 //экземпляр по умолчанию
00005 LT1446_t LT1446_0;
00006 
00007  void LT1446_CalibrateCh(LT1446_Calibr_t *dac,float k, float b)
00008 {
00009      dac->k=k;
00010      dac->b=b;
00011 }
00012 //Вычислить значение для передачи в ЦАП
00013 void LT1446_CalculateCh(LT1446_Calibr_t *dac)
00014 {
00015     dac->Code=(uint16_t)(dac->k*dac->Volts+dac->b);
00016     if (dac->Code>4095) dac->Code=4095;
00017 }
00018 
00019 void LT1446_Write(LT1446_t *chip)
00020 {
00021     
00022     /*
00023     LT1446_MEM.DACA=chip->dacA.Code;
00024     LT1446_MEM.DACB=chip->dacB.Code;
00025     Cs=0;
00026     TED2.write(LT1446_MEM.b3);
00027     TED2.write(LT1446_MEM.b2);
00028     TED2.write(LT1446_MEM.b1);
00029     Cs=1;*/
00030 }
00031 void LTCwrite(LT1446_t *chip)
00032 {
00033     LTC1446_CS=0;
00034     LTC1446_CLK=0;
00035     /*Записываем канал B*/
00036     uint8_t b=12;
00037     while(b--)
00038     {
00039         LTC1446_DOUT=chip->dacB.Code&(1<<b);
00040         LTC1446_CLK=1;
00041         LTC1446_DOUT=0;
00042         LTC1446_CLK=0;
00043     }
00044     /*Канал А */
00045     b=12;
00046     while(b--)
00047     {
00048         LTC1446_DOUT=chip->dacA.Code&(1<<b);
00049         LTC1446_CLK=1;
00050         LTC1446_DOUT=0;
00051         LTC1446_CLK=0;        
00052     }
00053     LTC1446_CS=1;
00054 }
00055 
00056 
00057