808

Dependents:   Chromatograph_Mobile

LT1446.cpp

Committer:
nikmaos
Date:
2020-08-08
Revision:
1:b456fe5494fe
Parent:
0:4ca9c83d7e14
Child:
2:09948f1c22bc

File content as of revision 1:b456fe5494fe:

#include "LT1446.h"
//повторное объявление из-за использования внешней переменной и ошибки множественного объявления
LT1446_MEM_t LT1446_MEM;
//экземпляр по умолчанию
LT1446_t LT1446_0;

 void LT1446_CalibrateCh(LT1446_Calibr_t *dac,float k, float b)
{
     dac->k=k;
     dac->b=b;
}
//Вычислить значение для передачи в ЦАП
void LT1446_CalculateCh(LT1446_Calibr_t *dac)
{
    dac->Code=(uint16_t)(dac->k*dac->Volts+dac->b);
    if (dac->Code>4095) dac->Code=4095;
}

void LT1446_Write(LT1446_t *chip)
{
    
    
    LT1446_MEM.DACA=chip->dacA.Code;
    LT1446_MEM.DACB=chip->dacB.Code;
    Cs=0;
    TED2.write(LT1446_MEM.b3);    
    TED2.write(LT1446_MEM.b2);
    TED2.write(LT1446_MEM.b1);    
    Cs=1;
}
void LTCwrite(LT1446_t *chip)
{
    Cs=0;
    CLK=0;
    /*Записываем канал B*/
    uint8_t b=12;
    while(b--)
    {
        DOUT=chip->dacB.Code&(1<<b);
        CLK=1;
        DOUT=0;
        CLK=0;        
    }
    /*Канал А */
    b=12;
    while(b--)
    {
        DOUT=chip->dacA.Code&(1<<b);
        CLK=1;
        DOUT=0;
        CLK=0;        
    }
}