Znaleziono 27 wyników

autor: Wesker
06 lip 2010, 16:44
Forum: AVR/AVR32
Temat: Problem z rejestrem przesuwnym
Odpowiedzi: 2
Odsłony: 3798

W kodzie PORTB = (dana & 0x80); dana<<=1; Będzie się zmieniał PORTB.7 a nie PORTB.0 jak we wcześniejszym kodzie. Do odwrócenia kolejności bitów możesz wykorzystać poniższą procedurę //********** USI_UART functions **********// // Reverses the order of bits in a byte. // I.e. MSB is swapped with LSB,...
autor: Wesker
05 lis 2009, 17:35
Forum: AVR/AVR32
Temat: BASCOM + Atmega 8 = problem w obsłudze wyświetlacza LED
Odpowiedzi: 6
Odsłony: 8790

Tak zmniejszając do 0 z 1 rzeczywiście zostanie wpisana wartość 9, ale jeśli Wart=0 po zwiększeniu do 9 to co będzie? Mam jeszcze pytanie jakie były domyślne wartości w opcjach kompilatora: $HWSTACK $SWSTACK $FRAMESIZE Oczywiście lepiej jest wszystko pisać w kodzie wtedy inni korzystający z programu...
autor: Wesker
05 lis 2009, 17:22
Forum: AVR/AVR32
Temat: kilka pytań na temat ogólny (bascom avr)
Odpowiedzi: 6
Odsłony: 5717

Przykład zapamiętania poprzedniego stanu: Dim A1 as Bit '... A1=A '... Do '... If A1<>A Then A1=A 'do zrobienia End If '... Loop Jeśli chodzi o przerwanie od zmiany stanu to dotyczy nowszych atmeg i attiny np. używałem tego w attiny85. U mnie deflcdchar działa w symulacji i mogę to sprawdzić bez pro...
autor: Wesker
04 lis 2009, 18:02
Forum: AVR/AVR32
Temat: kilka pytań na temat ogólny (bascom avr)
Odpowiedzi: 6
Odsłony: 5717

2. Servo ustawi się na wartość odpowiadającą liczbie (w praktyce ta liczba odpowiada szerokości impulsu) nie ma żadnego sumowania.
3. Są dwie opcje:
- zapamiętanie stanu poprzedniego i po zmianie update
- wykorzystanie przerwania od zmiany stanu
autor: Wesker
04 lis 2009, 17:54
Forum: AVR/AVR32
Temat: BASCOM + Atmega 8 = problem w obsłudze wyświetlacza LED
Odpowiedzi: 6
Odsłony: 8790

Składnia polecenia Load powinna być następująca Load Timer0, 255 gdzie 255 to liczba impulsów po których zliczeniu nastąpi przepełnienie. Dla 8-bitowego timer0 można z niej zrezygnować. Warunki przy zmianie wartości Wart są nie do końca przemyślane. Przykładowo zwiększasz wartość Wart ponad 9 co daj...
autor: Wesker
19 maja 2009, 18:05
Forum: AVR/AVR32
Temat: Problem z mrygającym LCD
Odpowiedzi: 5
Odsłony: 6345

Jeśli wyświetlamy coś na stałych pozycjach(a widzę, ze do tego dążysz) warto wyrzucić CLS ponad pętle do loop i migania nie będzie bez względu na opóźnienie.
autor: Wesker
19 maja 2009, 17:59
Forum: AVR/AVR32
Temat: Wyświetlacz LCD 2x16. Obsługa w C.
Odpowiedzi: 4
Odsłony: 10652

W pliku hardware.h widzę, że definiujesz wszystkie wyprowadzenia(jak w Bascomie), ale autor w tym akurat przypadku napisał funkcje LCDsendHalf, która wymaga by linie wyświetlacza D4 do D7 były dołączone do kolejnych wyprowadzeń portu począwszy od zdefiniowanego LCD_D4 reszta nie była definiowana. Np...
autor: Wesker
17 maja 2009, 21:46
Forum: AVR/AVR32
Temat: Wyświetlacz LCD 2x16. Obsługa w C.
Odpowiedzi: 4
Odsłony: 10652

