Hello,
I want to use Ws2812 ic led.
I don't use arduino, but can you help me?
I use a Microchip pic 16f88 clocked at 20Mhz
The code : (i wan't to blink led)
asm("nop") is equals at 50ns, no ?
#include <htc.h>
#define _XTAL_FREQ 20000000
void main() {
TRISB = 0;
PORTB = 0;
int i,j;
while(1) {
for (i=0;i<24;i++) {
PORTB = 255;
//350ns = 0.35us
asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
PORTB = 0;
//0.8us
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
}
__delay_ms(1000);
for (i=0;i<24;i++) {
PORTB = 255;
//0.7us
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");
PORTB = 0;
//0.6us
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
}
__delay_ms(1000);
}
}
Thanks for your help
(I'm french, sorry for my english)
I want to use Ws2812 ic led.
I don't use arduino, but can you help me?
I use a Microchip pic 16f88 clocked at 20Mhz
The code : (i wan't to blink led)
asm("nop") is equals at 50ns, no ?
#include <htc.h>
#define _XTAL_FREQ 20000000
void main() {
TRISB = 0;
PORTB = 0;
int i,j;
while(1) {
for (i=0;i<24;i++) {
PORTB = 255;
//350ns = 0.35us
asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
PORTB = 0;
//0.8us
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
}
__delay_ms(1000);
for (i=0;i<24;i++) {
PORTB = 255;
//0.7us
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");
PORTB = 0;
//0.6us
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");
}
__delay_ms(1000);
}
}
Thanks for your help
(I'm french, sorry for my english)