Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 11 sty 2025, o 00:40


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 15 wrz 2013, o 10:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

Witam.

Napotkałem pewien problem. Steruję diodką IR 36kHz. Muszę ją włączać i wyłączać co jakiś czas. Diodka jest podłączona katodą do ULN2803. Napisałem taki kawałek kody według którego diodka ma się włączać i wyłączać co około 1s. Niestety sprawdzając telefonem jak pracuje diodka, ona ciągle świeci. Tak się prezentuje kod
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Chyba nie muszę dawać schematu?

_________________
sig off ;(



Ostatnio edytowano 15 wrz 2013, o 10:15 przez LogTeam, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 10:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 208
Lokalizacja: Kraków
Pomógł: 16

Kody umieszczamy w syntaxie.

Rozumiem że nośną generujesz za pomocą Timera? Dodaj schemat, będzie prościej pomóc.
Pokaż jak inicjalizujesz timer. Pokaż bity konfiguracyjne, i ciało obsługi przerwania



Ostatnio edytowano 15 wrz 2013, o 10:12 przez Juffre, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 10:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

Uff dobrze że Jagi tego nie widział :P Dzięki za przypomnienie :)

Tak, nośną 36kHz generuję za pomocą timera0

Schemat
Obrazek

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
sig off ;(



Ostatnio edytowano 15 wrz 2013, o 10:17 przez LogTeam, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 10:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 208
Lokalizacja: Kraków
Pomógł: 16

Kiedy w trybie CTC, timer steruje wyjściem ( u Ciebie OC0 ) to normalne operacje na porcie ( przez PORTB |= (1<<PB3) ) są nie respektowane. W ten sposób nie jesteś w stanie wyłączyć timera. Aby to zrobić musisz wyzerować bity COM w rejestrze Timera aby odłączyć timer od pinu OC0. Ewentualnie mozesz całkowicie zatrzymać działanie timera.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 10:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

Dzięki, działa :)

Tak wygląda kod
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 10:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 208
Lokalizacja: Kraków
Pomógł: 16

W takich sytuacjach zawsze polecam datasheet. W nim wszystko jest opisane ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO