aha. Bo ja mialem taki bajer ze przy jednym obrocie zwiekszal liczbe o 2 (jak dobrze pamietam moze wiecej) a jak w trakcie jednego obrotu bardzo bardzo lekko przekrecilem w druga strone to juz wszystko wariowalo. wlasnie zauwazylem blad A poza tym ludzie nauczcie sie zagladac do helpa!!!!!!!!!!!!!!!!!!!!!!!! '** przyciski ** Config Pina.4 = Input Config...
Do autora - przyjrzyj się [syntax=vbnet]Config Portd.5 = Output : Dc_wlacz Alias Portd.5 Config Portd.1 = Input : S12_wolniej Alias Portd.1 Config Portd.2 = Input : S11_szybc Alias Portd.2 Config Pina.0 = Output : Kier_lewo Alias Pina.0 Config Pina.1 = Output : Kier_prawo Alias Pina.1 Config Pina.4 = Input : S10_start Alias Pina.4 Config Pina.5 = Input...
Wykombinowałem coś takiego :), przykład można uruchomić w symulatorze (dane wejściowe np. porta.1): EDIT: poprawiłem mały błąd w przykładzie, bity można nawet kopiować jeżeli port źródłowy i docelowy jest ten sam [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 $hwstack = 64 $swstack = 64 $framesize = 64 $baud = 57600 Dim Src_port_str As...
po kolei... po pierwsze jak już ktoś też wspominał wyrzuć te rezystory 47R na liniach D0-D4 oraz RS i EN po drugie odłącz to podświetlanie od tego pinu WYS (zrób przez tranzystor - też ktoś już podpowiedział tranzystor zwykły npn) po trzecie ja na twoim miejcu tak bym konfigurował porty: Config PORTA = &B01111000 zamiast Ddra = &B01111000 albo jeszcze...
No tak to właśnie zrobiłem... No chyba nie bardzo :D Przetestuj ten kodzik :D [syntax=vbnet]$regfile = "m32def.dat" $crystal = 16000000 Config Submode = New Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Porta.0 , Db6 = Porta.1 , Db7 = Porta.2 , E = Portb.3 , Rs = Portb.4 Config Pind.2 = Input : Set Portd.2 : Ok Alias Pind.2 Config...
Witam, poniżej zamieszczam kod z Bascoma mojego sterownika BMS, w tej chwili kontroluje temperaturę, czas, Rs232, LCD 2x16. Obsługa z klawiatury lub pilota RC5, w obecnej chwili rozwiajm go o dostęp przez internet. zajmuje ok 8kb pamięci więc w A162 będziesz miał jeszcze drugie tyle pamięci. Ja kożystam z A32 Pozdrawiam. PS. daj znać jak zakończysz...
Proszę. Przerobiłem to przy kubku kawy dosłownie w 15 minut tak tylko dla zabawy. Najdłużej robiłem te ikonki czasów T1,T2,T3 i T4 :D Wszystkie cztery czasy są liczone od momentu startu bo nie napisałeś czy ma mierzyć międzyczasy ;) Może taki prosty kodzik kogoś ucieszy :D https://filmy.elektroda.pl/3_1453327306.... [syntax=vbnet]'STOPER '--------definicja...
K_o_n_r_a_d wielki dzięki!!!:D Jak ma teraz odczytać te dane mój Atmega128? bo jeden UART już wykorzystuje do komunikacji z komputerem i ma on taką postać: $regfile = "m128def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 32 $swstack = 32 $framesize = 32 Dim A As Byte Dim Message As String * 16 Config Lcd = 16 * 2 Config Lcdpin = Pin ,...
Witam i proszę o pomoc.. systuacja przedstawia się nastepująco: dostaję na wejściu portu Atmegi (Pind.0) paczkę bitów (dokładnie 48 bitów o czasie trwania około 417us każdy) w kolejności od MSB do LSB po wywołaniu procedury: Config Pina.0 = Output Config Pina.1 = Output Config Pind.0 = Input Config Pina.4 = Input Porta.0 = 1 If Pina.4 = 1 Then Porta.1...
Config Debounce = 30 Config Portd.1 = Output 'tx do vfd Config Portd.6 = Input 'enkoder Config Portd.7 = Input Set Portd.6 Set Portd.7 Config Portd.0 = Input 'przyciski po koleji : -v , +v , +/-a , wyświetlacz Config Portd.2 = Input Config Portd.3 = Input Config Portd.4 = Input Set Portd.0 Set Portd.2 Set Portd.3 Set Portd.4 Coś tutaj nie tak... Jeżeli...
Zrobiłem i dalej lecą same 0 :(( oto kod w 2 Atmega 128 (ten co ma mierzyć): $regfile = "m128def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 32 $swstack = 10 $framesize = 40 Dim W As Integer Dim L As Integer Config Watchdog = 2048 Start Watchdog Reset Watchdog Config Adc = Single , Prescaler = Auto , Reference = Internal Start Adc L =...
Na wejściu (PortC.0) pojawia się stan 0 (na przykład z układu ULN2803) to na wyjściu (PortA.0) pojawia się stan 1 wysoki. Np. tak: If PINC.0 = 0 then PORTA.0 = 1 end if Jak robisz coś takiego: Config Portc = Input to lepiej zrób to tak: DDRC = 00000000 A potem jeszce to wszystko podciągnij do 1 tak: SET PORTC Już nie wspomnę o wyłączeniu JTAGA bo inaczej...
Witam, Chciałem skomunikować ze sobą 2 atmegi32 i mam z tym problem. Jedna atmega wykonuje pomiar z wejścia adc i próbuję wartość ADC wyświetlić na wyświetlaczu podłączonym do drugiej atmegi, ale zamiast wartości np 467 na wyświetlaczu uzyskuję jakieś przypadkowe cyfry np. 13 10 19 51 54 ... Podłączone jest dobrze RxD do Txd i podciągnięte rezystorami...
Tak, jak już pisałem, nie tędy droga. Trzeba zrozumieć, ze Menu czyli interfejs programu z człowiekiem powinno być tylko jego nakładką graficzną. Nie może być tak, że kiedy jesteś w Menu to program zaniedbuje cały system, na przykład nie pilnuje zadanych temperatur. Pomyśl co by było gdyby termostat sterował grzałką w akwarium a Ty sobie radośnie wszedłeś...
Mnie się nie podoba ten fragment: [syntax=basic4gl]Config Portb.0 = Input Pg Alias Pinb.0 Set Pg[/syntax] Ten kod niekoniecznie włączy pullupy. Spróbuj tak: [syntax=basic4gl]Config Portb.0 = Input Pg Alias Pinb.0 Set Portb.0[/syntax] Bo innych powodów do nie działania nie widzę, chyba że gdzieś dalej w kodzie jest coś pomieszane?
Witam. Chcę napisać program do obsługi enkodera, problem polega na tym że podczas widzenia się diody nadawczej z odbiorczą program zlicza spora ilość impulsów a chcę aby do zmiennej dodawało tylko +1. Proszę o pomoc. Enkoder podłączony jest bezpośrednio do atmegi i działa, błąd jest w programie. Pozdrawiam http://obrazki.elektroda.pl/2316951800_1...
Kiedyś umieściłem na obecnie niedostępnej stronie and.elektroda.eu materiał o dekodowaniu sygnału DCF. Urządzenie potrzebne było w urządzeniu, które wymagało synchronizacji czasu w pomieszczeniu gdzie wyprowadzenie anteny zewnętrznej do GPS było utrudnione. Poniżej umieszczam treść oryginalnego materiału, który może być pomocny przy budowaniu urządzeń...
Witam Kupiłem robota klasy mini sumo. Zawiera on 2 mikrokontrolery Atmega8 służącą do obsługi dalmierzy, oraz Atmega32, która jest główną jednostką. Atmegi są połączone ze sobą przez SPI. Atmega 8 jest już zaprogramowana i wysyła przez SPI 2 bajty ( 1 dalmierz lewy, 2 dalmierz prawy), jeżeli obiekt jest w odległości 10cm to wysyła bajt o wartości 10....
Witam. Niestety jak na razie w wolnych chwilach próbuję zaprogramować Attiny/ Atmega... Napisałem program do generowania sygnału z uzyciem polecenia Sound . Niestety nie mogę wykorzystać tego samego przycisku do załączania i wyłączania dżwięku. Po za tym chciałbym dołożyc drugie polecenie generowania dżwięku/ podpiętego pod kolejne wejście (PINA.1)...
ale z tego co się już dowiedziałem nie będzie działać na mojej płytce Nie prawda, będzie działał po zmianie kilku linijek kodu. [syntax=basic4gl]$regfile = "8515def.dat" $crystal = 10000000 [/syntax] To zmień na swojego procka i częstotliwość oscylatora, jaki Masz. Na przykład [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 8000000 [/syntax] Tą...
Próbuje uruchomić przetwornik ADC na Atmega 32A-PU. Mam jednak problem, mianowicie ADC zawsze pokazuje wartość 0. Korzystałem już z kilku tutoriali i sprawdziłem połączenia kilka razy, w końcu jestem zmuszony prosić o pomoc na forum. Poniżej przedstawiam kod mojego programu. [syntax=c] #include <avr/io.h> #include <stdlib.h> #include <util/delay.h>...
Tak lekko zmieniłem bo może zrobiłbym to inaczej ;) [syntax=vbnet]Dim Aktywne As Byte Odbior_pilota: If Komenda = W_gore Then Incr Aktywne If Aktywne > 4 Then Aktywne = 1 Elseif Komenda = W_dol Then Decr Aktywne If Aktywne > 4 Then Aktywne = 4 End If Select Case Aktywne Case 0 Gosub Aktywuj_pc Case 1 Gosub Aktywuj_cd Case 2 Gosub Aktywuj_tuner Case...
Witam, mam pewien problem. Bowiem musze zroić układ taki aby sterował przerobionym serwem modelarskim w nastepujacej sekwencji: lewo waitms prawo waitms lewo ...... Zrobiłem coś takiego na atmedze. Bowiem napisałem programik $regfile = "m16def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator...
... Według dokumentacji producenta zaprogramowanie tego bloku to dosłownie kilka linijek w asemblerze.... No właśnie ;) i jeszcze kolega się pogubił :?: Powtarzam te kilka linijek: SPI_MasterInit: ; Set MOSI and SCK output, all others input ldi r17,(1<<DD_MOSI)|(1<... out DDR_SPI,r17 ; Enable SPI, Master, set clock...
Witam Napisałem trochę prostszy program uwzględniając czasy: [syntax=basic4gl][/syntax] $regfile = "m32def.dat" $crystal = 16000000 Config Porta = Output Config Portb = Input Config Pinb.1 = Input Set Portb.1 Config Pinb.3 = Input Set Portb.3 Dim A As Byte Dim C As Byte Config Lcd = 16 * 2 'wyświetlacz 16*2 Config Lcdpin = Pin , Db4 = Portc.5 , Db5...
Mam nową at2561 i podczas kompilowania programu bascom wyrzuca error: 202.Po sprawdzeniu w kodach błędów okazuje się że procek nie obsługuje takiej funkcji jak getrc5.Czy to możliwe że taki "mocny" procesor nie obsługuje rc5?Może ja coś robię źle?Proszę o pomoc. Program testowy: Proszę pamiętać o używaniu znaczników syntax . Opcja Listing kodu . Proszę...
Masz tu prosty, sprawdzony, działający program do sterowania portami. $regfile = "m16def.dat" $crystal = 1000000 ' przelicz u siebie te zera :) Dim B As Byte Config Portb = Output Portb = &HFF Waitms 100 Open "comd.1:9600,8,n,1" For Output As #1 Open "comd.0:9600,8,n,1" For Input As #2 Do B = Inkey(#2)...
Witam Posiadam silnik z dołączonym enkoderem i tarczą (z drukarki), steruję prędkością obrotową za pomocą PWM, natomiast przerwanie INT wykorzystuje do zliczania obrotów silnika. Problem polega na tym że zliczanie obrotów silnika bez uruchomionego PWM działa poprawnie, gdy go włączę szaleje (nawet gdy obracam tarczkę palcem). Sygnały od enkodera są...
Temat powinien polecieć do kosza ale... :D Na początek musisz wiedzieć że do odczytu danych z końcówek portu służy rejestr PINx czyli w twoim przypadku PINA. Po za tym musisz uruchomić wew. rezystory podciągające (pull-up) czyli piszesz np. PORTA = 255. Na koniec powinno to wyglądać tak : PORTB = PINA . Po więcej informacji sięgaj do helpa tam wszytsko...
O, widzę, że ktoś oprócz mnie również ma ten problem :D Przede wszystkim musisz uwzględnić ten pin SS, o którym wspomniałeś, bez tego ani rusz. Za każdym razem gdy coś wysyłasz po SPI musisz ustawiać SS na zero, a po wysłaniu SS na 1. Warto również zajrzeć do bibliotek, które udostępnia Atmel, jest to nota AVR319, do pobrania stąd [url=http://www.atmel.com/devices/ATTINY...
#include <mega128.h> #define RXB8 1 #define TXB8 0 #define UPE 2 #define OVR 3 #define FE 4 #define UDRE 5 #define RXC 7 #define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<OVR) #define DATA_REGISTER_EMPTY (1<<UDRE) #define RX_COMPLETE (1<<RXC)...
kod programu napisany w Bascomie, wyświetlacz nie działa. uC ATmega164P $regfile = "m164pdef.dat" $crystal = 11059200 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.7 , Rs = Portc.6 ' Inicjalizacja wyświetlacza LC Cls ' Czyszczenie Config Com1 = 9600 , Synchrone = 0 , Parity...
tak dokładnie LCD_0A to segment A wyświetlacza pierwszego, a LCD_1A no to segment A drugiego wyświetlacza wedle podpowiedzi kolegi Marka napisałem coś takiego: $regfile = "m16def.dat" 'typ procka $crystal = 6000000 'taktowanie Config Porta = Output 'PORTA wyjscie Porta = &B00000000 'wszędzie stan spoczynkowy-0 Config Portb = Output 'PORTB...
Witam jeśli pisze w niewłaściwym dziale to przepraszam. Mój problem polega na tym ze na wyjściach atmega16 są dziwne stany (czy jest spalona czy o co chodzi) mianowicie zadaje programem coś takiego a na wyjściach mam tak: PC.0- działa dobrze według programu PC.1- działa dobrze według programu PC.2- jakieś 2V PC.3- jakieś 2V PC.4- nic PC.5- nic PC.6-...
Witam! Na początku przepraszam bardzo, jeśli popełnię jakieś błędy, ale siedzę nad problemem już od rana non-stop i pewnie nie widzę czegoś prostego, a stopień mojej frustracji osiąga już granice bezpieczeństwa. Ale do rzeczy: Mam następujący kod odbierania RFM12B napisany w Bascom (gotowiec z forum): http://obrazki.elektroda.pl/9415176500_1...
AVRStudio 4.18 + WINAVR najnowszy. Reszta kodu i bibliotek to V-USB i tego nie ma sensu zamieszczać. Niezamieszczona część pliku main.c to ustawienia portów, zmiennych itp. Jak tak mocno chcesz to go zamieszczam. Ciekawi mnie czy jest tam coś istotnego co zataiłem. [syntax=c]#include <avr/io.h> #include <avr/wdt.h> #include <string.h>...
Witam, od jakiegoś czasu staram się wyłapać choćby najprostsze interrupty i włączyć sobie interruptem diody podłączone do atmegi, ale wygląda mi na to, że coś nie tak włączam obsługę interruptów. Oto kod: [syntax=c]/* * SensorTest.c * * Created: 2011-11-03 23:56:52 * Author: Prpht */ #include <avr/io.h> #include <avr/interrupt.h> uint16_t...
W sensie Dodano po 4 Działa !!! :D W końcu się udało. Siedziałem nad tym kilka razy przez kilkanaście dni po godzinie i w końcu jest :) Starczyło zamienić PORTB na PINB. Poprawiony program: [syntax=vbnet]$regfile = "m16adef.dat" $crystal = 8000000 config PORTA=output config PORTD=output config PINB.7=input config PINB.6=input set PORTB.7 set PORTB.6...
a czy mógłbym w takim razie prosić o jakiś przykład z getrc5? ja używam czegoś takiego: '---------------------------------------... ' RC5.BAS ' (c) 2000 MCS Electronics ' oparte na nocie aplikacyjnej AVR410 f-my Atmel '---------------------------------------... $regfile "m1280def.dat"...
Witam, od wczoraj zmagam się z problemem odbioru kodu RC5 w urządzeniu, w którym mam multipleks dużej ilości wyświetlaczy 7-segmentowych LED. Przerwania na multipleks przychodzą co około 4ms. Multipleksowanych cyfr jest łącznie 48, ale pogrupowane są one, tak jakby były tylko 4 cyfry. W każdym przerwaniu kody segmentów wysyłane są szeregowo na 3 rejestry...
Witam. Zrobiłem taką małą płytkę pod sterownik domowy z dwoma prockami: at32(mini) i at128 i mam mały problem właśnie z tym drugim. 1.Po pierwsze at128 nie chce wykonywać nawet prostych pętli: http://obrazki.elektroda.pl/9199033600_1... Proszę o pomoc w znalezieniu błędów w schemacie lub programie.
Czekam 100ms po instrukcji print dla 115K nic to nie pomoglo zmniejszylem predkosc do 9600 nadal nic ;/ kod nadajnika $regfile = "m32def.dat" $crystal = 14745600 $baud = 9600 Config Serialin = Buffered , Size = 10 , Bytematch = 13 '##### Definicja wyswietlacza ##################### Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6...
Witam, przez kilka ostatnich dni próbuję rozgryźć cały ten port COM, udało mi się "dogadać" z Atmegą16, jednak tylko przez terminal (dokładnie przez SimpleTerm, HyperTerminal oraz przez terminal BASCOM-AVR). Wszystko fajnie działa, jednak gdy przychodzi mi napisać program w czymkolwiek, czy to WinAPI+C, WinAPI+C++, C#, Delphi, to za nic w świecie nie...
Znalazłem coś takiego (kod napisany przez Flapo213) i lekko zmieniłem. Dodałem kawałek kodu do main.c, który miał wyświetlać wartość adc_value na LCD 2x16, ale ciągle wyświetlało się tylko "0" (części kodu odpowiedzialnej za wyświetlanie nie wstawiłem, ale z nią wszystko jest w porządku). main.c #include "Adc.h" int main(void) {...
"Ćwierkanie" moim zdaniem nie jest związane ze sterowaniem, ale nie twierdzę że tak jest na pewno. Sterownie wygląda następująco: uC wysyła komendę po UART i zaczyna się odtwarzanie w tym czasie nie przesyłam żadnych innych poleceń. W czasie odtwarzania jedynie uC odbiera informacje z VMusic, w kolejności (nazwa pliku, nr. ścieżki, wykonawca, tytuł,...
Ze względów ekonomicznych i takich, iż musiał bym czekać dość długo za transoptorami powstanie najprostsza wersja bez nich. http://obrazki.elektroda.pl/9893246400_1... Jeśli po testach okaże się że coś jest nie tak to będą zmiany. Napisałem kawałek kodu, który otwiera szyby, ponieważ początkuje w bascomie proszę o sprawdzenie ponieważ...
Witam! Kilka lat temu zakupiłem zestaw AVT2550 zmontowałem, uruchomiłem i zapomniałem o nim . Teraz wrócił do łask ale nie działa komunikacja przez RS232 z PC!!! Od kilku dni szukam po forach podobnego problemu i sprawdziłem już chyba wszystko ustawiłem Fusebits i naprawdę już nie wiem co robić . Mam nowy procek ATMEGA8535 16PU pracujący...
Przy użyciu polecenia if then. oto cały kod (jeszcze nie kompletny): '----KONFIGORACJA WYSWIETLACZA----.' Config Lcdpin = Pin , Db4 = Porta.5 , Db5 = Porta.4 , Db6 = Porta.3 , Db7 = Porta.2 , E = Porta.6 , Rs = Porta.7 Config Lcd = 20 * 4 '----KONFIGORACJA MAGISTRALI I2C I 1WIRE----.' Config 1wire = Portc.0 Config Sda = Portd.6 Config Scl = Portd.7...
I znowu mam dziwy problem z moim led cube. Sprawa ma się tak że odczytuje plik txt z karty i jeden plik śmiga aż miło a drugi już nie :( Program działa tak: 1 otwieram plik .txt 2 pobieram z tego pliku pierwszą linijkę w której mam zapisane krotność powtarzania jednej klatki animacji. 3 kolejnych 8 linii to długie stringi które później dzielę na 3 znakowe...
Możesz zamieścić ten fragment kodu, który działa z Timerem1? I dlaczego stosujesz tryb Timer4 Compare Match A? Timera1 w 128 używam do PWM-u. [syntax=basic4gl] 'Sprawdza Timer2 $regfile = "m1281def.dat" $hwstack = 500 'odkładają się wszystkie adresy powrotne skoków wewnętrznych, przerwań i tych wywołanych przez GOSUBodkładają się wszystkie adresy powrotne...
Witam! Mam problem z popranym odbiorem danych. Kod wygenerowany przez kreatora jest przedstawiony na listingu. I teraz pytanie. Mam odebrać z odbiornika widomość o długości 154 bajtów. Wiadomość ta przychodzi co 1 sekundę i zaczyna się zawsze czterama takimi samymi znakami : (at)(at)Ha Próbowałem już robić to z pętlą, by odbierać 154 znaki, i potem...
Witam, Mam mały problem: podłączyłem do atmegi dwa przyciski, diodę i wyświetlacz. Po uruchomieniu atmegi program wariuje-mruga diodą i pisze na ekranie kiedy chce. Oto program: [syntax=basic4gl] Config Porta.5 = Output Config Porta.1 = Output Config Porta.2 = Output Config Porta.3 = Output Config Porta.4 = Output Config Porta.6 = Output Config Portb.4...
1. Nie widzę deklaracji zegara systemowego więc skod kompilator będzie wiedział jak zrobić delay_100 ms W CodeVision ustawia sie to we wlasciwosciach projektu 2 Jesteś szybki jak zobaczysz na diodzie jak sie zapala i gaśnie co 0,1s Jak zmienie na 0,25s to i tak nic to nie zmienia, i tak nie działa /***************************************...
Faktycznie mój błąd, banalny o którym zapomniałem, każdemu się zdarza. Zaczęło działać aby uzyskać lepsze efekty przy szybszych zmiana położenia enkodera zmieniłem program. Teraz problem jak "wcisnąć" CLS. Gdy np. "dojadę" do 10, a następnie cofam ostatnia cyfra zostaje. Nie mam pomysłu jak Zrobić CLS aby wyświetlacz nie mrugał ani nie było oczekiwania...
Okrojona czesc kodu ktora daje efekt o ktorym mowilem: $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 16 $framesize 40 $lib "LCD4.LBX" '$sim 'Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2 , E = Portc.1 , Rs = Portc.0 Config Lcd = 16 * 2 Config Int0 = Falling Config Pind.3...
Problem jest taki że na symulatorze kod działa tak jak powinien, a na uC nie działa "menu" programu(funkcja Program) tylko od razu przechodzi do wykonywania pierwszej funkcji(funkcja Count). W ogóle atmega jakby nie reagowała na żadne przyciski. Zamieszczam kod programu: [syntax=asm].INCLUDE "m32def.inc" .EQUSYS_FREQ = 1 ldiR22, 0xFF ; set PORTA as...
Witam, proszę o pomoc: buduje sterownik na zasadzie włącz/wyłącz, to akurat nie jest w tym momencie ważne :), ale przejdźmy do szczegółów - ma pobierać dane z 4 czujników DS18B20, sam odczyt działa poprawnie, problem zaczyna się w menu, do kroku "2.2" czasem "2.3" wszystko działa poprawnie, lecz z "2.2" i naciśnięciu 'dalej' (lub "2.3") przeskakuje...
Teraz tak: #define F_CPU 8000000L #include <avr/io.h> #include <util/delay.h> int main(void) { DDRC = 0xFF; PORTC = 0x00; DDRB = 0xFF; PORTB = 0x00; while(1) { _delay_ms(500); PORTB = 0xFF; _delay_ms(500); PORTB = 0x00; } } Launching C:\WinAVR-20100110\bin\avrdude -pm8 -cusbasp -Uflash:w:sterownik.hex:a Output: avrdude: AVR device initialized...
(at)dondu Twoje artykuły czytałem dokładnie ;-) Z kodu poniżej wycięte ustawianie portów (bonie widziałem żadnej różnicy w zużyciu prądu). Procek ustawione fusami na 8MHz wewnętrzny z podziałem przez 8 [syntax=vbnet] $crystal = 1000000 ' ustawiamy prędkość zegara $baud = 9600 ' ustawiamy prędkość transmisji $hwstack = 220 ' ustawiamy wielkość stosu...
witam, Potrzebuję w moim projekcie użyć zegara. Do dyspozycji mam timer2. Zegar spieszy o 2 sekundy na godzinę. Czy dało by się to jakoś podregulować ? Wiem że do zegara można użyć PCF, ale to raczej nie wchodzi w grę [syntax=vbnet]$regfile = "m32def.dat" $crystal = 16000000 Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Porta.0 , Db6...
Miałem kiedyś jakąś potrzebę na taki 8-o przyciskowy program dla attiny2313. Zamieszczam go w całości z komentarzami, może Ci się przyda: [syntax=basic4gl]$regfile "attiny2313.dat" $crystal = 1000000 '-- Config Portb = Input Portb = &B11111111 Config Portd = Output Portd = &B00000000 Config Porta.0 = Output Porta.0 = 0 Dim Nr As Byte 'licznik...
Na atmedze2561 napisałem sterownik domowy.Wszystko działa jak należy do momentu, kiedy po mniej więcej czterogodzinnej "bezczynności" procesor zatrzymuje pracę całego programu tj. nie reaguje na polecenia pilota rc5 oraz nie liczy czasu (ma pokazywać bieżące min,sek,godz) .Po zresetowaniu procka lub jego ponownym włączeniu do zasilania zaczyna działać...
ok zobaczę , w swoim projekcie używam FT232RL do komunikacji pomiędzy PC a A128 , Windows poprawnie pokazuje mi kolejny COM tylko nic nie mogę wysłać odebrać na Atmedze taki kod znalazłem w necie [syntax=basic4gl] $regfile = "m128def.dat" ' specify the used micro $crystal = 16000000 ' used crystal frequency $baud = 19200 ' use baud rate $baud1 = 19200...
Cześć, musisz wiedzieć jak mikrokontroler wykonuje program żeby to zrozumieć. Mikrokontroler wykonuje program linia po linii , czyli najpierw konfigurujesz port a(linia 1.) potem go ustawiasz(linia 2.). W linii 7. definiujesz zmienną a w linii 8. nadajesz jej wartość. Do tej pory idzie gładko mikrokontroler linia po linii wykonuje twoje polecenia. Zabawa...
Witam! Dziś walczę z komunikacją rs232. Posiadam dwie Atmegi jedna 32, druga 16 - odbiornik. W nadajniku nadaję string 001100.110011.001100.110011.001100.11001... przez Do Print "001100" Waitms 500 Print "110011" Waitms 500 loop Odbieram to: a) przez komputer - transmisja idealna 001100.110011.001100.110011.001100.11001...
hmm, może inaczej. Zamieszczam działający programik testowy. Na jego bazie można troszkę pogrzebać i zrozumieć co i jak. $regfile = "m32def.DAT" $crystal = 1000000 $baud = 19200 $hwstack = 64 $swstack = 32 $framesize = 64 Config Graphlcd = 240 * 128 , Dataport = Portb , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 ,...
Masz cały program, napisany trochę chaotycznie ale działa i wyświetla. [syntax=basic4gl] $Regfile="m169def.dat" $Crystal=1000000 $hwstack=40 $swstack=16 $framesize=32 '$baud=9600 config portf=input set portf config porte=input set porte config portb=input set portb config portg=input set portg config portd=input set portd config portc=input set portc...
aktualnie zrobiłem taki oto układzik do dopasowania poziomów napięc i "odwrócenia sygnału" http://obrazki.elektroda.pl/1473085000_1... a program w bascomie tylko liczy ile razy się zmienił stan na wejsciu RXD [syntax=basic4gl]$regfile = "m16def.dat" $crystal = 8000000 Config Lcd = 20 * 4 Config Lcdmode = Port Config Lcdpin = Pin , Db4...
Witam wszystkich :) Jakiś czas temu złożyłem odtwarzacz plików dźwiękowych wav korzystający z wbudowanego w atmege32 PWM 8 bit-owego, postanowiłem poprawić jakość odtwarzanego dźwięku poprzez dodanie zewnętrznego DAC-a którym jest TDA1543 . Pojawiło się kilka problemów ponieważ nie wiem w jaki sposób mogę podłączyć i odpowiednio przerobić kod programu...
Nie znam sie wcale na bascomie ale czy przełączyłeś PIN'y na których mierzysz napięcie z PIN'ów I/O na wejścia ANALOGOWE? Config Porta = Input 'konfiguracja portów Porta = &B00000000 W tym fragmencie skonfigurowałem PORTA jako wejścia niepodwieszone wewn. pull-up'em. może niepotrzebnie powtarzasz to samo dwa razy ? Podobno w którejśtam wersji BASCOMa...
Dzięki za odp i dobre rady. Narazie za C się nie biore bo BASICA narazie ledwo łapie:P Co do przykładu który podałes to w nim jest tak, że gdy wcisnę przycisk dioda świeci, ale gdy puszczę gaśnie. Z przyciśnięciem i zapaleniem oraz z ponownym naciśnięciem i zgaseniem sobie poradziłem. Podciągnąłem port przycisku i diody do 1 i zadziałało. Kombinowałem...
Pobór prądu mierzę z odpiętym programatorem, obniżam napięcia do 2.2V (mniej nie mogę bo wyłącza się lcd) W programie mam tak : [syntax=basic4gl] $Regfile="m169def.dat" $Crystal=1000000 $hwstack=40 $swstack=16 $framesize=32 config portf=input set portf config porte=input set porte config portb=input set portb config portg=input set portg config portd=input...
ok, sam sie prosiles... 4 post tematu, kolegi Balu informuje cie na ktorej stronie jest odpowiedz. otwieramy datasheeta i co ukazuje sie naszym oczom? Electrical Characteristics czy to jest niekonkretne? bo jak dla mnie to jest wlasnie to, za co tak ladnie podziekowales, tyle ze po angielsku. skoro znasz ten jezyk, to w czym problem? zajrzales aby na...
To nie moze byc wina stykow bo dioda bo zakonczeniu procedury przerwania zapala sie. Co prawda nie jest filtrowane -ale dioda moze najwyzej pownie zgasnac :) Mam wrazenie ze na portach zostaja przywrocone stany sprzed przerwania - czy to mozliwe? Ponizej jest uproszczony kod: (kompiluje gcc+avrlib) #include <avr\io.h> #include <interrupt.h>...
Dzień dobry, Jestem w trakcie tworzenia programu, w którym wyniki wyświetlane na wyświetlaczu graficznym 128x64 chcę zapisać potem na kartę SD. Problem w tym, że polecenia obsługi wyświetlacza graficznego (Boxfill, Line, Circle) "gryzą się" z poleceniem OPEN wykorzystywanym w podprogramie dokonującym zapisu do karty SD. Do programu dołączyłem bibliotekę...
http://elecrom.wordpress.com/2008/02/12/... Pierwszy lepszy help o portach w AVR ci to wyjaśni. (Poczytaj o różnicach między PORT a PIN).
Trzeba mierzyć czas impulsu i jeśli wynik = ileśtam to wtedy dzieje sie cośtam Może : $regfile = "twój uP" $crystal = twój crystal Config Timer1 = Counter , Edge = Rising Config Portc = Input Do If Portc.1 = 1 Then Start Timer1 If Portc.1 = 0 Then Stop Timer1 End If End If For Timer1 = 100 To 200 Reset Porta.1 Next For Timer1 = 300 To 600...
Rezystory 4,7 k zamontowane przy wyprowadzeniach procka.Przy poniższym listingu na LCD data jest wyświetlana 07/17/12 Dodano po 12 Przy dodaniu dnia tygodnia według listingu poniżej na LCD wyświetla się data 06/17/12 Dzień tygodnia w trzeciej linii wyświetla 6,czyli chyba OK. [syntax=basic4gl] $regfile = "m162def.dat" $crystal = 16000000 Config Lcd...
Witam, Mam jeszcze taki problem że licznik impulsów na AVRze nie działa. zauważyłem jednak że wszystko się liczy gdy zamiast impulsów +5V dochodzą impulsy zwarcia do masy czyli daję na PINB.0 sygnał GND i już tam się liczy. Co mam zmienić w programie by reagował nie na masę tylko na +5V? :( Pozdrawiam oto mój kod: '---------------------------------------...
AVCC podłączone do +? Poza tym: po kompilacji i deassemblacji znajdujemy: L0000: sbip1A,b7 cbip1A,b1 sbip1B,b1 L0003: inr16,p01 outp07,r16 rjmpL0003 Gdzie możemy zobaczyć, że wysyła kolega r16 do rejestru o adresie 7 czyli do ejestru ADMUX:). Zapewne kolega nie widzi błędu... niech się kolega dokładnie przyjrzy czym się różni PA7 od PORTA Pozatym,...
Czyli ten rbit jest konieczny, czy nie? Potrzebny jest jeżeli nie chcesz stracić wysyłanych danych. Slave będzie miał informację, że może wpisać kolejną wartość, ponieważ poprzednia została odczytana. Tak naprawdę można zastanowić się jak rozwiązać jakiś problem, czy coś zmienić, ewentualnie zrezygnować z czegoś jak będziesz miał konkretny kod programu....
Dzień dobry. Usiłuję okiełznać przerwanie INT1 w AtMega 644P. Większość przykładów jest dla prostszych atmeg i stąd wynika mój problem. Po uruchomieniu na wyświetlaczu stale widnieje "interrupt" - czyli przerwanie jest stale włączone. Port przerwania INT1 - PA1 jest podłączony do przycisku zwierającego do masy. Program nie wchodzi do pętli głównej,...
Może szukasz portów nie tam gdzie są? Przetestowałem z ciekawości i działa bezbłędnie co widać na printscreen`ie. http://obrazki.elektroda.pl/3786130700_1... Kod z tego testu. [syntax=vbnet] $regfile = "m128def.dat" $crystal = 11059200 $hwstack = 64 $swstack = 32 $framesize = 128 $baud = 9600 $baud1 = 9600 Config Com1 = Dummy , Synchrone...
W liniach [syntax=basic4gl] Config Pina.0 = Input Config Pina.1 = Input Config Pina.4 = Input Config Pina.5 = Input Config Pinb.3 = Output [/syntax] zrób tak: [syntax=basic4gl] Config Porta.0 = Input Config Porta.1 = Input Config Porta.4 = Input Config Porta.5 = Input Config Portb.3 = Output [/syntax] Do wyprowadzenia Aref ATmegi dołącz kondensator...
Podziękaowania dla Duch_ Teraz dziala tak jak chcialem, czytalem wcześniej twój post, ale mialem balagan w kodzie i zapis z twojego kodu nie dzialal, teraz jest ok. Mój kod z obslugą LCD od Nokii 6100 zapis/odczyt z karty SD, może komuś się przyda: $regfile = "m32def.dat" $crystal = 8000000 $lib "Lcd-pcf8833.lbx " $include "..\fonty\Color8x8.font"...
Witam, złożyłem płytkę, napisałem kod i coś nie działa, narazie podam kod bo płytka śmiga byłbym wdzięczny za sugestie co jest nie tak że to nie chce działać, kod zbudowany po części w CodevisionAVR. Wyświetlacz jest na wspólnej Katodzie stąd mój wniosek że aby zaświecić jakiś segment muszę wysłać 0 na pin, a aby go zgasić 1. Jeżeli źle myślę to poprawcie...
A spróbuj zmienić swój program w ten sposób. Ja też kiedyś barowałem się z portami wirtualnymi i to zadziałało. Do Inputbin #2 , Usart2_dane If Usart2_dane > 0 Then Lcd chr(Usart2_dane) End If Loop End
Printbin i Zmienne A = &HE0 B = &H0C załatwiły sprawe :) Teraz kolejny problem otrzymuje z wyświetlacza w Hexie "00" i po otrzymaniu chcę zmienić stan portu próbuję tak> [syntax=vbnet] Dim Of As Byte Inputbin Of If Of = 00 Then Porta.2 = 1[/syntax]
Nie zwarcia nie ma Dodano po 2 Może odświeżę informacje. Oto mój kod: [syntax=basic4gl] $regfile = "m128def.dat" $crystal = 8000000 $baud = 19200 $swstack = 64 $hwstack = 128 $framesize = 128 Config Lcd = 16 * 1 Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.2 , Db6 = Porta.1 , Db7 = Porta.0 , E = Porta.4 , Rs = Porta.5 Cls Cursor = Off Config Portb.4...
Mam 2 atmegi. Jedna to atmega8 a druga atmega16. Używam Uart programowy i nie wiem dlaczego nie działa. Poniżej kod programu w bascomie dla nadajnika Config Adc = Single , Prescaler = Auto , Reference = Internal Config Pinb.0 = Output Config Pind.6 = Output Config Pind.7 = Output Config Pind.3 = Input Config Pind.4 = Output Portd.3 = 1 Open "Comd.3:1200,8,n,1"...
Zmieniłem kwarc na 8 MHz - znalazłem informacje, że SD na 16 MHz nie działa. Dodałem linie ( chciałem ręcznie wyzwalać zapis ) Config Portb.1 = Input Reset Portb.1 Manual Alias Portb.1 If Manual = 0 Then Call Write_to_sd() End If Jeśli usunę te linie to znowu nic się nie zapisuje. Efekt jest taki, że zapisuje co sekundę ( oczywiście na zmianę...
Troche sie zamotałem i nie wiem jak wybrnąć... Jak zliczyc przerwania on timer0, innymi słowy jak policzyc ile 1ms wystąpiła przy podczas przerwania wtrysku... [syntax=basic4gl] $regfile = "m128def.dat" $crystal = 16000000 $hwstack = 32 $swstack = 32 $framesize = 32 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6...
Podczas kompilacji kodu z wykorzystaniem biblioteki Radzia KS0108 wyskakuje mi szereg takich błędów, z którymi nie mam pojęcia co zrobić. http://obrazki.elektroda.pl/1600912000_1... Dla pomocy zlokalizowania błędów tu kody: -main.c [syntax=c] #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include "KS0108.h"...
Przedstawiam tylko istotne części programu związane z transmisją danych Na początek Atmega 16 obsługuje klawiaturę, Wyświetlacz LCD i komunikację GSM i inne drobiazgi oraz RS232 z Atmegą 8 Dodano po 10 A tak przy okazji takie pytanie czym różni się transmisja po RS232 dla: A=1 Print A oraz Print "1" Wg ASCII < 1 > ma kod 49 i chyba w jednym i...
W manualu piszą prawidłowo, tzn. jeśli definiujesz cały port, to piszesz: config porta = output jeśli definiujesz poszczególne piny, to piszesz: config pina.5 = output Ale TYLKO podczas definiowania, w programie odwołujesz się do PORTA.5 gdy wpisujesz wartość. Do PIN odwołujesz się gdy czytasz wartość (jeśli linia zdefiniowana jest uprzednio jako wejście)....
Witam wszystkich Ostatnio zbudowałem sobie przedwzmacniacz z cyfrowym potencjometrem PGA2311, który steruję za pomocą magistrali SPI z mikrokontrolera ATMEGA128. Problem w tym, że po napisaniu programu w Bascomie regulacja głośności nie odbywa się tak jak powinna, a mianowicie nie są regulowane równomiernie obydwa kanały. Dane do potencjometru wysyłam...
Kolego Darres1 zastosowałem polecenie Append aby dane były zapisywane na końcu pliku. Gdy utworzę plik ręcznie z jednym znakiem w nim to dane są zapisywane. Niestety po kilkunastu zapisach program przestaje działać, a po próbie odczytania pliku w PC otrzymuję informację o uszkodzonym pliku. Jeśli kartę wyjmę po kilku zapisach wszystko jest OK. $regfile...
[syntax=avrasm]# Hey Emacs, this is a -*- makefile -*- #---------------------------------------... # WinAVR Makefile Template written by Eric B. Weddington, Jörg Wunsch, et al. # # Released to the Public Domain # # Additional material for this makefile was written by: # Peter Fleury # Tim Henigan # Colin O'Flynn # Reiner...
Problem już chyba rozwiązany. Wystarczyło wyrzucić z timera fragmenty obliczeń i wstawić je np. do jakiejś deklaracji/podprogramu. Program teraz wygląda tak i jak na razie wszystko działa i poprawnie się wyświetla: [syntax=basic4gl]'---PROCESOR-----------... $regfile = "m128def.dat" $crystal = 16000000...
Witam Zawsze bawiłem się z atmega32 ale od do projektu potrzeba mi 6 kanałów PWM 16bit (sterowanie 2 serwa i 4 regulatory z rewersem). Zastosowałem atmega128 T1 i T3 . Wszystko było było by OK ale na kanale OC1C jest brak sygnału , zapewne banalne rozwiązanie ale jakoś nie mogę zatrybić nadajnika: [syntax=vbnet]$regfile = "m32def.dat" $crystal = 16000000...
atmega porta blaupunkt porta porta vector
zmywarka dysze czyszczenie czujnik biegu wstecznego ładowanie zafira
wyszukiwanie parametryczne brother zacięcie papieru
Samsung UN40F5500AG left display edge shorting to chassis with T-CON cable disconnected Wymiana diody LED w latarce ręcznej – jak to zrobić krok po kroku