Placa e extrem de inghesuita , poate daca o mai aerisesti putin o sa amia scapi de strapuri. Unde te grabesti ? Arde pasiunea ? Rezistentele ce capsula au ? E cel putin de 0.25w sau vrei sa le lipesti in picioare ?
Am descoperit pe propria piele la telecomanda loconet la care muncesc acum. Nu cu PWM-ul (nu folosesc PWM), ci (cred) cu afisarea pe un LCD care afisare consuma destul de multe resurse. Cum ziceam, inca n-am solutii, da' mai caut.oilen a spus:cat despre software... e destul de naspa sa faci PWM software chiar si la 20 MHZ. sunt multe de facut
Primele teste in digital le-am facut cu o centrala mica facuta de mine (mult mai simpla decat ce ti-ai propus tu), asa ca am oarece idee. :fluierat:oilen a spus:In DCC nu poti intrerupe fluxul de date pe o perioada mai mare decat cutout-ul se zapaceste toata transmisia...
<i>
</i>/th_ hd447XX LCD routines for compatible display w 2 lines th_/
REVS
/th_ 27.10.1999 001 A - modified timing on port E due to some problems with CSth_ chips on some compatible LCD
5.11.1999 002 D - removed 4 line LCD
12.11.1999 003 E - test final GTP 16F877
5.7.2005 004 E - test final GTP 16F877A -20/IP
th_/
use fast_io(E)
use fast_io(D)
void lcd_put_cmd(byte cmd){
set_tris_E(0xF8);
set_tris_D(0x00); //all ports as outputs
output_E(0x00);
PORT_D = cmd ; //put byte on data
output_E(0x04);
//001A START
delay_ms(1); //here we had 3ms settle time but it was wrong
//001A END
output_E(0x00);
}
void lcd_put_char(char dta){
set_tris_E(0xF8);
set_tris_D(0x00); //all ports as outputs
output_E(0x01);
PORT_D = dta; //put byte on data
output_E(0x05) ; //enable high
delay_ms(1);
output_E(0x01);
}
/th_ this is very very important th_/
void lcd_init(){
byte i;
set_tris_E(0xF8);
set_tris_D(0x00); //all ports as outputs
output_E(0x00);
//001 A START
delay_ms(100); //100 ms delay
//001A END
lcd_put_cmd(0x38); //say 8 bit data 2 lines
lcd_put_cmd(0x0C); //cursor show and no blink
lcd_put_cmd(0x03); //inc with each recv
lcd_put_cmd(0x01); //clear
lcd_put_cmd(0x06); //autoinc
lcd_put_cmd(0x02); //home
//001A START
delay_ms(1000); //a little delay
//001A END
}
void lcd_clear(){
lcd_put_cmd(0x01);
delay_ms(2);
}
void lcd_l2(){
lcd_put_cmd(0xC0);
delay_ms(2);
}
LiviuM a spus:Nu stiu cat costa, da' lacul tau de protectie se poate inlocui cu un spray special. Nu-i stiu numele, daca te intereseaza imi intreb colegii ce folosesc, da' am senzatia ca esti multumit cu varianta ta.