[elektro] C18 kérdés

Tibor Kovács kovacs.tibor7909 at gmail.com
Wed Sep 11 15:37:55 CEST 2013


köszi!

így már ugy működik ahogy szerettem volna. kezdem kapizsgálni... a minap
kezdtem el a C-ben létezni, és vannak még dolgok bőven amik meg tudnak
kavarni.


2013. szeptember 11. 15:27 Lajos Rancz írta, <lajos.rancz at gmail.com>:

> igen mert a pData_2 elé nem kell a csillag ha az nem lokális hanem vmilyen
> globális. Mivel ez itt értékadás nem pedig deklaráció. Tehát
>
> *Eset 1, globális:*
>
> char *pData_2 = NULL;
> ....
> void MyPrint(...)
> {
> pData_2 = data_2; // Globalis ertekadas
> for (...) ....
> }
>
> *Eset 2, lokális:*
>
> ...
> void MyPrint(....)
> {
> char *pData_2 = data_2; // Lokalis deklaracio + ertekadas
> for (...) ...
> }
>
> Üdv
>
>
> 2013. szeptember 11. 15:22 Tibor Kovács írta, <kovacs.tibor7909 at gmail.com
> >:
>
> > próbáltam így: *pData_2 = data_2;
> > de hibával fordul...
> >
> >
> > 2013. szeptember 11. 15:21 Lajos Rancz írta, <lajos.rancz at gmail.com>:
> >
> > > Hi!
> > >
> > > Úgy, hogy a ptr változót mindig az elejére állítod a for ciklus előtt.
> > >
> > > Üdv
> > >
> > >
> > > 2013. szeptember 11. 14:56 Tibor Kovács írta, <
> > kovacs.tibor7909 at gmail.com
> > > >:
> > >
> > > > szuper!
> > > >
> > > > Ez működik, viszont azt hogy csináljam hogy ha ezt:
> > > >
> > > > for (i = 0; i < 18; ++i)
> > > > {
> > > > ptr += sprintf(ptr, "%02x ", S2buffer[i]);
> > > > }
> > > >
> > > > többször is meg akarom hívni akkor ne fűzze mindíg az előző állapot
> > > > végéhez. Mert jelenleg ez van...
> > > >
> > > >
> > > > 2013. szeptember 11. 14:37 Lajos Rancz írta, <lajos.rancz at gmail.com
> >:
> > > >
> > > > > Helló!
> > > > >
> > > > > Hogy akarod kiírni mint hexa számok mint decimális számok vagy mint
> > > > > karakterek?
> > > > >
> > > > > hexában és decimálisan:
> > > > > int i;
> > > > > char *ptr = data_2;
> > > > > for (i = 0; i < 18; ++i)
> > > > > {
> > > > > ptr += sprintf(ptr, "%02x ", pS2buffer[i]); // Decimalisan a format
> > > > string:
> > > > > "%d "
> > > > > }
> > > > >
> > > > > Üdv
> > > > >
> > > > >
> > > > > 2013. szeptember 11. 13:58 Tibor Kovács írta, <
> > > > kovacs.tibor7909 at gmail.com
> > > > > >:
> > > > >
> > > > > > Sziasztok!
> > > > > >
> > > > > > Egy ujabb C-s kérdés merült fel bennem..
> > > > > > Mégpedig van egy bejövő soros adatom amit egy tömb-be letárolok
> (18
> > > > > byte),
> > > > > > ezzel eddig nincs is gondom, viszont ahoz hogy ezt ki tudjam írni
> > > > LCD-re
> > > > > át
> > > > > > kell tennem egy string-be formázottan. Van egy módszer amivel
> > > sikerűlt
> > > > de
> > > > > > túl hosszúnak találom, és az lenne a kérdésem hogy lehet ezt
> > > > > > leegyszerűsíteni.
> > > > > >
> > > > > > pl.: (ez csak 6 byte-ra vonatkozik, nekem ugye 18 kellene)
> > > > > > sprintf(data_2, "%c%c%c%c%c%c",
> > > > > >
> > > >
> > s2buffer[0],s2buffer[1],s2buffer[2],s2buffer[3],s2buffer[4],s2buffer[5]);
> > > > > >
> > > > > > gondoltam egy ilyenre, de ez nem működik...
> > > > > >
> > > > > > pData_2 = &data_2[0];
> > > > > > pS2buffer = &s2buffer[0];
> > > > > > for (i=0; i < 18; i++)
> > > > > > {
> > > > > > sprintf(*pData_2, "%2x", *pS2buffer);
> > > > > > pData_2++;
> > > > > > pS2buffer++;
> > > > > > }
> > > > > >
> > > > > > előre is köszi!
> > > > > > -----------------------------------------
> > > > > >           elektro[-flame|-etc]
> > > > > >
> > > > > -----------------------------------------
> > > > >           elektro[-flame|-etc]
> > > > >
> > > > -----------------------------------------
> > > >           elektro[-flame|-etc]
> > > >
> > > -----------------------------------------
> > >           elektro[-flame|-etc]
> > >
> > -----------------------------------------
> >           elektro[-flame|-etc]
> >
> -----------------------------------------
>           elektro[-flame|-etc]
>


More information about the Elektro mailing list