Czy pamiętałeś aby w moim kodzie zmienić przypisania portów? Domyślne ustawienie u mnie jest następujące: #define LCD_RS_DIR DDRA #define LCD_RS_PORT PORTA #define LCD_RS (1 << PA2) #define LCD_E_DIR DDRA #define LCD_E_PORT PORTA #define LCD_E (1 << PA3) #define LCD_DB4_DIR DDRA #define LCD_DB4_PORTPORTA #define LCD_DB4 (1...
Właściwie nie do końca rozumiem, o co Ci chodzi, jak to zrobić w pliku HD44780.h biblioteki LCD [syntax=c]//----------------------------... // // Konfiguracja sygna��w steruj�cych wy�wietlaczem. // Mo�na zmieni� stosownie do potrzeb. // //--------------------------------------...
Możesz wrzucić jakiś schemat jak to masz w rzeczywistości połączone? Po za tym chyba pomiędzy, LCD_Clear(); a LCD_WriteText("Hello"); powinno być void LCD_GoTo(unsigned char, unsigned char); np. void LCD_GoTo(0,0); bo skąd ma wiedzieć w którym wierszu i kolumnie ma wyświetlić tekst? I jak to jest że u mnie po otwarciu te biblioteki z podanego przez...
[syntax=cpp] #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define wys1 PORTA = 0b11111110 #define wys2 PORTA = 0b11111101 #define wyl PORTA = 0xFF; int cyfra(int _cyfra); char licznik = 0; int w1, w2, i; SIGNAL(SIG_OVERFLOW0) { if (i==1 ) { wyl; PORTB=cyfra(w1); wys1; i=0; } else {...
W pliku lcd.h zamień: #define LCD_PORT PORTA na #define LCD_PORT PORTD na przykład.
#define S65_PORT PORTA #define S65_RS 0 // Pin 1 #define S65_RST 1 // Pin 2 #define S65_CS 2 // Pin 3 #define S65_CLK 3 // Pin 4 #define S65_DTA 4 // Pin 5 To znaczy ,że bit 0 portu A to RS czyli: PA0 - RS PA1 - RST PA2 - CS PA3 - CLK PA4 - DTA Co do zasilania to nie pamiętam, podłączam obydwa do 3,3V mój po włączeniu zasilania na "kolorowy śnieg"...
Błąd jest tutaj: [syntax=c]#define LED_0_OFF PORTA &= (1<<0)[/syntax] nie gasi diody bo zabrakło tyldy :) PS. Dodałem Ci 50 punktów, bo masz zero, a mogą się przydać :)
Jeżeli kolega może podłączyć kwarc 16MHz, to po powrocie z pracy mogę załączyć sprawdzony program termometru z atmegą 32, wspomnianym kwarcem i obsługą LCD 2x16. Układ DS18b20, jak inne układy 1-wire wymagają bardzo dokładnych czasów, żeby się poprawnie skomunikować. Ja też trochę powalczyłem zanim zobaczyłem prawidłową temperaturę. Zgodnie z obietnicą:...
tak masz: #define LED_on PORTA &= 0xFE; #define LED_off PORTA |= 0x01 spróbuj tak #define LED_on PORTA &=~ _BV(0); #define LED_off PORTA |= _BV(0); lub czysto z Twojego #define LED_on PORTA |= 0xFE; #define LED_off PORTA |= 0x01 i/lub #define LED_on PORTA &=~ 0x01; #define LED_off PORTA |= 0x01 zapoznaj się z operatorami logicznymi
Schematu jako takiego nie mam. Konfiguracja jest opisana na początku kodu: [syntax=c] #define SET_OUT_CLR DDRA |= (1<<PA4) #define SET_CLR PORTA |= (1<<PA4) #define CLR_CLT PORTA &= ~(1<<PA4) #define SET_OUT_DT DDRA |= (1<<PA5) #define SET_DT PORTA |= (1<<PA5) #define CLR_DT PORTA &= ~(1<<PA5) #define SET_OUT_RST...
Czytaj co pisze w komentarzu pliku .h: [syntax=c]//----------------------------... // // Konfiguracja sygnałów sterujących wyświetlaczem. // Można zmienić stosownie do potrzeb. // //--------------------------------------... #define...
Wydaje mi się, że najlepiej tak jak pisał kolega przez #define np. #define PORT0 PORTA.1 #define PORT1 PORTA.4 itp..
w programie glownym nie ustawiasz portow tylko w bibliotece. schemat ok :) tzn jesli korzystac z tej ze strony ktora podales :) konkretnie tutaj #define LCD_RS_DIR DDRA #define LCD_RS_PORT PORTA #define LCD_RS (1 << PA2) #define LCD_E_DIR DDRA #define LCD_E_PORT PORTA #define LCD_E (1 << PA3) #define LCD_DB4_DIR DDRA #define...
W sumie to dalej nie wiem jak masz to podłączone, ale zgaduje że po najmniejszej linii oporu, czyli do PORTU B. RS -> PB2 E -> PB3 DB4 -> PB4 DB5 -> PB5 DB6 -> PB6 DB7 -> PB7 A biblioteka Radzia wydaje się być domyślnie skonfigurowana dla PORTU A którego 90s2313 nie posiada. Zgaduje że edytowałeś ją pod port B? // Konfiguracja sygnałów...
Dziękuje za kod bacznie się mu przyjrzę ale w międzyczasie napisałem coś takiego i chciałbym byś powiedział czy taka definicja ma szansę zdziałać.. [syntax=c] //********** define portów wyjściowych cyfr dla lampy NIXIE LC513 #define nx_0 PORTB = 0x40,/*cyfra 0*/ #define nx_1 PORTA = 0x40,/*cyfra 1*/ #define nx_2 PORTA = 0x01,/*cyfra 2*/ #define nx_3...
#include <avr/io.h> #include <compat/deprecated.h> #define SPP cbi(PORTA,PA3);sbi(PORTA,PA2... #define SPM cbi(PORTA,PA2);sbi(PORTA,PA3... #define SPOFF cbi(PORTA,PA2);cbi(PORTA,PA3... #define LED1_ON sbi(PORTA,PA0) #define LED1_OFF cbi(PORTA,PA0) #define LED2_ON sbi(PORTA,PA1)...
Aby kod łatwo było analizować używaj znaczniki SYNTAX: [syntax=c] tu wklej Twój kod [/syntax] Plik : HD44780.c Plik : HD44780.h Dodano po 25 Ja połączyłem je w ten sposób ale pewnie źle bo wystąpiły błędy w kompilacji. Proszę o pokazanie mi sposób połączenia tych dwóch plików w prawidłowy sposób. Pierwsze uwagi: - te dwa pliki to tylko...
Witam, czy istnieje możliwość przechowania nazw portów i pinów w tablicy lub podobnej strukturze (coś na kształt tablicy definicji), tak żeby można je wywoływać kolejno w pętli, posługując się tylko indeksami tej tablicy? Zamiast tworzyć coś takiego: -------------------------- #define PORT_OUT1 PORTA #define OUT1 0 #define PORT_OUT2 PORTA #define OUT2...
Ustaw jako wyjścia A0,A1,A2 i spróbuj tak: void cyfra1(void) { PORTA = 0x01; } void cyfra2(void) { PORTA = 0x02; } void cyfra3(void) { PORTA = 0x04; } Odpada ci robienie ON OFF do każdego wyświetlacza. Każdy wyświetlacz wywołujesz przez cyfra1();, cyfra2(); albo cyfra3(); albo możesz też przez makra:...
Tinny OK i program raczej też bo diody podłczone bezpośrednio pod niego mrugają i bufor też wtedy działa. Oto kod: #include <avr/io.h> #define LED_ON0 DDRA |= _BV(PA0);PORTA |= _BV(PA0); #define LED_ON1 DDRA |= _BV(PA1);PORTA |= _BV(PA1); #define LED_ON2 DDRA |= _BV(PA2);PORTA |= _BV(PA2); #define...
to 4-segmentowy wyświetlacz. anody podłączone są do portu C, a katody do portu A. poniżej wkleje kod którym sprawdzam co się dzieje. #include <avr/io.h> #include <avr/delay.h> #define ZERO PORTA=0xff #define JEDEN PORTA=0x00 #define DWA PORTA=0xff #define TRZY PORTA=0x00 int main(void) { DDRA=0xff; DDRC=0xff; PORTA=0xff; PORTC=0xFF;...
Witam Napisałem króciutki program do przetestowania wyświetlacza widmowego i działa nie do końca dobrze. Jak na filmiku(wiem że fatalna jakość ale marny aparat i marne diody) wskazówka obraca sie tak jak powinna prawie cały obrót a potem dzieją się czary. [syntax=c]#include<avr/io.h> #include<avr/interrupt.h> #include<util/delay.h>...
Witam. jeżeli kogoś to jeszcze interesuje... procesor ATMEGA16 taktowany zegarem 16MHz ... udało mi się częściowo poskromić ten lcd. w sposób bezpośredni ... walczę ze zrozumieniem sposobu wyświetlania ... lecz wartość na porcie d powoduje zalozone zmiany od pojedyńczego paska (pionowego) do zaświecenia całego LCD lcd cienki potencjometr kontrasu pomiędzy...
Witam, Na wstępie powiem że jestem początkujący i proszę o wyrozumiałość. Szukałem odpowiedzi na forum, ale nie rozwiązałem problemu. Otóż mam problem z wyświetlaczem na układzie hd44780, korzystam z biblioteki: http://radzio.dxp.pl/hd44780/ , połączenie również ze schematu na tej stronie(4-bit bez odczytu flagi zajętości). Problem polega na tym że...
Ściągnąłem biblioteki ze strony http://radzio.dxp.pl/hd44780/ . Początkowo ustawienia oryginalne zmieniłem na: E -> PB2 R/W -> GND RS -> PB0 D4-> PD4 D5-> PD5 D6-> PD6 D7-> PD7 I one działały. A po zmianie ustawień portów program przestał działać. Na wyświetlaczu 2x16 pojawiają się jedynie kwadratu w pierwszej linii. Fragment kodu...
Oto kod: #include <avr/io.h> #include <util/delay.h> /* przydatne definicje pinów sterujących */ #define IN1 PA6 #define IN2 PA7 #define IN4 PA4 #define IN3 PA5 /* definicje poleceń sterujących pracą silnika */ #define DC_A_LEWO PORTA &= ~(1<<IN1); PORTA |= (1<<IN2) #define DC_A_PRAWO PORTA |= (1<<IN1); PORTA &=...
kurcze teraz to zawiłe się zrobiło po majsterkuje dziś wieczorkiem i napiszę co z tego wyszło :) jeśli dobrze rozumiem zrobić tak : #define LCD_RS_DIR DDRA #define LCD_RS_PORT PORTA #define LCD_RS_PIN PINA #define LCD_RS (1 << PA0) #define LCD_E_DIR DDRA #define LCD_E_PORT PORTA #define LCD_E_PIN PINA #define LCD_E (1 << PA2)...
Dodanie opóźnień przed inicjacją wyświetlacza i po nic nie pomaga. Poniżej kod główny programu. biblioteka TWI od radzio.dxp.pl, a od wyświetlacza od Mirosława Kardasia. [syntax=C]#include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <inttypes.h> #include <avr/interrupt.h> #include "TWI.h" #include "LCD.h"...
Np. #define jed_bit PORTA,0 #define jest dyrektywą asemblera, w helpie mplaba znajdziesz.
Witam Jak w temacie,sprawdzałem kod kilka razy i wszystko wydaje się w porządku a jednak nie działa tak jak powinno. ziel_on to włączenie wskazówki sekund w zegarze widmowym. Według mnie powinno działać,mam 10 000 przerwań na sekundę,wynik mnożę razy 100 i dzielę przez 60 tak by wstawić do pętli z _delay_us. Działa tak że wskazówka mignie od czasu do...
Jest ktoś w stanie z szanownych kolegów pomóc w sprawie tego kontrastu? Kontrast mam wpięty w ten sposób.potencjometr 10K pomiędzy VCC i GND a suwak do VO wyświetlacza ,regulacja napięcia na VO działa poprawnie(zmienia się napięcie w całym zakesie 0...5V ) ale widać tylko cienie napisu na LCD i nie działa tak naprawdę ta regulacja.A może mam coś nie...
LIST P=16F84 INCLUDE "p16f84a.inc" __CONFIG _PWRTE_ON & _LP_OSC & _WDT_OFF #define W1OUT PORTB #define W1IN PORTB,1 #define W1UP PORTB,6 #define W1DOWN PORTB,5 #define W1LED PORTA,0 #define W2OUT PORTB,2 #define W2IN PORTB,3 #define W2UP PORTB,7 #define W2DOWN PORTB,4 #define W2LED PORTA,1 #define W_TRIS TRISB licznik equ h'0C' w1stop equ...
Z tego co widzę w Pańskim kodzie to nie ma żadnej komunikacji z wyświetlaczem. Ta definicja portów z Pańskiego kodu nie ma prawa zadziałać. Ze schematu wynika, że LCD jest podłączony do portu A i C. Definicja ustawień dla kodu ze strony Radosława (należy zmodyfikować tę sekcję w pliku HD44780.h) powinna wyglądać następująco: #define LCD_RS_DIR DDRC...
#include <avr/io.h> #define F_CPU 16000000L #include <util/delay.h> #include <float.h> #include <inttypes.h> #include <math.h> #include <stdio.h> #define stop1 PORTA|=(0<<PA3); PORTA|=(0<<PA4) #define lewo1 PORTA|=(0<<PA3); PORTA|=(1<<PA4) #define prawo1 PORTA|=(0<<PA4);...
Witam, mam pewien dylemat z bardzo banalnym programem: [syntax=c]#include<stdio.h> #include<avr/io.h> #include<util/delay.h> #include<io51.h> #define on PORTA |= _BV(PA7) #define off PORTA &= ~(_BV(PA7)) #define echo PINB2 #define trigON PORTD |= _BV(PD7) #define trigOFF PORTD &= ~(_BV(PD7)) #define ledon PORTA |= _BV(PA6)...
Przejrzałem kod i w zasadzie wszystko sprowadza się do przerobienia funkcji dput, cput i dget lub definicji sterowania portami. W sumie najlatwiej podmienic sterowanie pinami w definicjach na początku : np: #define WRHI PORTA.0=1 #define WRLO PORTA.0=0 zamieniasz na : #define WRHI_PIN 10 // pin do ktorego jest podpieta linia WRHI #define WRHI *AT91C_PIOA_SODR=(1<<WRHI_PIN&...
Jeśli dobrze zrozumiałem kod wyglądałby mniej więcej tak: [syntax=c]#include <avr/io.h> #include <util/delay.h> //definicje pinów sterujących #define WE_A PA0 #define WE_B PA1 // definicje poleceń sterujących pracą silnika #define DC_LEWO PORTA &= ~(1<<WE_A); PORTA |=(1<<WE_B) #define DC_PRAWO PORTA |=(1<<WE_A); PORTA...
Witam i proszę o wyrozumiałość gdyż dopiero zaczynam zabawę z prockami. Chciałbym podłączyć do procesora 2 silniczki DC jednak zanim to zrobię (L293d) podłączyłem 4 diody z opornikami 360 omów. W programie funkcja sprawdza czy klawisz został wciśnięty tak więc mam cztery "if" problem polega na tym że z dwoma pierwszymi wszystko działa jak należy. Jak...
Drogi kolego Zmień sobie defina na: #define PORT_AD PORTA #define DDRD_AD DDRA Miałeś: PORTC i DDRC -> według pdfa przetwornik jest na porcie A, nie C:-) Całkowity koszt usługi 0zł ;P
Tak z ciekawości, jaka częstotliwośc zegara udało ci sie uzyskać na PIC'u i jaką metodą? Domyślam się iż chodzi o zegar matrycy (bo zegar procesora łatwo obliczyć znając f kwarcu). Zegar matrycy przy kwarcu 33.86MHz wynosi 10.456kHz. A metoda wygląda tak: list p=16f628a, r=hex #include p16f628a.inc ;__config b'11111100010000' __config b'11111100000010'...
#define BLOKADA_PORT PORTA #define BLOKADA_PIN PINA #define BLOKADA_DDR DDRA #define BLOKADA_bit 7 #define BLOKADA (1<<BLOKADA_bit) ... BLOKADA_PORT|=BLOKADA; ... if(BLOKADA_PIN&BLOKADA) { ... } ... 4\/3!!
układ zlutowany już po małych przejściach 2 razy padły mi tranzystory ale mam nadzieję że to już się nie powtórzy. Mam natomiast problem z procesorem ATtiny26 dziwna sprawa bo na porcie A stan Zerowy czyli logiczne 0 wynosi około 2.5 V napięcie to jest niestety na pograniczu wykrywalności bramek NOR i układ wariuje na wyjściu podaje różne sygnały lub...
ATmega324PA jak napisałem w pierwszym poście. Schemat w załączniku. Inicjalizacja IO: [syntax=c] #define SHCPon DDRA |= _BV(0);PORTA |= _BV(0); //SCK/SRCLK pin 11 ////////////////////////////////poprawić połączenia na płytce #define SHCPoff DDRA |= _BV(0);PORTA &= ~_BV(0); #define DSon DDRA |= _BV(3);PORTA |= _BV(3);//SI/SER/DS pin14 #define DSoff...
Witam, Po przesiadce z Atmegi8 na wersję 32 postanowiłem ponownie złożyć układ z wyświetlaczem i dwoma termometrami, niestety pomimo użycia tego samego kodu już na początku mam problemy. Po sukcesywnym załadowaniu programu Atmega startuje i prawdopodobnie wywraca się na funkcji lcd_init i nie chce ruszyć dalej. Wspomagalem sie dioda sygnalizacyjna i...
To co na schemacie jest VO, powinno być GND. A potencjometr do regulacji kontrastu jest - zapomniałem wstawić go na schemat. Jeśli chodzi o program, to przed procedurą LCDinit(); rejestr PORTA ma wartość 0 (chodzi mi o bity DB), następnie w pętli jego wartość podlega jedynie operacji AND - zatem nie zostanie ustawiony ani jeden jego bit Wiem, ale zrobiłem...
Witam!! Spróbuj tak: #define LED PORTA.7 LED = 1; lub odrazu można pisać tak: PORTA.7 = 1 pozdrawiam
Dzień dobry. Mam problem z przetwornicą obniżającą napięcie. Napięcie na wyjściu zaczyna się pojawiać przy około 50% wypełnienia przebiegu PWM(22V - napięcie wejściowe, napięcie wyjściowe 3V). Dla napięcia 5V wyjściowego wypełnienie wynosi 100%. Tranzystor Q1 po około 1 minucie pracy jest gorący. Dławik L3 został zmieniony na 220uH. Mikrokontroler jest...
Cóż.... Wstyd mi ;) Na spokojnie wykonałem testowy programik ponownie i co mogę powiedzieć. Banał. Wszystko działa jak chciałem. W czym był wcześniej problem nie wiem. #define F_CPU 8000000UL #include <inttypes.h> #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define led_2_switch PORTA ^= _BV(5)...
PB4 > SEG A PB3 > SEG F PB1 > SEG D PB0 > SEG C PA1 > SEG B PA0 > SEG E PD2 > SEG DP PD3 > SEG G Uczę się programować (w wolnych chwilach :/ ). Czy negacja ma tak wyglądać jak poniżej? [syntax=c]#define DISP_A_PORT PORTB #define DISP_A_PN ~_BV(PB4) #define DISP_B_PORT PORTA #define DISP_B_PN ~_BV(PA1) #define DISP_C_PORT PORTB #define DISP_C_PN ~_BV(PB0)...
Przeczytałem Twoje sprostowanie. Więc: Moje: #define PIN(x) (*(&x - 2)) #define KL_PORT PORTA #define SET_LEFT_PINPIN(KL_PORT) & 1<<LEFT_PIN i dalej: }while(SET_LEFT_PIN) Jest źle, czy dobrze? PS: Po co #define mySFR PINA jak można: y=PINA
jeśli dobrze Cie zrozumiałem mam zmienić podłączenie lcd na płytce? (DB4 -> PC4 itd.)? Niestety płytkę mam wytrawioną i zmontowaną i byłoby to trochę kłopotliwe... Mogę dodać, że korzystałem również z biblioteki (i pliku c) podanej na tej stronie: http://hobby.abxyz.bplaced.net/index.php... jednak efekt był taki sam Dodano po 3 hd44780.h...
Witam wszystkich, od paru dni walczę z obsługą ekspandera MCP23S17. Dopiero dziś udało mi sie zmusić go żeby w ogóle zareagował na wysyłane dane jednak nie reaguje tak jak powinien. Procesor PIC32MX250F128B działa na 40MHz. SPI konfiguruję tak: [syntax=c]PLIB_SPI_Disable(SPI_ID_1); PLIB_SPI_MasterEnable(SPI_ID_1); PLIB_SPI_SlaveSelectEnable(SPI_ID_1);...
Witam dawno mnie nie było, Zrobiłem sobie układzik z Atmegą 32 16 Hz. Póki co do portu PA0 i PA1 podczepiłem diody i miało mi to migać nimi na zmianę. #include <avr/io.h> #include <compat/deprecated.h> #define LED1_ON sbi(PORTA,PA0) #define LED2_OFF cbi(PORTA,PA1) #define LED1_OFF cbi(PORTA,PA0) #define LED2_ON sbi(PORTA,PA1)...
Witam Ponizej przedstawiam kod programu sterownika który ma sterowac silnikiem bipolarnym z napedu dyskietek za pomocą Mach 3 przez port lpt. Niestety jak podłącze do sterownika (na bazie atmega 16) sygnały step i dir wysyłane na port lpt to silnik jest trzymany (trzeba włożyc siłe aby palcami go obrucić) a sam nie obraca sie ani w prawo ani w lewo....
[syntax=cpp]/* |------------------------------| | "pov_clock.c" | | Michal Olichwer | | Krzysztof Rosinski | | Wyswietlacz Widmowy !!!! | | ATmega 8MHz zew. | |------------------------------| */ #define L0_OFF PORTB|=(1<<4); #define L0_ON PORTB&=(1<<4) #define L1_OFF PORTB|=(1<<3); #define L1_ON PORTB&=(~(1<<3)) #define...
Mam pewien problem ze skompilowaniem programu mającego wyświetlić jakikolwiek tekst na ekranie lcd 2x16 w standardzie HD44780. Zamieszczam kod programu oraz podstawową treść błędu. Będe wdzięczny za pomoc bo troszeczkę to irytujące. Błąd przy kompilacji jaki otrzymuje to ../task1.c:54: error: 'PA4' undeclared (first use in this function) i tak dalej...
witam zmodyfikowany kod pod sprzętowe SPI niestety nie działa brak wyświetlania informacji o współrzędnych czekam na sugestie... avr mega 32 zegar wewn 8MHz main fragment [syntax=c] if (!(PINA & Touch)) { ili9341_setcursor(100,180); printf("Wcisniety"); InitSSpi(); spr=TGetXRaw() printf((char*)spr) } [/syntax] oraz obsługa touch [syntax=c] #define...
chciałbym odświeżyć temat. zacząłem przygodę z programowaniem i napotkałem problem przy obsłudze przerwań. tak jak autor tematu chciałem zacząć od włączenia diody; napisałem prosty programik kompiluje się bez błędów ale po za ładowaniu do procka nie działa. Kod: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h>...
Niestety, w Twoim konkretnym przypadku trzeba ten kod dalej zmodyfikować. Możesz w tej postaci obsłużyć czujniki na procie np PD7 i PD0 ale nie na różnych portach. Obecnie, wywołując funkcję Read_DS18B20 podajesz dosłownie numer pinu na którym podłączony jest czujniki dla danego portu, sam port jest zdefiniowany globalnie #define IW_DDR DDRA #define...
Prosty program na AVRStudio : #include <m16def.inc> ; Prohibits use of non-implemented instructions (ATmega16) .dseg .org SRAM_START .cseg ;—————R...
Tia z WGK. Fałsz wynika z tego, że podaje sie prostokąt. Nie ma to jak 3 i 5 harmoniczna... Przynajmniej tak mi się wydaje... No i może troche niedokładnie są częstotliwości. #include <avr/io.h> #include <compat/deprecated.h> #define SPP cbi(PORTA,PA3);sbi(PORTA,PA2... #define SPM cbi(PORTA,PA2);sbi(PORTA,PA3...
jakby to bylo takie proste: wlasciwie przekopiowalem kod : #define BYTE unsigned char #define RTC_CLK 0 #define RTC_DATA 1 #define RTC_RES 2 #define SetBit(ADRESS,B) ((ADRESS) |= (1<<(B))) #define ClearBit(ADRESS,B) ((ADRESS) &= ~(1<<(B))) #define CheckBit(ADRESS,B)...
U gory bedzie: zamiast -------------------------------------- bsf RP0 ;bank1 movlw 0f0h movwf trisb ;RB7..RB4 wejsciowe, RB3..RB0 wyjściowe -------------------------------------- zrob - movlw 0 bedzie RB0-RB7 wyjsciowe Na samej gorze zamiast: #define E porta,1 wpisz #define E portb,3 a zamiast #define RS porta,0 wpisz #define RS portb,2 Radze jednak...
Cześć, Wcześniej korzystałem z gotowych bibliotek do ustawiania tekstu na wyświetlaczu. Był to kod z popularnego kursu. [syntax=c]/* Plik main.c KURS AVR-GCC cz.5 Wyświetlacz alfanumeryczny LCD HD44780 (schemat i opis działania w artykule) układ atmega16 (1MHz) */ #include <avr/io.h> #include <util/delay.h> /* Wstawia w tym miejscu zawartość...
#define PA7 = { .PORT = &PORTA, .PIN = &PINA, .DDR = &DDRA, .MASK = 128 } I czasami chaiałbym użyć wygodnego pinMode (PA7, OUTPUT); To raczej nie zadziała. Możesz to rozwiązać na kilka sposobów. 1. PA7 jest stałą. [syntax=c] #define PA7_INIT = { .PORT = &PORTA, .PIN = &PINA, .DDR = &DDRA, .MASK = 128 } const struct TPIN PA7= PA7_INIT; [/syntax] 2....
Witam, Odgrzeję trochę temat. Używam: - Atmega32, - AVT-1443 (RTL8019AS), - AVRlib. Próbuję odpalić przykładowy program "netstack" z folderu "examples". Podłączenie RTL<->Atmega jest następujące (wg. oznaczeń AVT): GND -> GND +5V -> VCC A0 -> PA0 A1 -> PA1 A2 -> PA2 A3 -> PA3 A4 -> PA4 A5, A6, A7, A10, A11, A12, A13, A14,...
Program po naciśnięciu przycisku ma zmieniać stan diody na przeciwny. Na logikę wydaje się dobry. Ale w praktyce to nie działa. Mógłby ktoś napisać dlaczego? Po usunięciu tego fragmentu: _delay_ms(30); if (bit_is_set(PINB, 2)) Gdy przycisk jest naciśnięty dioda mruga cały czas w rytm owych 30 ms. Nie jestem w stanie zrozumieć...
Witam. Chcę użyć tego kodu : [url=http://hobby.abxyz.bplaced.net/inde... Niestety nie dysponuje wolną ATMegą16 i chcę to zrobić na 8. Czy sygnał R/W mogę wpiąć do masy a resztę dać na PC0-PC5? Wtedy zmieniam tylko ten fragment kodu? (fragment poniżej) [syntax=c] #define SET_OUT_LCD_RS DDRA |= _BV(PA0) #define SET_LCD_RS PORTA |= _BV(PA0)...
lcd jest sprawny.. adc pod bascomem smiga z lcd a kazdy pin mozna przypisac... #define PORT_E PORTC #define PIN_E 3 #define PORT_RS PORTC #define PIN_RS 2 #define PORT_DB4 PORTC #define PIN_DB4 4 #define PORT_DB5 PORTC #define PIN_DB5 5 #define PORT_DB6 PORTD #define PIN_DB6 7 #define PORT_DB7 PORTA #define PIN_DB7 7 tylko ddry w mainie trzeba pozmieniac.....
Witam serdecznie, Zwracam się z następującym problemem: Chciałbym w poniższym kodzie zmienić adres portu z PORTA0 na PORTB1: #defineTXportPORTA,0x00; RS232 output port, could be #defineTXtrisTRISA,0x00; any active push/pull port Czy po zmianie poprawnie będzie? : #defineTXportPORTB,0x01; RS232 output port, could be #defineTXtrisTRISB,0x01; any active...
[syntax=asm]list p=16f628, r=hex; #include p16f628.inc __config h'3f10' errorlevel-302 #define weportb,4 #define we1portb,3 #define wy4porta,3 #definelop.150 #definelopp.6 cblockh'20' l1, l2, l3, l4, d1, d1_1 endc adequh'2101' movlwh'07' movwfcmcon clrfporta bsfstatus,rp0 bcfpcon,oscf movlwb'00010000' clrftrisa bcfoption_reg, not_rbpu bcfstatus,rp0[/syntax]
OK.Spoko rozumiem, ale wg Ciebie to kwestia czasów? Bo kombinowałem własnie w tym fragmencie kodu #define LCD PORTA #define DLCD DDRA #define LCD2 PORTC #define DLCD2 DDRC #define E 6 #define RS 7 // #define SET_E LCD2 |= _BV(E) #define CLR_E LCD2 &= ~_BV(E) // #define SET_RS LCD2 |= _BV(RS) #define CLR_RS LCD2 &= ~_BV(RS)...
Zrobiłem cos takiego: //--------------------------------------... // Wyświetlacz alfanumeryczny ze sterownikiem HD44780 // Sterowanie w trybie 4-bitowym bez odczytu flagi zajętości // z dowolnym przypisaniem sygnałów sterujących // Plik : HD44780.c // Mikrokontroler : Atmel AVR // Kompilator...
[syntax=c] //-- Zielona ----------------------------------------... #define GREEN_DDR DDRA #define GREEN_PORT PORTA #define GREEN 1 //-- Czerwona ----------------------------------------... #define RED_DDR DDRA #define RED_PORT PORTA #define RED 0 #define GREEN_TOGGLE GREEN_PORT ^= (1<<GREEN); #define GREEN_ON GREEN_PORT |= (1<<GREEN);...
Witam, mam za zadanie zrobić program zliczający impulsy enkodera, enkoder ma 100 działek/obrót. Chcę, aby po zliczeniu 100 impulsów zaświeciła się jedna część wyświetlacza(wspólna anoda), program wygląda następująco: [syntax=c]#define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> #define _BV(bit) (1 << (bit)) // wyswietlacz...
Witam, [syntax=c] //--------------------------------------... // Universal KS0108 driver library // Atmel AVR MCU low-level driver. // (c) Radosław Kwiecień, radek(at)dxp.pl //--------------------------------------... #include <avr/io.h>...
Zamieszczam schemat poglądowy dla jednego wyświetlacza: Rezystory na kolektorach to 270 Ohm Na bazach 33k Ohm http://obrazki.elektroda.pl/4212480300_1... Plik main: [syntax=c]#include <avr/io.h> #include <util/delay.h> #include "display.h" #include "hal.h" int main(void) { //Kierunki portów: DDRA=0b11111110; DDRB=0b11111111;...
ATMEGA32 nie posiada PORTE (tylko od PORTA do PORTD) W pliku harddef.h wykorzstyjesz PORTE w linijce #define SW_PORT E Pozatym chyba jeszcze Tobie brakuje linijki #include<stdint.h> (aby można było używać typy uint8_t, uint16_t itd)
Kontrast ustawiany więc to nie jego wina. Jeśli dobrze zrozumiałem powinna wystarczyć zmiana adresowania na taką? [syntax=csharp] #define LCD_CMD_PORT PORTA #define LCD_CMD_DIR DDRA #define LCD_DATA_IN PINC #define LCD_DATA_OUT PORTC #define LCD_DATA_DIR DDRC // Porty sterujące ----------------------------------------... // ----------------------------------------...
1. włączony JTAG Używam ATMegi16 standardowo nastawionej, fuse bity niezmieniane. 2. za wysokie taktowanie procesora Standardowo 1Mhz. 3. błąd w połączeniach Płytka planowana, mało możliwe. 4. błąd w twoim programie Używam bibliotek z //--------------------------------------... // Wyświetlacz...
#define LED1 (1<<PA4) PORTA &=~(1<<LED1); Widzisz błąd?
Dzięki michalko12 za zwrócenie na to uwagi, bo zmylił mnie ten ich symulator. Schematy były zgodne z tym co jest w nocie producenta http://obrazki.elektroda.pl/7996531800_1... http://obrazki.elektroda.pl/5642792700_1... Obecnie mam zmontowany schemat nr 2 (4bity, 5V), z tą różnicą, że RW mam na stałe do GND podłączony...
Witam, Mam następujący problem, napisałem program do obliczania wschodu słońca, program liczy i do tego momentu wszystko jest ok. Jednak gdy chce wyświetlić tą wartość na wyświetlaczu wtedy kompilator nie tworzy pliku wykonywalnego .elf i kompilacja staje: gcc plug-in: Error: Object file not found on expected location C:\***.elf Co może...
[syntax=c]void init_SW(void) //Klawisze funkcyjne { DDR(PORT_SW) &= ~(_BV(SW_MENU)) | ~(_BV(SW_PLUS)) | ~(_BV(SW_MINUS)) |~(_BV(SW_ENTER)); PORT(PORT_SW) &= ~(_BV(SW_MENU)) | ~(_BV(SW_PLUS)) | ~(_BV(SW_MINUS)) |~(_BV(SW_ENTER)); DDR(PORT_PAUSE)&= ~(_BV(SW_PAUSE)); PORT(PORT_PAUSE)&= ~(_BV(SW_PAUSE)); }[/syntax] [syntax=c]#define PORT_SW...
Na razie nie zajmowałem się programem od strony USB. "Sterowanie": mam na myśli jedynie ustawienie stanu niskiego i wysokiego pinów CS i RD/WR przetwornika zgodnie z datasheet przetwornika. Przez #define adc_port PORTA | PORTB chciałem zdefiniować, że sygnał z ADC wchodzi na piny portów A i B MCU.
Witam. Siedzę już nad tym długo i chyba oślepłem na tego buga więc proszę o pomoc. Na bitach 1-3 portu A odpalam sobie pwm z wypełnieniem 2/255. Wszystko działa ok tzn diody przez oporniki 220ohm do masy ledwo świecą. Potem próbuje wysyłać coś do wyświetlacza obsługiwanego przez piny 5-7 i sprawa się rypie bo diody zaczynają wariować, mimo że fizycznie...
Skorzystaj z tej biblioteki, u mnie na niej działa. [syntax=c]//----------------------------... // Wyświetlacz alfanumeryczny ze sterownikiem HD44780 // Sterowanie w trybie 4-bitowym bez odczytu flagi zajętości // z dowolnym przypisaniem sygnałów sterujących // Plik : HD44780.c // Mikrokontroler...
Witam, W kodzie jest błąd. Na schemacie masz piny E i RS podłączone do portu B, a linie danych do portu A. Prawidłowo powinno być to napisane np. tak #define LCD PORTA #define LCD_CTRL PORTB #define E PB6 #define RS PB7 // #define SET_E LCD_CTRL |= _BV(E) #define CLR_E LCD_CTRL &= ~_BV(E) // #define SET_RS LCD_CTRL |= _BV(RS)...
Witam, Podłącze sie pod temat... Też skorzystałem z programu źródłowe przykładów w języku C: graph_lcd, ale puki co GLCD (LGM12864B-NSW-BBS) nie działa... Pierwsze moje podejrzenie to czy dobrze skonfigurowałem #define? dla połączeń: /* DANE: PA RS: PD4 R/W: PD5 E: PD6 RST: PD7 --> ?CS3? CS1: PD2 CS2: PD3 */ #define KS0108_DATA_PORT...
AVE... (at)Piotrus_999 Już widzę błąd, powinno być (at)Freddie Chopin Próbowałem różnych wariacji poniższego kodu, ale program nie chce się skompilować. jakasnazwa.c jakasnazwa.c:30: error: (195) expression syntax jakasnazwa.c:30: error: (187) too few function arguments jakasnazwa.c:30: error: (194)...
W bibliotece Pana Radosława Kwietnia port danych to PORTA a porty sterujące to odpowiednio: RS- PORTC,0 ENA - PORTC,2 [syntax=c]#define LCD_RS_DIR DDRC #define LCD_RS_PORT PORTC #define LCD_RS (1 << PC0) #define LCD_E_DIR DDRC #define LCD_E_PORT PORTC #define LCD_E (1 << PC2) #define LCD_DATA_DIRDDRA #define LCD_DATA_PORTPORTA[/syntax] Czy...
JTAG'a brak czyli zostaje mi tylko symulacja Przykładowy kod programu z lewej zaznaczone dokąd dochodzi mi żółta strzałka #define F_CPU 16000000 #include <avr/io.h> #include <util/delay.h> #include <HD44780.h> #include <HD44780.c> //====Sterowanie serwem modelarskim===================== #define C4_0 PORTA &= ~(1<<PORTA4)...
Zwarcie Vcc do GND pomogło, ale dopiero takie dłuższe zwarcie ( 5 sek). Wyświetlacz ocnkął się, wyświetla dane, ale !!! ciekawostka, zegar stoi. Załaczam kod, taki wprost z Eclipsa, bez bibliotek. Jestem w trakcie przeróbki z innego projektu, proszę o wyrozumiałość. /* * main.c * * Created on: 2010-09-25 * * * PD7 - 1WIRE * PA0..PA7 - LD0..LD7 -...
Tu masz działający kod, tylko musisz poustawiać pod swój hardware sekcje configuration. Na końcu masz funkcję main tam masz 3 tryby pracy. Musisz jedną z nich odhaszować. Możesz zrobić kilka konfiguracji. Powinieneś zacząć od (1), tylko wysyłanie pakietów w "eter". Powinna Ci migać dioda od nadawania. Potem jeśli masz dwa zestawy uC i RFM12, to możesz...
Mam prośbę jak zdefiniować dwa czujniki ds18b20 na osobnych pinach atmegi16 w języku c ,tak aby temperatura zew i wewn były ciągle wyświetlane na lcd2X16.Chodzi mi o modyfikacje już działającego mi programu z jednym czujnikiem.Poniżej wstawiam mój działający plik.h na pinie PA0,proszę o pomoc. Poprawiłem temat na zgodny z regulaminem p. 3.1.15. Regulamin...
Witam, jestem początkującym w dziedzinie AVR oraz programowania w C. Chciałbym napisać prosty program obsługujący wyświetlacz LCD 2x16, z jego obsługą nie mam problemu. Moje problemy zaczęły kiedy chciałem użyć: #define LCD_PORTPORTA; kiedy kompilator trafia na LCD_PORT wywala błąd. Jeżeli w programie zamienię wszystkie LCD_PORT na PORTA kompiluje bez...
"migod" nie odpalałem tego kodu od "Zumek" bo strasznie zagmatwany jest... ale pisałem własne procki na jego podstawie ;) Teraz OW_Reset mam: uint8_t OW_Reset(void) { uint8_t result; OW_DDR |= (1<<OW_DATA); OW_PORT &= ~(1<<OW_DATA); _delay_us(480); OW_DDR &= ~(1<<OW_DATA); _delay_us(70);...
Witam Trochę kodu nie ręczę ze dobrze i profesjonalnie #include "seg.h" #include <avr/io.h> #define F_CPU 8000000Ul #include <util/delay.h> //======================================... // Main //======================================... int main(void){ PORT_WYJSCIOWY_1=0xFF;...
Widzę bark odzewu ze strony autora. No trudno. Zamieszczam poprawioną wersję którą u mnie działa i się kompiluje. main.c https://obrazki.elektroda.pl/7395495900_... I jeszcze u autora nie widzę podłączenie nóżki 10 do Vcc.
Probuje napisasc kod ktory bedzie zapalal/zgaszal LED za kazdym klikneciem. Poki co to bez problemu moge zgaszac led jak przycisk jest przycisniety i przytrzymany. Chodzi mi jednak o to aby (nacisnac, wypuscic) led_on, (nacisnac,wypuscic) led_off. Obecny kod robi to co zamierzam lecz nie jest wogole precyzyjny - 10razy nacisne przycisk, mrognie tylko...
float define dyrektywa define define undef
daewoo ustawienia serwisowe schemat blokady drzwi zaciskać linek
modem multimedia wymiana alarm pyronix
Bezpieczniki świateł drogowych Citroen Berlingo 1 Woda wypływa spod pralki - przyczyny i rozwiązania