sendRaw correction
This commit is contained in:
		
							
								
								
									
										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; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user