sendRaw correction
This commit is contained in:
parent
7680a92c16
commit
975b60889f
11
ws2801.cpp
11
ws2801.cpp
|
@ -4,9 +4,11 @@
|
||||||
* Created: 26-12-16 21:57:10
|
* Created: 26-12-16 21:57:10
|
||||||
* Author: Adrien
|
* Author: Adrien
|
||||||
*/
|
*/
|
||||||
|
#define F_CPU 16000000UL
|
||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
|
#include <util/delay.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "ws2801.h"
|
#include "ws2801.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -21,13 +23,16 @@ Pour l'envois, il faut commencer par le bit 7 !
|
||||||
|
|
||||||
*/
|
*/
|
||||||
main()
|
main()
|
||||||
{}
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
ws2801::ws2801(uint8_t pin_clk, uint8_t pin_data, uint8_t *port, uint8_t nbr_ci)
|
ws2801::ws2801(uint8_t pin_clk, uint8_t pin_data, uint8_t *port, uint8_t nbr_ci)
|
||||||
{
|
{
|
||||||
this->pin_clk = pin_clk;
|
this->pin_clk = pin_clk;
|
||||||
this->pin_data = pin_data;
|
this->pin_data = pin_data;
|
||||||
this->port = port;
|
this->port = port;
|
||||||
this->nbr_ci = nbr_ci;
|
this->nbr_ci = nbr_ci;
|
||||||
|
PORTB;
|
||||||
data = (uint8_t*)calloc(3*nbr_ci, 1);
|
data = (uint8_t*)calloc(3*nbr_ci, 1);
|
||||||
ddr = port-1;
|
ddr = port-1;
|
||||||
*ddr |= (1<<pin_clk)|(1<<pin_data);
|
*ddr |= (1<<pin_clk)|(1<<pin_data);
|
||||||
|
@ -62,6 +67,8 @@ main()
|
||||||
for(j=0,m=0x80;j<8;j++)
|
for(j=0,m=0x80;j<8;j++)
|
||||||
{
|
{
|
||||||
*port &= ~(_BV(pin_clk));
|
*port &= ~(_BV(pin_clk));
|
||||||
|
if(!i&&!j)
|
||||||
|
_delay_us(500);
|
||||||
*port = (*port&(~(_BV(pin_data))))|((data[i]&m)?_BV(pin_data):0);
|
*port = (*port&(~(_BV(pin_data))))|((data[i]&m)?_BV(pin_data):0);
|
||||||
if(m==0x01)
|
if(m==0x01)
|
||||||
m=0x80;
|
m=0x80;
|
||||||
|
|
Loading…
Reference in New Issue