Pulsein zmiennaH , PIND , 1 , 1 'detekcja od "1" Pulsein zmiennaL , PIND , 1 , 0 'detekcja od "0" Wynik = zmiennaH + zmiennaL Print Wynik 'Odczytanie ilości czasu jaki trwał miedzy H+L
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)...
Witajcie, dziś postanowiłem się podzielić dorobkiem w postaci oprogramowania i wiedzy na temat pewnego modułu GPS. Zegar softowy synchronizowany GPS z dodatkowym wyświetlaniem współrzędnych i prędkości no i dorzuciłem w ostatniej chwili temperaturę z DS18B20 - taki szkoleniowy programik w BASCOM (świetny przykład - gotowiec dla tych którzy chcą zrobić...
Witam zauważyłem dziwny objaw. Mianowicie odbieram dane przez sprzętowy uart z atmegi pochodzące z klawiatury. Klawiatura wysyła znak w momencie nacisnięcia i puszczenia przycisku. Zauważyłem że naciskając około 21 razy klawisz (wysłane 42 znaki w hexie) to resetuje mi się program i mikrokontroler... Teraz pytanie czym to jest spowodowane. Pomijam tutaj...
Witam. W pewnym sofcie dla Atmega16 wykorzystałem już: - Timer1 (16 bit) do odliczania 0,0001s odcinków czasu - Timer2 (8 bit) jest wykorzystywany przez odbiornik podczerwieni (instrukcja getrc5) Timer 0 niby jest wolny, ale nie wiem / nie jestem pewien czy nie jest on wykorzystywany przez jakieś używane przeze mnie instrukcje (np. print dla sprzętowego...
witam nie wiem jak wysłać coś na RS napisałem program wysyłający "123" i bascomowy terminal nie widzi nic a seriarwotcher odbiera tylko śmieci uruchamiałem przykłady z funkcją print (dostosowywałem $regfile,$crystal,$baud ) i nic nie działa czy bascomowe przykłady nie działają ????? ( kabelek ok po zwarciu echo jest ) $regfile = "m16def.dat" $crystal...
Jedna z wielu możliwości: [syntax=vbnet]$regfile = "m16def.dat" $crystal = 16000000 $hwstack=40 $swstack=16 $framesize = 32 $baud = 9600 Dim A As Integer A = &HE00C Wait 3 Do Print "$" ; Hex(high(dd)) ; "$" ; Hex(low(dd)) Wait 1 Loop End[/syntax]
Witam Od paru dni bawie się w programowanie atmega16 w oparci o bascom college tyle ze tam przykłady są napisane na Bascom 8051 a ja musze używać (chyba) bascom avr. I z reguły bez większych problemów mi się to udawało do czasu zabawy z taimerami. Czy kos może mi przerobić poniższy kod na bascoma avr (chodzi o podobny efekt)? A może da się pisac w ascom...
uC nie mają komend print i inputbin. uC nie mają, ale BASCOM i owszem. BASCOM uproszcza to wszystko do jednego "Config" i właśnie owych komend. Reszta to tylko interpretacja co się otrzymało i konfiguracja tego co chcemy odesłać.
Jeśli twój układ (przetwornicy) wysyła dokładnie tylko jeden bajt bez żadnego dodatkowego znaku końca linii typu CRLF to ty na pewno w tym kodzie nie odsyłasz dokładnie tego samego bajtu, ty odsyłasz ten bajt + znacznik końca linii CRLF (czyli jeszcze dwa dodatkowe bajty końca linii CR i LF) a wystarczy tylko napisać tak: PRINT Akey ; czyli podać na...
Ok jest wszystko pięknie chodzi. Ale zdążyłem to zrobić innym sposobem, rozdzielałem liczbę na wiele sposobów, najpierw z pierwotnej uzyskiwałem całkowitą potem pierwotną razy 10 - odejmowałem całkowitą poprzednią i miałem wartość dziesiętną potem wyświetlałem to jako dwie liczby w środek dając przecinek. A tu jeszcze przetłumaczona instrukcja używania...
Coś nie mogę za bardzo uwierzyć w te 5hz - może 50hz? 19200 to w przybliżeniu 1500 znaków na sekundę. Jak zrobisz z danych postać hex to mi wychodzi 23znaki w wiadomości (no może 25 bo crlf). Jakby nie patrzeć taka ramkę można powtórzyć szybciej niż 60hz. To jest przykładowy string wysłany od urządzenia do PC: 514:512:512:512:514:...
Moj problem polega na ustawianiu baudrate'u dla rs232 od strony BASCOM'a Mam ATEMGE16 i chce wyslac dane zczytane z ADC do Pceta - wszystko dziala calkiem sprawnie. Szkopuł w tym ze wpisuje w bascomie bauda np. 115200 a wychodzi mi w rzeczywistosci tyle razy mniejszy jaki mam kwarc:/ wyglada to tak: baud(rzeczywisty) = baut(ustawiony w bascomie) / (wartość...
Panowie podłączę się ponieważ ja też mam problem:( Łączę się z Atmegą za pomocą FTDI, który działa poprawnie. Po połączeniu TX i RX dokładnie to co wysyła to odbiera. Ale ten krótki kod nie chce działać:( krzaczy i krzaczy. Kod: $regfile = "m16def.dat" $crystal = 7372800 $baud = 9600 Config Com1 = 9600 , Synchrone = 0 , Parity = None , Stopbits...
Witam Testując kod Kolegi pusiek1974 do odbioru czasu i daty NTP, chciałem go rozbudować i dostosować do swoich potrzeb. Na początek jako, że kod używa Wait'ów, których chciałem się pozbyć, chciałem dodać wywołanie przez flagę od Timer'a. [syntax=vbnet]$regfile = "m16def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 64 $framesize = 64 Baud = 19200...
$regfile = "M16def.DAT" $crystal = 8000000 $baud = 57600 Dim Czestotliwosc As Long Config Timer1 = Counter , Edge = Rising Print "Licznik" Enable Interrupts Enable Timer1 Do Start Timer1 Wait 1 Stop Timer1 Czestotliwosc = Counter1 Print "Freq: " ; Czestotliwosc Counter1 = 0 Loop Sygnał podaję na portb.1 i wszystko śmiga. Nie wiem tylko dlaczego nie...
Jesteś mało konkretny mimo widocznego zamiłowania do rozwijania wątków :D Dlaczego teraz muszę pytać o to czy pozostałe mikrokontrolery to też Mega16? Jak długo po naciśnięciu przycisku mikrokontroler ma pamietać, że przycisk został naciśnięty i co ma zrobić jeśli nadrzędny mikrokontroler nie zapytał go jeszcze o stan a już ktoś nacisnął inny przycisk?...
Witam. Podłączyłem mikrokontroler ATMEGA16 pod złącze RS232 w manipulatorze INT-KLCD od centrali alarmowej SATEL INTEGRA. Na złączu tym cały czas wysyłane są dane o aktualnym stanie systemu i zdarzeniach. Podglądając równolegle na wirtualnym porcie COM-ETHERNET co na tym złączu jest wysyłane otrzymuje takie dane jak na poniższym screenie: http://obrazki.elektroda.pl/1772576300_1...
Witam :) Po kilku dniach zabawy udało mi się zbudować układ składający się z ATMEGA16 (kwarc zewnętrzny 8 MHZ, rs232) i: - czujnika podającego na pin A1 napięcie 0.2-4.7V - czujinka podającego częstotliwość 4-40kHz na pin PBO. Po przestudiowaniu podstaw BASCOMu i lekturze forum udało mi się napisać oddzielne programy do obsługi tych czujników. Jednak...
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"...
Witam. Posiadam standardowy czytnik kart magnetycznych. Wyciągnąłem go ze słynnych kiedyś na elektrodzie niemieckich kas fiskalnych z Goleniowa. Z tego co się dowiedziałem jest to czytnik 2 ścieżki danych na której jest zapisane ok. 40 znaków, 1 znak tworzą 4 bity + 1 bit parzystości. Wyprowadzenia czytnika GSR-1120-12 Czerwony- VCC (5V) Czarny - GND...
Witam, Przeglądam Internet, w tym forum Elektrody od ok. 3 tygodni. Rozwiązałem mnóstwo problemów początkujących użytkowników zestawów mikroprocesorowych. Nie w tym problem. Jestem już bardzo blisko celu, a jest nim użytkowanie środowiska Eclipce, procesorów Avr (Atmega 644p), zakupionej płytki EvB v. 4.3 ( #include <util/delay.h> #include <avr/io.h>...
No to spróbuj tego: $regfile = "m16def.dat" $crystal = 4000000 $hwstack = 32 $swstack = 32 $framesize = 32 config 1wire= portb.7 Do 1wreset if err=0 then print "PP_ok" ' czy LCD "PP_OK" - co tam masz else print "PP_err" ' j/w endif waitms 500 Loop Napisz o wyniku doświadczenia :D Piotrek
Wydaje mi się że masz bład w transmisji ze względu na to że masz kwarc 4Mhz i baud 1200. Tak przy okazji zegar masz przestawiony na wewnetrzne 4MHz czy zewnetrzny kwarc? Jesli na zewnetrzny to ustawiles prawidlowo fuse bity?? Podam Ci prosty program który u mnie dziala bez zarzutu przy kwarcu 8MHz i predkosci transmisji 9600: $regfile = "m32def.dat"...
Pisząc 8MHz (wewnętrzny kwarc) miałeś chyba na myśli wewnętrzny oscylator ? tak? i że przy takiej konfiguracji szwankuje ci ATmega16 ???? Jeśli tak to mogę się podzielić moimi spostrzeżeniami. Otóż nie wiedzieć czemu też często a w zasadzie zawsze gdy biorę Atmega16 na wewn oscylatorze 8MHz to na 9600 nie chce mi działać zbyt dobrze podczas gdy ATmega8...
klops_mops ---> masz dwa wyjścia żeby ci nie mrugały te wyświetlacze w czasie PRINT'a ;) - innymi słowy mówiąc aby procedura wysyłania RS232 nie zakłócała procedury multipleksowania 1. prostszy sposób - zwiększ tą kocią prędkość RS232 na jakąś ludzką - chociaż 9600bps to już praktycznie nie powinno ci mrugać a jak dasz każdą większą to już będzie coraz...
Tak - bardzo dziękuję poczytałem o tym - wystarczyło po print zmienna dodać " ; ", tj.: print wartosc; Bardzo dziękuję
A spróbuj tak: Dim X As Byte Dim Znak As String * 1 Dim Ramka As String * 20 Do Ramka = "" Gosub Czytaj_znak If Znak = "G" Then For X = 1 To 20 Ramka = Ramka + Znak Gosub Czytaj_znak Next X End If Print Ramka Loop Czytaj_znak: Znak = "" Do Znak = Inkey() Loop Until Asc(znak) <> 0 Return
W przerwaniu daj jakąs zmienną np licznik typu word. [syntax=vb]Przerwanie: incr licznik return[/syntax] A w głównym programie wystarczy tak: [syntax=vb]do Licznik=0 wait 1 print "Obroty = ";licznik loop[/syntax] ZNacznie łatwiej i wygodniej zastosować któryś Timer jako licznik a nie wejście INT0.
... próbowałem w ramach eksperymetu wstawic wartosc ilosc 48 i kompilator wyrzuca blad..:( I właśnie w takim momencie , należy użyć głowy :D $regfile = "m32def.dat" $crystal = 11059200 Clkin Alias Pind.1 Datain Alias Pind.0 Dim A As String * 5 Dim Ab(6) As Byte At A Overlay Dim B As Byte Do 'Shiftin Pin , Pclock , Var , Option [...
"bierzesz w ręce" zwykłe polecenia do nadawania jak PRINT , lub do odbierania jak: INPUT czy INKEY i lecisz :) Od razu trzeba napisać, że należy użyć PRINTBIN i INPUTBIN bo kolega będzie przez 10 postów znów pytał jak wysłać tym ciąg bitów i że znów nie działa.
e marcus to jest tak jest cała linia 8-bitowa na której lecą non stop jakieś dane do różnych układów, są też dodatkowe 4 linie sterujące na której lecą tylko impulsy "0" i wtedy właśnie lecą właściwe dane które chcę odczytać AVR'em. W sumie z tych 4-linii sterujących na jednej lecą impulsy "0" 128-raz y które wywołują Czy masz jakiś powód aby tą 8-bitową...
Przede wszystkim w komunikacji po Usarcie to przeszedł bym na przesyłanie ASCII, a wyrażenie kończyłbym znakiem CR (13). Wtedy możesz wysyłać odebrane ciągi na wyświetlacz, bez używania stałych. Używaj do tego zwykłego Print zamiast printbin. Tak swoją drogą nie wiem czemu większość początkujących próbuje komunikować się poprzez Printbin zamiast używać...
Witam, Komunikuje się miedzy dwoma atmegami i gdy używam (Atmega8) Print #1 ----> Input #2 (Atmega16) jest wszystko ok ale gdy próbuje zrobić (Atmega8) Print #1 ----> inkey(#2) (Atmega16) to wywala śmieci. Chce wysłać pojedynczy znak np M wysyłam jako chr(77), a zamiast tego wyczytuje inne znaki. Gdy używam inkey(#2) ale wprowadzam z terminala jest...
Witam Piszę program która ma przypominać o wydarzeniach w danych dniach roku Otrzymuje z rtc zmienne typu Dim Sekundy As Byte Dim Minuty As Byte Dim Godziny As Byte Dim Dzientygodnia As Byte Dim Dzien As Byte Dim Miesiac As Byte Dim Rok As Integer Mam pytanie jak scalić zmienne Dzien i Miesiac do formaty daty np. DD.MM ? Aby je później porównać z datą...
najprościej : atmega1 atmega2 Rx----- ----Tx >< Tx----- ----Rx najprosciej program ? chyba bascom :P atmega1 : print "1" atmega 2 Dim Bufor As String * 24 Input Bufor Noecho If Ischarwaiting() = 1 Then '1 - odebrano znak,0 - pusty bufor ' tu odbierasz dane i robisz z nimi co chcesz End If
Witajcie, mam pewien problem z komunikacją mojej Atmegi z komputerem. Póki co chciałem wysłać do komputera zwykły tekst, ale niestety mi się to nie udaje... Aktualnie pracuję na zestawie ZL3AVR i Atmega16. Zgodnie z instrukcją, aby korzystać z RS232 zwarłem złącze JP4 (RxD Enable). Do komputera podpinam płytkę za pomocą kabla 1:1 Atmega pracuje na zewnętrznym...
Druga kwestia, to zapis do pamięci 24c04 liczby zmiennoprzecinkowej, hmm. nie robiłem nigdy tego, nie bardzo wiedziałem jak to ugryźć. Sprawa jest generalnie prosta. Liczba typu single zajmuje cztery bajty, wystarczy więc ją rozbić na pojedyncze bajty i zapisać każdy z osobna. Przy odczycie robisz dokładnie odwrotnie. Powiesz pewnie "no dobra, ale...
Tak jak w temacie. Od kilku dni próbuje połączyć się przez RS'a z modemem w telefonie siemens c35 próbowałem już róznych prędkości transmisji nic nie dawało tyle że na najniższych prędkościach działało jakby echo czyli taką komendę jaką wysyłaliśmy taka wracała przez polecenie input. Na wyższych prędkościach program stoi na poleceniu input. Juz nie...
Witam. Mam TV LG, steruje nim za pomocą RSa Jeśli robię to za pomocą komputera i wysyłam kod: kf 0 20 TV ustawia pozim dzwięku na 32%, jeśli się uda tyo w terminalu otrzymuję potwierdzenie w postaci: f 01 OK20x Zrobiłem takie samo sterowanie za pomocą atmegi16 Wysyłam kod: kf 0 20 TV zmienia poziom głosu (więc wszystko OK) Ale nie otrzymuję potwierdzenia,...
Witam Mam następujący problem Napisałem program do obsługi ADC oto i on $regfile = "m16def.dat" $crystal = 8000000 onfig Com1 = Dummy = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 'konfiguracja portu COM $baud = 1200 Config Lcdmode = Port 'Wybieram typ podlaczenia lcd Config Lcdbus = 4 'LCD podpiety na 4 zyly Config Lcd...
probowalem tak i tak ,i nic nie daje ;) na szybko sklecilem pod atmege program w bascomie... $crystal = 8000000 $baud = 9600 Config Serialin = Buffered , Size = 100 Config Lcd = 16 * 2 'LCD Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portd.7 , Db7 = Porta.7 , E = Portc.3 , Rs = Portc.2 Dim Znak As String * 1 Waitms 100 Print "AT"...
Witam! Podłączyłem telefon komórkowy marki Siemens C35 do AtMega16 za pomocą układu konwertera napięć zamieszczonym poniżej: http://obrazki.elektroda.net/37_12462051... Jestem w połowie drogi ponieważ uP komunikuje się z telefonem (mogę zadzwonić oraz wysłać smsa), jednak nie mogę uzyskać podłączenia w drugą stronę. Na przykład prosty program...
Witam, połączyłem procesor atmega8 z atmega16 za pomocą sprzetowe go interfacu UART, bezposrednio nogi PD1 i PD0 odpowiednio zamieniajac koncowki RX do TX i TX do RX Dlugosc kabla 20 cm. Procesory zasilane sa z odzielnych stabilizatorow(5V +- 5%) ale mają wspólną masę. Oba pracują z zewnetrznym kwarcem 16Mhz, maja poprawnie ustawione Fusy. problem polega...
Witam. Miałem dwie atmegi spięte przez port szeregowy. Full duplex. Master, wysyłał do slave znak "Q" a w odpowiedzi otrzymywał stan wszystkich ośmiu bitów wybranego portu. Master odebrany komunikat wysyłał na port i zapalał LEDy. Ukłąd prosty. Wszystko działało przepięknie. Odbieranie znaków w układach master i slave realizowałem przerwaniem od URXC...
uruchomiłem drugi uart $baud1 = 9600 Config Com2 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Enable Interrupts do Open "Com2:" For Binary As #1 Print #1 , "test com2" Close #1 loop jednak mam problem nie chodzi mi rozkaz printbin i nie wiem dlaczego
Witam, na poczatku chcialbym uprzedzic ze moja zabawa z uP zaczela sie b. niedawno :) Moj problem polega na tym, ze chcialbym uruchomic modem gsmowy na tej atmedze. Jednak mam pewne problemy z komunikacja. Ktos poradzil mi, zebym zwarl tx i rx po wyjsciu z max232 zeby sprawdzic ustawienia transmisji (odbior - wysylanie). I faktycznie uczynilem tak jak...
Witam,. Mam następujący problem: Przetwornik analogowy na ADC pin 1 Przetwornik częstotliwość na Timer0 max232 1uF Kwarc 8Mhz i atmega16L Na kablu ze złączkami BNC mam połączenie atmega -> przetwornik czestotliwosci (2 kolumna). Wydaje mi się, że wszystko dobrze zlutowane oraz nie ma przerw w kablu BNC. Kabel mam 50 Ohm. Podczas wysyłania danych na...
z góry przepraszam moderatorów za brak edycji tylko nowy post -------------------- kod z sampla bascomowego $regfile = "m16def.dat" ' specify the used micro $crystal = 4000000 ' used crystal frequency Wait 2 Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Porta , Ce = 5 , Ce2 = 4 , Cd = 1 , Rd = 2 , Reset = 3 , Enable = 0...
... Tablica ktora zapamietuje 8 wartosci. B(1)....B(.8.). Nie bardzo rozumiem z czym masz problem :( Załóżmy , że na klawiaturze wybrałeś 8 razy cyfrę 9 , to co znajdzie się w tablicy B - 8 bajtów o wartości 9 :?: Jeśli tak , a Ty chcesz teraz zamienić dane z tablicy na wartość binarną i zapamiętać np. w zmiennej Long , to przeanalizuj ten przykładzik:...
print bascom bascom print atmega16 bascom
toshiba wykrywa dysku twardego ładowanie dodatkowy akumulator podłączenie czujki ruchu
plumpi thermagen 18650 ładowarka
Nice Aria 200 – cofanie drugiego skrzydła przy domykaniu, diagnostyka i ustawienia Nice Aria 200 – reset do ustawień fabrycznych, procedura CT202, MC800, BlueBus