[elektro] arm c

Lajos Rancz lajos.rancz at gmail.com
Fri Jul 17 14:13:51 CEST 2015


Helló!

1. Egy callback függvényt kell megadnod. Ennek a footprintje amit ott
látsz.
Pl:
void my_own_udp_receive_callback(void *arg, struct udp_pcb *upcb, struct
pbuf *p, struct ip_addr *addr, u16_t port)
{
    // arg: az a paraméter amit a feliratkozásánl át adsz; ezt tipikusan
vmilyen struktúrára (vagy C++ esetén objektumra) mutató pointer; ebben a
példában 12345, lásd lentebb
    // upcb: ez gondolom a leíró
    // p: ez a bejövő adat
    // addr, port egyértelmű
    printf("Data received);
}
....
void listen(....)
{
.....
    udp_recv(upcb, my_own_udp_receive_callback, 12345);
....
}

Tehát ha vesz adatot, akkor azzal az adattal meghívja a te általad megadott
függvényt, amiben tudod kezelni.

2. volatile nem ezt jelenti. Azzal azt jelzed, hogy a változót minden
műveletvégzése előtt be kell tölteni a memóriából; mert máshol felül lett
írva (pl IIRQ-ból). Nincs véletlenül kiírva, hogy static?

De kb így kell:
a.c:
int variable = 15;
....
b.c:
extern int variable;  // ez mehet headerbe is

Üdv


2015. július 17. 14:01 Skandar Graun írta, <sgraun at gmail.com>:

> Sziasztok!
>
> Kicsit más a szintaktika, vagy a fene se tudja, de a példaprogram
> megértésével küzdünk.
> UDP kapcsolat felépítése...
> Ami érdekes:
> van egy hívás:
>
> udp_recv(upcb, udp_receive_callback, NULL);
>
> Ebben szerepel az " udp_receive_callback" paraméter, ami csak és kizárólag
> egy másik függvény neve.
>
> void udp_receive_callback(void *arg, struct udp_pcb *upcb, struct pbuf *p,
> struct ip_addr *addr, u16_t port)
>
> Most vagy én értek valamit félre (a függvényhívás mindig ()-es kifejezéssel
> végződik)
> Vagy itt valami más, eddig általam nem ismert szintaktika létezik.
>
> A másik hasonló kérdés: Itt van millióegy file, millióegy deklarációs
> résszel.
> De valahogy nem sikerül egymással kapcsolatot teremteni... ha jól
> emlékszem, akkor a "volatile" kiterjesztés tenné globálissá, mindenhol
> láthatóvá a változót.
> Csak nem sikerül.
> Mit kellene csinálni, mit szúrunk el?
>
> Köszi előre is.
> -----------------------------------------
>           elektro[-flame|-etc]


More information about the Elektro mailing list