<div dir="ltr">diky obema zda se ze to opravdu uklada jak ma, ale zatim jsem nevyresil integraci vsech typu promennych do jedne struktury<div><br></div><div>rekapitulace mam tri ruzne typy registru co se tyka velikosti (ta polozka eeprom bude zbytecna); </div><div><br></div><div><div>type Reg_dword = record</div><div>    modi           : boolean;</div><div>    r0             : dword;</div><div>    r1             : dword;</div><div>    eeprom         : word;</div><div>    delka          : byte;</div><div>end;</div><div><br></div><div>type Reg_word = record</div><div>    modi           : boolean;</div><div>    r0             : word;</div><div>    r1             : word;</div><div>    eeprom         : word;</div><div>    delka          : byte;</div><div>end;</div><div><br></div><div>type Reg_byte = record</div><div>    modi           : boolean;</div><div>    r0             : byte;</div><div>    r1             : byte;</div><div>    eeprom         : word;</div><div>    delka          : byte;</div><div>end;</div></div><div><br></div><div>jsem schopny nadefinovat pole rekordu, ale jen od jednoho typu:</div><div><br></div><div>var</div><div>rv_w           : array[0..7] of Reg_word;<br></div><div><br></div><div>vyresil jsem i to, aby to bylo prehledne v kodu:</div><div><br></div><div><div>const</div><div>   //word pole</div><div>    rUmaxBat       = 0;     //mV konecne nabijeci napeti cyklicke - EEPROM A-B</div><div>    rUfloatBat     = 1;     //mV konecne nabijeci napeti float - EEPROM C-D</div><div>    rOffsetMppt    = 2;     //OffsetMppt - mV offset regulace mppt - EEPROM E-F</div><div>    rUchargOn      = 3;     //UchargOn - mV napeti pri kterem zapinam dobijeni - EEPROM 12-13</div><div>    rUchargOff     = 4;     //UchargOff - mV napeti pri kterem vypinam dobijeni - EEPROM 14-15</div><div>    rUzatezOn      = 5;     //UzatezOn - mV napeti pri kterem zapinam zatez - EEPROM 16-17</div><div>    rUzatezOff     = 6;     //UzatezOff - mV napeti pri kterem vypinam zatez - EEPROM 18-19</div><div>    rUpanic        = 7;     //Upanic - napeti pri kterem se vse zastavi - bitove rozliseni - EEPROM 20-21</div></div><div><br></div><div>takze pristup k polozkam je takto:</div><div><br></div><div><div>    rv_w[rUmaxBat].r0     := 14200;     //mV konecne nabijeci napeti cyklicke - EEPROM A-B</div><div>    rv_w[rUfloatBat].r0   := 13700;     //mV konecne nabijeci napeti float - EEPROM C-D</div><div>    rv_w[rOffsetMppt].r0  := 50;        //OffsetMppt - mV offset regulace mppt - EEPROM E-F</div><div>    rv_w[rUchargOn].r0    := 12000;     //UchargOn - mV napeti pri kterem zapinam dobijeni - EEPROM 12-13</div></div><div><br></div><div>coz se bude dobre resit i v parsovani prikazu z terminalu, kde mohu snadno pristupovat na konfiguracni polozky</div><div><br></div><div>jen me krka, ze ty pole budu muset mit tri pro kazdej typ rekordu - nebyl by nejakej napad? pretypovavat to pri kazdem pouziti je trochu pres ruku</div><div><br></div><div>RV</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">Dne 1. června 2016 21:23 Zdeněk Aster <span dir="ltr"><<a href="mailto:Zdenek.Aster@seznam.cz" target="_blank">Zdenek.Aster@seznam.cz</a>></span> napsal(a):<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><span class=""><blockquote>>"S tym volatile som to prehnal, to asi v tom Pascale nie je, alebo je? Ako<br>>ste to dosiahli, co ste zmenili?<br>><br>>wek<br>><br>>"<br>>Dosahnul jsem toho takhle :-) <br>><br>>  x: byte as volatile;<br><br>Hm, hm, tak to bolo necakane... Kolko minut vravite ze v tom robite? :-) <br><br>Dakujem.<br><br>wek</blockquote></span><p>No asi těch 5 minut co jsem to nainstaloval, ale pascal jsem měl vždy rád,</p><p>a kdysi měl zaujal od nemeckeho elabu pascal pro atmel tak jsem chtel </p><p>videt jak vypada od mikroe. Ja uz jsem si zvyknul na cecko pro jednocipy, </p><p>pascal pouzivam jen kdyz neco potrebuji ve windowsech nebot tak nejak</p><p> v tom neco i udelam.</p><p><br></p><p>Navíc  jsem si říkal, že volatile by to tam mělo být, protože se bez toho </p><p>občas většinou žít nedá tak jsem to zkusil. Je tam implementováno i </p><p>absolute u promene, ale  jen na adresu nikoliv neprimo na promenou, </p><p>pritom by to pro  kompilator nebyl problem a pak by slo pole nadefinovat</p><p>klidne pres strukturu, ale to uz je taky pekna prasecina.</p><p><br></p><p>var </p><p>   x;byte; absolute 10;  // tohle jde</p><p>   a: byte;</p><p>   b:byte; absolute a;  // tohle nejde</p><span class="HOEnZb"><font color="#888888"><p><br></p><p><br></p><p>Zdeněk Aster</p></font></span></div><br>_______________________________________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
<br></blockquote></div><br></div>