Dzięki  jacekk232  Nie wiem skąd wziąłem to OCIE2. Błąd poprawiłem,  i program działa. Odświeżanie też może być Ustawiłem na 500Hz
Jednak  raz na 2 - 3 sekundy  szaleje mi wyświetlacz WS2812. Mam wrażenie że wpada w jakieś interferencje, bo jak się wali to kilka wyświetleń jest wadliwych a potem kilka pod rząd poprawnych. 
Oznacza to, także, że  mieszczę się  w czasie  aby wysterować WS2812.  
Muszę jeszcze to zsynchronizować sposobem Mirka - powyżej.  
I znów wszystko by grało, ponieważ na końcu przerwania umieściłem  poniższy kawałek:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
gdzie zmienna z33  jest ustawiana co sekundę  w programie głównym. 
Ale jak to ze mną bywa nie ma tak prosto. 
Nie chce mi się to jednak skompilować, wywala mi błąd jednak nie w konkretnym pliku tylko  w katalogu projektu. 
Mam problem z umiejscowieniem tych dwóch deklaracji i definicji
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Z początku miałem te dwie linijki  w Main na samej górze i dopóki  nazwy "pasek" używałem tylko w main 
wszystko grało. Teraz  funkcję  "ws281x_asm_send(pasek, WS_LED_CNT, WS_PIN);"
użyłem w bibliotece od wyświetlania LED.  Dołączyłem więc definicję  uint8_t *pasek = (uint8_t*)ws_rgb_leds; do pliku common.h
który zaincludowany jest do main.c i do pliku display_led.c
Oczywiście wywala ws_rgb_leds undeclared here (not in a function) 
Jasne! Skopiowałem też wcześniej definicję TWSRGB ws_rgb_leds [WS_LED_CNT];
Teraz dwa błędy:
../menu/../common/common.h:155: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ws_rgb_leds'
../menu/../common/common.h:156: error: 'ws_rgb_leds' undeclared here (not in a function)
Przenoszę oba do biblioteki ws281x.h 
Znów Clean project i error o następującej treści
./WS2812/ws281x.o:(.data.pasek+0x0): multiple definition of `pasek'
./display_led/display_led.o:(.data.pasek+0x0): first defined here
./main.o:(.data.pasek+0x0): multiple definition of `pasek'
./display_led/display_led.o:(.data.pasek+0x0): first defined here
make: *** [TZv.3.elf] Error 1
Sprawdzam display_led i w pliku .h nie ma ani jednego wystąpienia słowa pasek a w pliku .c jedyny pasek  występuje w  przerwaniu w  warunku  
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Nie wiem dla czego także  przyczepił mi się do maina.  Tutaj  w pętli co sekundę  używam  kasowania  funkcją 	ws_cls(pasek, 0x000000); 
Gdzie powinienem umieścić te deklaracje  i definicje, i o co chodzi kompilatorowi?