Kod: Zaznacz cały

LCDsendHalf(LCDC_FUNC|LCDC_FUNC8b);
Wywołanie funkcji z takim parametrem powinno wystąpić trzykrotnie podczas inicjalizacji. Dodaj tą linię i opóźnienie 200us zaraz po tej drugiej.
autor: Wesker
17 maja 2009, 21:04
Forum: AVR/AVR32
Temat: [attiny2313] PCF8583 problem z rejestrami miesiecy i dni
Odpowiedzi: 1
Odsłony: 3792

Jeśli nie jest ustawiony bit 3 w rejestrze control to możesz odczytywać datę wraz z rokiem(szczegóły znajdziesz w dokumentacji układu). Możliwe też, ze zapisujesz złe dane do tego rejestru, ale tego nie widać na tym listingu. Przed zapisaniem musisz zamienić format danych wykorzystując funkcje makeb...
autor: Wesker
31 mar 2009, 21:30
Forum: MSP430
Temat: IAR E.W. - problem z pętlą (śmieci na wyjściu)
Odpowiedzi: 2
Odsłony: 26068

Właściwie to opóźnienie wydaje się być dobrze zrobione. Samo opóźnienie proponuje sprawdzić zmieniając stan pojedynczego wyprowadzenia np. xor.b #001h, &P2OUT. Natomiast brakuje mi odpowiedniego ustawienia portu 2 w Twoim programie. Wypróbuj ten fragment: mov.b #0ffh, &P2DIR ; wszystkie linie wyjści...
autor: Wesker
26 lip 2008, 17:14
Forum: AVR/AVR32
Temat: char zamiana na ansii
Odpowiedzi: 4
Odsłony: 4510

Moim zdaniem powinno być tak: unsigned int a=4849; //argumentem twojej funkcji jest liczba dodatnia bez znaku char buffer[5]; //dla liczb do 99999 potrzeba 5 znaków string_ptr= & buffer[0]; //wskaźnik trzeba zainicjować, może być też string_ptr=buffer; // ale od razu możesz przekazać do funkcji nazw...
autor: Wesker
24 lip 2008, 16:30
Forum: AVR/AVR32
Temat: char zamiana na ansii
Odpowiedzi: 4
Odsłony: 4510

by liczbę zamienić na asci wystarczy użyć dzielenia całkowitego i dodać '0'.
autor: Wesker
30 maja 2008, 7:30
Forum: AVR/AVR32
Temat: Obsługa głośniczka i wyświetlacza 7seg poprzez 4543
Odpowiedzi: 13
Odsłony: 11077

Nie dołączyłeś się do wyjść PWM czyli PB4(OC1B), PB3(OC1A), PB2(OC0A) lub PD5(OC0B). I chociaż można generować odpowiedni sygnał z każdego wyjścia (np. w BASCOMIE jest polecenie SOUND) to jednak nie polecam takiego rozwiązania. Timery są po to, że raz skonfigurowane i uruchomione nie potrzebują nadz...
autor: Wesker
29 maja 2008, 11:25
Forum: AVR/AVR32
Temat: atmega8 i timer1
Odpowiedzi: 4
Odsłony: 6338

1. Nie potrzebnie odblokowujesz przerwanie skoro i tak z niego nie korzystasz.
2. Nie widać schematu więc nie ma pewności czy wejście jest podciągnięte zewnętrznie i tam może być problem
autor: Wesker
24 maja 2008, 21:50
Forum: AVR/AVR32
Temat: Obsługa głośniczka i wyświetlacza 7seg poprzez 4543
Odpowiedzi: 13
Odsłony: 11077

Żeby za dużo nie pisać zobacz ten przykład ede . Natomiast kondensatory 100nF montuje sie blisko układu scalonego i dołącza do wyprowazeń zasilania. Jeśli układ pracuje z zasilaczem dodaj jeszcze jeden kondensator 100uF(też na zasilanie) dla całego układu.