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



Teraz jest 12 kwi 2026, o 13:35


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 30 sie 2018, o 20:28 
Offline
Nowy

Dołączył(a): 28 sie 2018
Posty: 2
Pomógł: 0

Panowie jednak gubię się i tyle. Ale szukam i szukam i muszę poprosić o pomoc.
Zasada prosta ( nie dla mnie). Mikrostyk załącza port do masy, dioda mruga o zadanej "f" jest okij.
Projekt ma działać przez pewien czas lub ileś cykli ( np.5) ( wstawialem, x=0;,i while(x<<5)
Po załączeniu mikrostyku nawet bez zapisu drgań układ działa ok, tylko ze do rozlaczenia mikrostyku.

Jak ograniczyć cykl pracy " pętli głównej"???
Poniżej pewnie znany program

/*
* main.c
*
* Created on: 28 sie 2018
* Author: agk
*/

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



#define LED_PIN (1<<PD5)
#define LED_TOG PORTD ^= LED_PIN
#define LED_OFF PORTD |= LED_PIN
#define KEY_PIN (1<<PB1)
#define KEY_DOWN ! (PINB & KEY_PIN)




int main(void) {



DDRD |= LED_PIN;
PORTD |= LED_PIN;
DDRB &=~KEY_PIN;
PORTB |= KEY_PIN;





while (1){

if (KEY_DOWN) {
LED_TOG;
_delay_ms(1000);}


else{
LED_OFF;}

}

}



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sie 2018, o 20:30 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3230
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

topic7402.html

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sie 2018, o 05:36 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2606
Pomógł: 129

X<<5 to nie to samo co X<5



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sie 2018, o 07:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1188
Lokalizacja: Kraków
Pomógł: 95

Jeżeli ma zamrugać 5 razy, to robisz tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Oczywiście zmienną i musisz wcześniej zadeklarować.

EDIT:
Jeżeli będziesz cały czas trzymał wciśnięty przycisk, to mruganie się powtórzy. Jeżeli puścisz przycisk, i tak mrugnie 5 razy, a dopiero później się wyłączy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2018, o 14:14 
Offline
Nowy

Dołączył(a): 28 sie 2018
Posty: 2
Pomógł: 0

Ooo działa, troche z tą deklaracją to miałem problem bo ( init i=0; // wpisałem po, int mai(void), a próbowałem przed jako #define i=0.
Oczywiście musze przetrawić niebieską książke jeszcze pare razy.
Ale wielkie dziękuje, dostosuje się do kolegi Jaglarz i poprawie wpisy do forum .
Normalni to malutkie 5V ale jaka moc



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: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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