Ukladani nastaveni v programu pro MCU

Marek Sembol hwm.land na gmail.com
Čtvrtek Červen 2 16:51:13 CEST 2016


Ja myslim, ze kduz uz si uzivatel musi pamatovat, ze r001 je "Hranicni
napeti, pri kterem to cele pujde do kopru v mV", tak uz neni az takova
hruza pamatovat, ze je to word...
Marek

2016-06-02 15:17 GMT+02:00 hwnews konference <hwnews na cncnet.info>:
> jde mi o to si co nejvic ulehcit praci pri praci s prikazy terminalu - mam
> navrzene nejakou takovou syntaxi
>
> // syntaxe
> // r001*;  - vypise nastaveni registru r001 - jak run hodnotu tak set
> // r001$45; - zapise do r001 hodnotu 45 do set hodnoty
> // r001#;   - prepise hodnotu z set do run
> // c001!;   - vykonna prikaz c001
>
> tedy pokud to mam ve trech polich tak to musim jeste v tom prikazu nejak
> vyspecifikovat abych vedel do ktereho pole namirit index (cisla za r)
>
> samozrejme muzu to udelat tak, ze prikazy budou b001 nebo w001 nebo d001,
> ale musim to porad nekde drzet v hlave co je jakej typ - hlavne uzivatelsky
> je to uplne mimo
>
> nebo to muzu udelat tak ze 000 az 099 je byte , 100 az 199 je word atd..
>
> to proc se mi to nechce mit vsechno v dwordu je ze ty hodnoty v pracovnich
> registrech chci pouzivat normalne v kodu a pocitat vsechno ve 32b se mi moc
> nezamlouva
>
> aspon tedy predpokladam, ze prekladac jakmile uvidi tohle
>
>   a  : dword;
>   b  :  byte;
>   c  : word;
>
> c:=a*b;
>
> to spocita jako 32b*32b a pretypuje na word
>
>
> RV
>
> Dne 2. června 2016 15:00 Zdeněk Aster <Zdenek.Aster na seznam.cz> napsal(a):
>
>> Napadají mě samé šílenosti, podstata je, že netuším čemu je potřeba se
>> vyhnout a čeho docílit.
>> Nicméně pokud by člověk chtěl třeba přehlednost v definici těch
>> konstant,tak určitě by šlo definovat
>> pole takhle.
>>
>> const
>>    //word pole
>>     rUmaxBat       = 0;     //mV konecne nabijeci napeti cyklicke - EEPROM
>> A-B
>>     rUfloatBat     = 1;     //mV konecne nabijeci napeti float - EEPROM
>> C-D
>>     rOffsetMppt    = 2;     //OffsetMppt - mV offset regulace mppt -
>> EEPROM E-F
>>     rUchargOn      = 3;     //UchargOn - mV napeti pri kterem zapinam
>> dobijeni - EEPROM 12-13
>>     rUchargOff     = 4;     //UchargOff - mV napeti pri kterem vypinam
>> dobijeni - EEPROM 14-15
>>     rUzatezOn      = 5;     //UzatezOn - mV napeti pri kterem zapinam
>> zatez - EEPROM 16-17
>>     rUzatezOff     = 6;     //UzatezOff - mV napeti pri kterem vypinam
>> zatez - EEPROM 18-19
>>     rUpanic        = 7;     //Upanic - napeti pri kterem se vse zastavi -
>> bitove rozliseni - EEPROM 20-21
>>    //dword pole
>>    rNecoDword       = 8;
>>     ................
>>   // byte pole
>>    rNecoByte       = 16;
>>    .......
>>
>> rv_w           : array[0..7] of Reg_word;
>> rv_d           : array[8..15] of Reg_dword;
>> rv_b           : array[16..30] of Reg_byte;
>>
>> Jsou to sice tri pole, ale index muzete resit krasne postupne, a i
>> kompilator by mel hlasit chybu,
>> pri pouziti blbeho indexu v blbem poli a pokud to nadefinujete za sebou a
>> nebude kompilator
>> blbnout tak by to slo do eeprom ulozit jednou funkci. Adresa prvniho pole
>> a secit delky vsech poli.
>>
>> Writeeeprom( PBytearray(@rv_w),sizeof(rv_w)+sizeof(rv_d)+sizeof(rv_b),
>> pozice_v_eprom);
>>
>> Zdenek Aster
>>
>>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>


Další informace o konferenci Hw-list