Ne čitaš pažljivo moje poruke. Evo da kopiram ono što sam pisao:
"Prvo proveri u uputstvu za C koji koristiš kolika je minimalna pauza za komandu DELAY_US; 99% sam ubedjen da je 13 µs premalo za nju.".
Znači, proveri prvo ovo pa ako sam u pravu, biće ti jasno zašto ne može tako.
Nisam razumeo ovo sa tranzistorom i zašto to ne radi. PWM izlaz povežeš na anodu, katodu na kolektor NPN tranzistora, emiter na masu, a bazu povežeš (preko otpornika, to valjda ne treba naglašavati posebno) na pin kojim ćeš da upravljaš. To bi trebalo da radi.
Što se tiče slanja podataka, treba sam da osmisliš šta ti i kako odgovara; npr. ako povežeš ovako sa tranzistorom možeš slobodno da zaboraviš na problem generisanja 38 kHz pošto si to rešio PWM-om. Ostaje ti samo da upravljaš bazom tranzistora i to tako što ćeš da je 4 puta naizmenično držiš po recimo 600 us na log 1, pa na log. 0, onda napraviš pauzu od 5 sekundi, pa sve u krug.
Ako pretpostavimo da je 600 us minimalno vreme za koje predajna dioda mora da radi na 38 kHz (proveri tehničke podatke!), dolazimo do frekvence od 833 Hz, iliti 833 bauda. Znači, preko te brzine neće moći. Još jednom naglašavam da proveriš teh. podatke ili da se poigraš i probaš u praksi. Doduše, moguće su tu i druge metode "šifriranja" podatka, ali koliko vidim tebi kao početniku već i ovo pravi male probleme. Znači, malo čitanja i malo (više) eksperimentisanja i doći ćeš do rezultata.
Pozdrav.
Sinisha