mikroPascal a SHT potazmo I2C
Radek a Petra Vickovi
rvicek@quick.cz
Neděle Listopad 28 23:29:21 CET 2004
Zdravim,
nepouzivate nekdo mikroPascal pro PICy? Dneska jsem se rozhodl si napsat
vlastni obsluhu SHT11 s tim, ze to zkusim s mikroPascalem pac do ASM se mi
nechtelo kvuli tomu slozitemu linearizacnimu retezci.
Vsechno mam napsany odladeny - celou matematiku vcetne zobrazeni a
ztroskotal jsem na tom cteni SHT - vicemene nevim proc se mi nechce
zinicializovat rutina Soft_I2C_Config - zjistil jsem ze to ceka z nejakeho
duvodu az neco nahodi SCK do 1 nicmene nevim co by to tam melo nahodit kdyz
master je MCU a hodiny by si mel sam ridit!!!
Tady je ta rutina a prosim nedeste se je to muj prvni vytvor a bude se
optimalizovat.
procedure CtiSHT;
begin
TRISA := 0; //PORTA je output
//Transmission Start
SetBit(PORTA,0);ClearBit(PORTA,1) ;
nop;
SetBit(PORTA,1);
nop;
ClearBit(PORTA,0);
nop;
ClearBit(PORTA,1) ;
nop;nop;nop;
SetBit(PORTA,1);
nop;
SetBit(PORTA,0);
nop;
ClearBit(PORTA,1) ;
//Transmission End
Soft_I2C_Config(PORTA,0,1); //procedure Soft_I2C_Config(var Port :
byte; const SDA, SCL : byte; clock : longint);
TRISA := 0; // PORTA is output
PORTA := $FF;
Soft_I2C_Start;
Soft_I2C_Write(%00000011); //posilame prikaz cteni teploty
Soft_I2C_Stop;
Delay_ms(220); //pockam na prevod
Soft_I2C_Start;
T_MSB := Soft_I2C_Read(1); //ctu horni byte s potvrzenim ACK
T_LSB := Soft_I2C_Read(1); //ctu dolni byte s potvrzenim ACK
Soft_I2C_Stop;
end;
--
Odchozí zpráva neobsahuje viry.
Zkontrolovßno Antivirovým systémem AVG.
Verze: 7.0.290 / Virová báze: 265.4.3 - datum vydání: 26.11.2004
Další informace o konferenci Hw-list