this may help
this may help
Warning I'm not a teacher
Hi Richard.
Thanks for the link. The real help was ... the color of the cables. On my strip the ground is Blue and +5V is Black. Really! They made +5V Black!
Of course I used Black as ground and that was the problem.
Be careful if color is not red then,
Black is +5, NOT ground.
Blue is Ground.
Chinese people might have a different color preferences...
I had it working now. Almost got crazy, since logic analyzer was showing all was OK!
This type of LED's is more easy to control since they do not need strict timings. Just spit out at whatever pace you like or can and LED's follow. Very easy for any MCU.
People have reported driving SPI up to 60MHz on these strips.
Ioannis
The following is a simple test program to demonstrate how to use of APA-102 leds.
It lights the Blue led and shifts it ten places in 100ms interval.
To successfully manage this, tens of hours were spent... Datasheet sucks.
But in general is much easier to control as the timings are those of an SPI interface and can be really fast driven if you have the resources.
IoannisCode:arraywrite red_a,[0,0,0,0,0,0,0,0,0,0,0] arraywrite green_a,[0,0,0,0,0,0,0,0,0,0,0] arraywrite blue_a,[255,0,0,0,0,0,0,0,0,0,0] gosub display_led stop display_led: for k=0 to led_num for i=0 to led_num shiftout led_data,led_clock,1,[lum,blue_a[i],green_a[i],red_a[i]] next i gosub shift_sub next k pause 1000 'delay from one color to another return shift_sub: shiftout led_data,led_clock,1,[%11100011,0,0,0,0,0] 'END of Frame pause 100'led move step delay temp=red_a[k]:RED_A[k]=RED_A[k+1]:RED_A[k+1]=temp temp=green_a[k]:green_a[k]=green_a[k+1]:green_a[k+1]=temp temp=blue_a[k]:blue_a[k]=blue_a[k+1]:blue_a[k+1]=temp return
I had 3 in the parts bin , so I had a go using mssp module . @64mhz with the fastest spi clk its no problem at all .But in general is much easier to control as the timings are those of an SPI interface and can be really fast driven if you have the resources.
a complete 3 led frame is less than 80uS . heaps easier than ws2812![]()
Warning I'm not a teacher
Great job on the asm Richard.
Though this kind of LED's are easier most people look after the WS28xx series.
Ioannis
Bookmarks