Per nuoseklų portą vienu paketu, šešioliktainiu formatu siunčiu visus struktūros duomenis kaip atminties gabalą. Pvz., State struktūros siuntimas iš uC į PC:
void SendState(void)
{
uint8_t i, *p;
p = &State;
UART0_bTxByte('s');
for (i = 0; i < sizeof(State); i++) sendIntAsHex(*(p++));
UART0_bTxByte('\r');
}
Atitinkamai vyksta siuntimas ir iš PC į uC. Gavimas kiek sudėtingesnis dėl patikrinimų.
--
Marius
"Laimis" <wiela@centras.lt> wrote in message news:j5b6bi$t5p$1@trimpas.omnitel.net...
> lietuvys rašė:
>
>> Ką daryti, kaip apsikeisti duomenimis? Ar teks kiekvieną kintamąjį
>> priskyrinėti tam tikrai atminties (buferio masyvo) vietai?
>
> Kas vargu ar teks, tai priskirti vieną C struktūrą kitai...
> Pirma, kas šauna į galvą, tai būtų duomenų tipų map'as ar nuoseklus visų
> narių transformavimas (cast'inimas) iš 32 bit'ų C struktūros į 8/16
> bit'ų C struktūrą.
> Beje, nesupratau, kaip duomenų mainai susiję su h failo mainais. Kaip
> apskritai fiziškai ketini realizuoti duomenų mainus, jei kalbi apie
> pointer'ius, kas lyg ir turėtų suponuoti tokį procesą, kai pc struktūros
> (ir svarbiausia — programos/atminties) duomenys _tame_pačiame_procese_,
> perkeliami uC? Kažkoks API? Konkrečiau, kaip tai turėtų vykti?