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