Hallo zusammen,
ich bin ganz neu in dsp,und benutze grad ezdsp28335 um ACI
feldorientiert zu regeln.Ich hab TI-beispielcode für f280x geguckt,aber
nicht alles verstanden.
OriginalCode von TI:
1 | typedef float float32;
|
2 | typedef unsigned long Uint32;
|
3 | typedef struct {float32 duty3;
|
4 | void (*update)();
|
5 | }PWMGEN;
|
6 | typedef PWMGEN *PWMGEN_handle;
|
7 |
|
8 | #define PWMGEN_DEFAULTS {0.0,(void (*)(Uint32))PWM_Update}
|
9 |
|
10 | void PWM_Update(PWMGEN_handle v);
|
11 |
|
12 | PWMGEN pwmgen = PWMGEN_DEFAULTS;
|
13 |
|
14 |
|
15 | void main(void)
|
16 | {
|
17 | pwmgen.update(&pwmgen);
|
18 | }
|
19 |
|
20 | void PWM_Update(PWMGEN_handle v){}
|
Könnte jemand mir erklären,was für eine syntax ist dies
1 | (void(*)(Uint32))PWM_Update
|
??also was für eine typumwandlung ist das?
Ich hab nach meiner art so gemacht,und fehlerfrei kompiliert aber wenn
der cursor auf
dann CCS sagt "symbol definition not found".Woran liegt es?
1 | typedef float float32;
|
2 | typedef struct struct_PWM{ float32 duty3;
|
3 | void (*update)(struct struct_PWM*);
|
4 | }PWMGEN;
|
5 |
|
6 | typedef PWMGEN *PWMGEN_handle;
|
7 |
|
8 | #define PWMGEN_DEFAULTS {0.0,PWM_Update}
|
9 |
|
10 | void PWM_Update(PWMGEN_handle v);
|
11 |
|
12 | PWMGEN pwmgen = PWMGEN_DEFAULTS;
|
13 |
|
14 |
|
15 | void main(void)
|
16 | {
|
17 | pwmgen.update(&pwmgen);
|
18 | }
|
19 |
|
20 | void PWM_Update(PWMGEN_handle v){}
|
vielen vielen dank im voraus!
gruß aus uni hannover:-)