Tema: Re: masyvo elementu perdavimas funkcijai
Autorius: gk
Data: 2011-02-28 18:48:24
funkcija "WriteByteToDisplay", o kvieti "WriteByteToDOG" ?


"Kantega" <kf@kantega.org> wrote in message
news:ikgipm$5ki$1@trimpas.omnitel.net...
> Sveiki,
>
> pagelbėkit lameriui su C (jei konkrečiai, tai WinAVR C) ;)
> turiu funkciją:
>
> void WriteByteToDisplay(unsigned char ByteToSend).
>
> Jeigu jai perduodu tiesiogines konstantas. tipo 'K' arba paprastus
unsigned char kintamuosius, viskas veikia.
> Tačiau, jei tik pabandau padaryti tokį fokusą:
>
> unsigned char DisplayData[5];
> DisplayData[5] = 'F', 'U', 'C', 'K', 'K';
>
> ...
>  WriteByteToDOG(DisplayData[0]);
> ....
> arba kokiam cikle:
>
> WriteByteToDOG(DisplayData[i]);
>
> Viskas nebeveikia run-time t.y. kompiliuojasi be klaidų ir ispėjimų, o
programos veikimo metu į displėjų nusisiunčia nežinia kokie duomenys.
> Darau išvadą, kad kažko nesuprantu su tipais, nes galvoju kad
DisplayData[0] gražina unsigned char kintamąjį ir kad jį taip paprastai
galima perduoti į funkciją... ;)
> Paaiškinkit, pls, kaip yra iš tikrųjų...