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



Teraz jest 13 maja 2026, o 22:32


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 14 kwi 2015, o 16:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 143
Lokalizacja: Zamość
Pomógł: 0

Witam.

Poniżej umieszczam kod, który działa tak, że:
Po naciśnięciu przycisku "guzika"(zwarciu do masy) PC1 uruchamia się pętla, która inkrementuje zmienną licznik dopóki nie zostanie naciśnięty guzik przy PC0, wówczas program się zatrzymuje i wartość zmiennej licznik się nie zmienia.
Chciałbym tak zmodyfikować kod albo układ żeby "guziki" były nie zwierane do masy a do VCC i żeby to stan wysoki uruchamiał inkrementację licznika. Proszę o pomoc

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2015, o 17:55 
Offline
Użytkownik

Dołączył(a): 22 sie 2013
Posty: 73
Pomógł: 7

Nie ma z tym żadnego problemu. Wystarczy w programie wykrywać stan wysoki na porcie do którego masz podłączony przycisk, ale minus jest taki że musisz podciągnąć ten pin przycisku zewnętrznym rezystorem do GND. Oczywiście programowe podciągnięcie do Vcc sobie wyłącz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2015, o 21:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 143
Lokalizacja: Zamość
Pomógł: 0

Czy rezystor 4,7k wystarczy?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2015, o 23:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 sty 2014
Posty: 243
Pomógł: 9

Tak

_________________
http://www.ate-zbaszyn.eu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 sty 2016, o 20:15 
Offline
Nowy

Dołączył(a): 25 sty 2016
Posty: 1
Pomógł: 0

Chciałbym podać stan wysoki z odbiornika radiowego na PC0 i następnie by na PB0 załączyła się dioda w pętli for czy jest to prawidłowe rozwiązanie?

#include <avr/io.h>
#include <util/delay.h>

#define LEDBLUE (1<<PB0) //dioda niebieska

#define STARTLEDBLUE (0<<PC0) //start diody niebieskiej


int main(void){

DDRC = 0x80 ; //Porty C od 0 do 6 są niskie, 7 wysoki
DDRB |= LEDBLUE; //Port diody led blue


while(1)
{
if(PINC & STARTLEDBLUE)

{

for (int i=0; i<3; i++)
{
PORTB |= (1<<PB0);
_delay_ms(500);
PORTB |= (0<<PB0);
_delay_ms(500);

}
}
}
}



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 sty 2016, o 20:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Umieść kod w znacznikach syntax wg tego poradnika topic7402.html

A co do kodu to w ten sposób nie zeruje się bitów
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


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


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


Przesunięcie zera na jakąkolwiek pozycje da w wyniku zero. Po rozwinięciu makra warunek if będzie wyglądał tak
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Wrażenie w warunku if będzie zawsze zerem niezależnie od wartości w rejestrze PINC.



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 2 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO