ShishaLiVe schrieb:
> Leider bin ich nicht der C Profi und hoffe daher auf etwas Unterstützung
> oder Ratschläge.
>
> Hier einmal mein versuch
> while(1) {
> if(dmx_rx_complete) {
> uint8_t led = 0;
> for(led = 0; led < 16; led++) {
> pca9685_led_pwm(PCA9685_CHIP_1, led_map[led], (dmx_buf_back[led
> + 1] << 8 ) | dmx_buf_back[led + 2]);
Warum muß es denn eigentlich immer maximal unleserlich sein?
Ich formuliere das mal um (ohne deine eher seltsam anmutenden Indices
wirklich verstanden zu haben):
1 | long L;
|
2 | int i;
|
3 | int amap;
|
4 |
|
5 | if(dmx_rx_complete)
|
6 | { i = 0;
|
7 | while (i<16)
|
8 | { amap = led_map[i];
|
9 | L = dmx_buf_back[i+1];
|
10 | L = (L << 8) | dmx_buf_back[i+2];
|
11 | pca08154711(PCA_Chip, amap, L);
|
12 | ++i;
|
13 | }
|
14 | }
|
Den Rest, also die ganze Optimiererei, kannst du getrost dem Compiler
überlassen.
W.S.