Pomijając tragiczny kod zastanawiam się po co wysyłasz milion znaków, przecież w jednej ramce rs możesz wsadzić 255 różnych znaków, na tak prostą rzecz nie potrzebujesz takich ramek.
Ostatnio znalazłem ciekawy przykład dla odczytu z chińskich suwmiarek dla arduino: [url=http://majsterkowo.pl/forum/arduino... z suwmiarki Można użyć dla arduino, lub wzorując się na kodzie napisać na inną platformę.
Da sie to zrobić? Bo robie projekt na atmega8515 (mam ich kilka więc nie będe kupował nowego) a on nie ma TWI a potrzebuje dołączyć pamięć EEPROM Jak to zrobić pod bascomem o ile sie da Witam wszystkich. Ostatnio spotkałem sie z podobnym problemem. Musiałem odczytać i zapisać zawartość 24c08 (1024 bajty). Niestety :( programy przykładowe załączone...
Witam, masz wolny pin od postu szeregowego USART? Podłącz się pod procesor komputerem i po konwersji każdej ramki wysyłaj odczytany wiersz i zdekodowaną ramkę do PC-ta. Przekonasz się czy odczyt jest właściwy czy może coś z konwersją jest nie tak.
Witam, mam problem z odczytem danych po RS485 z miernika LUMEL ND08. Docelowo chciałem to zrobić jak odczyt przez Atmega w Bascomie lub przez przejściówkę USB-RS485 w Delphi. Niestety mam z tym problem i nie wiem co do końca źle robię a przetestowałem już komunikację po RS485 między Atmega32 a terminalem V1.9 i to mi działa w obie strony. Na początek...
Mama taki temat - po RS485 odczytuje dane z miernika parametrów sieci - na ten moment zrobiłem to w PC i wszystko działa ładnie. Teraz chciałbym to samo zrobić w Bascomie z wykorzystaniem modbus.lbx ale zupełnie nie wiem czy w ogóle można tą bibliotekę do tego wykorzystać? Nie znalazłem nic podobnego w sieci. Ramka zapytania / odpowiedzi miernika wygląda...
Jak kolega bobeer zauważył - twoja procedura zapisu na SD trwa tyle, ze przerywa ci odczyt pozostałych ramek. Wysyłaj ramki wolniej, zwiększ prędkość zapisu na SD, albo zmień sposób odczytu ramek - niech się odczytują np. w przerwaniu. Poza tym czy oczekiwanie na '*' to jest to czego chcesz?.. Ramka źródłowa ma w sobie dwa takie znaki. Nie powinieneś...
na Allegro sa gotowe moduły po 29zł i po 32zł nie wiem po co szukac samego ukladu kosztuje on ok 9zł + do tego atmel + plytka + cewka i inne pasywne elementy policz czy sie oplaca Tak pomogę zmienić program mój obejmuje sprawdzenie 3 kodów i jest bez sum kontrolnych osobiscie wazam z esa niepotrzebne progranm mozna rozwinąć o kolejne 2 kody bo tyle...
To, że ramka może być uszkodzona to nie dziwne. Zobacz zresztą taki efekt. Wystarczy że zrobisz układ, który już normalnie działa z tymi wszystkimi poprawnymi warunkami itp i spróbuj strzelać pilotem a to w ścianę a to przez jakąś przeszkodę jednocześnie ruszając ręką - zobaczysz że czasem wskoczą ci inne - tzn różne kody - pomimo to, że cały czas trzymasz...
>"Ale co nie działa ? " Nie wyświetla mi wartości Utc. >"Być może zbyt często chcesz wyświetlać jak na Bascom." Jeśli na końcu programu zamiast Locate 1 , 1 Lcd Utc napiszę: Locate 1 , 1 Lcd "UTC:"; Utc to wyświetla tylko UTC:, więc chyba to nie problem szybkości wyświetlania bo wtedy nic by się nie wyświetlało. >"A co ze znakiem CR" Według...
sprawdzenie tego kodu co napisalem No to podłącz i sprawdź ;) Sprawy do rozważenia: - Czujniki masz na jednej linii, czy na osobnych? - Czy zachowujesz odpowiednio duży odstęp czasu między poleceniem konwersji a żądaniem odczytu? - Wyświetlacz obsługujesz poprzez jakiś bufor ramki, czy bezpośrednio w CGRAMie rysujesz?
Posiada też I2C i tym bym się zainteresował: Piny 8 i 9 to według rozpiski z datasheeta SDA i SCL (wtedy Vss i Vdd podpinasz pod 6 i 7 - tyle wynika z mojego pobieżnego spojrzenia na dokument). W BASCOM, z tego co pamiętam, odbieranie z I2C jest realizowane poleceniem I2CRECEIVE - otwierasz helpa i czytasz. Powodzenia :) A ten digital output przypomina...
Petros :arrow: :idea: "w obsłudze zewnętrznego przerwania 1 napisałem kod który 256 razy co 100us sprawdza wejście PD3" ... ja na c też się mało znam jak narazie bo piszę tylko w asm lub bascom ale z tego co kolega pokazał - tą swoją procedurę - hmmm rodzi się szereg pytań, jak choćby: - a co z synchronizacją odbieranych kodów? gdzie jest wyłapanie...
Chodzi o to że zarówno wartość kodu jak i jego adres przyjmują odpowiednio wartości 25 i 1 i dzieje się tak nawet jak nie wyśle nic z pilota. Kiedy przycisnę przycisk na pilocie to proc odbiera te sygnały ciągle i pokazuje mi się na lcd:" kod 25 adres 1" (czasem sa inne wartości niezalezne od kodu przycisku). Czy ktoś może miał podobny problem? Dodam...
(at)Mat_91 Nie ma potrzeby wysyłać kontrolną paczkę danych na początku ramki komunikacyjnej, chyba, że ramka będzie miała różną długość - wtedy to jak najbardziej, pierwszy bajt np. z informacją o ilości wysyłanych znaków, bajty danych i CRC. Ze stałą ilością bajtów jest łatwiej. Odczekujesz, aż uzbierasz określoną liczbę bajtów po czym porównujesz...
Najlepszy manual to dokumentacja megi32 dostępna bezpośrednio u atmela na stronie. Tak szybko patrząc, at90s2313 ma rejestry UDR/UCR/USR, ale tam jest prosty UART. Mega32 posiada USART, który posiada więcej rejestrów, które dostępne są poprzez UDR, UCSR void UART_init(void) { // ustaw prędkość transmisji UBRRH = (unsigned char)(UART_CONST...
A jak inaczej czytać PCF-a jak nie przez I2C? Widzę że humor dopisuje :D Otóż, usiądź bo to może Cię zaskoczyć, TWI to sprzętowa, dużo lepsza od programowej, kiedy mamy możliwość skorzystania z dedykowanych pinów, obsługa I2C wbudowana w mikrokontroler. Żeby jej użyć należy ją najpierw skonfigurować dwoma komendami. W przeciwnym wypadku korzystasz...
Krzywizna świńskiego ogona zależy od doświadczenia i wiedzy świni...dla ciebie to proste, a ja muszę pytać o pomoc na forum... Faktycznie, po zastosowaniu twoich uwag komunikacja ożywa! Dzięki za pomoc! Miałem jeszcze problem z zapisem/odczytem z rejestrów rxb0d0/txb0d0 w taki sposób, że każda liczba była jakby przesunięta o 1 bit w lewo...np. chcąc...
Ja też miałem ten problem, że ATMEGA32 była już tak "załadowana", że multipleksowanie 2 wyśw. 7-segmentowych w TIMERze na chwilę potrafiło się zaklockować. Problem rozwiązałem stosując drugi mały uP dedykowany tylko do wyświetlacza, ATTiny2313 za 5 zł ;-) Procesory komunikują się komendami Bascomowymi SHIFTOUT SHIFTIN ramka danych 32-bity. Jeśli jesteś...
Sprawdź miernikiem napięcie podawane z LM35 na ADC. Przepisałem ten kod tak by był przejrzystszy. Przy okazji zaoszczędziłem 8% pamięci. To nieistotne. Istotne natomiast jest to, że teraz widać, że układ wyłączy się jeśli odczyt na ADC będzie w zakresie 250-300. Powyżej lub poniżej tego zakresu krążek będzie świecił. [syntax=vbnet]'Program "elektronicznej...
Co do samego odczytu [syntax=basic4gl] Przerwanie_od_rxd: Dana = Udr Incr In_pos Buffer_in(in_pos) = Dana Wywal_bajt = 0 If In_pos >= 4 Then 'Jeśli są co najmniej 4 bajty (dwa startowe, długość ramki i jakaś dana) If Buffer_in(1) = &H7F Then 'Jeżeli pierwszy bajt startowy jest dobry If Buffer_in(2) = &HEF Then 'Jeżeli drugi bajt startowy jest dobry...
Bez problemu mozna zrobic obsluge klawiatury matrycowej, LCD, RS, ADC na jednym timerze + petla glowna a efekt sekwencyjnego wywolywania kodu jest i tak niewidoczny dla uzytkownika. Jak chcesz migac 3 diodami, np. 1 co sekunde, 2 co dwie sekundy, 3 co trzy sekundy to bez problemu zrobisz to na timerze wywolywanym co sekunde. A i tak jest to przerost...
tak wygląda sam kod do odczytu predkośći "trochę nie ogarnięty sorki" [syntax=basic4gl] $regfile = "m16def.dat" 'wew rezonator $crystal = 8000000 'jest włączony wew rezonator $baud = 9600 'szybkosc ibusa Config Lcd = 16 * 2 'używany wyświetlacz i piny do jakich jest podłączony Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7...
Tak się dzieje jak stosujesz instrukcje Gosub, program idzie do procedury a tam znowu stosujesz Gosub i w tej na koncu nieszczęsne Retrurn. Program idzie w "krzaki" bo przepełniasz stosy i nadpisujesz w pamięci Ram zmienne. Poczytaj o procedurach i funkcjach w pomocy Bascoma, użyj Declare Sub a potem Sub: i END SUB. Stosuj też deklaracje ramki i stosu...
Ja nie chcę zapisywać w eeprom nadlatujących SMSów tylko fragmenty ramki PDU. które będę wysyłał. A chcę je tam zapisać by mieć możliwość szybkiej zmiany, kiedy sobie napiszę program do zmiany zawartości eeprom. Staram się napisać program tak elastycznie, by zmiana danych w eeprom, była przez program w uC "do przełknięcia, Czyli jeśli nawet zmienię...
Witam. Od końca: Kwarce najlepiej użyć takie, by odchyłka prędkości transmisji była jak najmniejsza (poniżej 5% powinno być ok.). Bascom ułatwia ich dobór. Wybierz z głównego menu Options => Compiler => Communication. W okienku które się otworzy wpisz/wybierz pożądaną prędkość transmisji, oraz częstotliwość rezonatora, a poniżej możesz odczytać jaka...
Niestety nie znam jezyka C a bascom coraz bardziej mnie wkurza. Jednak umozliwia tez prace na konkretnych rejestrach procesora wiec na pewno da sie cos wywalczyc. Masakra w bascomie to wysylanie ciagu znakow po RS232. Piszesz print "dzien dobry" a on zatrzymuje program i wysyla po kolei wszystkie znaki. Przy wolnej transmisji zatrzymuje procesor na...
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
Witam. W bascomie jest specjalna dyrektywa za pomocą której jest dekodowany sygnał z DCF-a. Odczyt jedynki i zera to dekodowanie długości trwania impulsów, 100ms i 900 ms oraz 200ms i 800ms. Poza tym brak impulsu przez sekundę jest rozpoznawalne przez tą dyrektywę jako impuls synchronizacji i rozpoczęcia odbioru następnej ramki. Więc prawdopodobnie...
Witam, mam problem z przesyłem danych tz. chciałbym wysłas ramke z PC do atmegi 1bajt-identyfikacja,1bajt-adres,i 4bajty(zmienna typu long)dane,no i za cholere nie moge poradzić sobie z tą zmienną , nie wiem jak ją odczytać a chciałbym tak : przesyłm K skocz tu.....dalej K skocz tu...... i zapisz zmienna IMPULS = 123456 Pozdrawiam
Printy są tylko do testów. U mnie po odebraniu jednej nie wyśle innej nim nie zgłosi że skończyło. Podobna zasada co 485 - urządzenie pytane zgłasza się tylko. P.s w komunikacji z wyświetlaczem raczej nie przyjdzie ramka po ramce. Panowie to przykład był tylko. u mnie jest tak Buffer_in(1) ,Buffer_in(2) - adres urządzenia Buffer_in(3),Buffer_in(4) -...
Witam Próbuję zaznajomić się z obsługą wejść i wyjść w PCF8574. Na razie wejścia - mam odczyt 255 lub 11111111. Czy możliwy jest odczyt tak, aby dało się "wydzielić" poszczególne wejścia ? Teraz robię to tak, ale może da się prościej i pojedyncze wejścia: $regfile = "m8def.dat" 'definicja procesora $crystal = 4000000 'taktowanie procesora...
Gdzie i jak masz obsługiwane przerwania? Jak wygląda sprawa stosów/ramki?
Na stronie 19 masz rozpiske jak wyglada ramka w i2c jaka trzeba wyslac. Dalej to jzu i2c start i2c wbyte xxx (wartosc) i odczyt tego rejestru ktory chcesz. Zabawy troche ale wlasnie to jest najfajniejsze niz podany kawalek kodu na tacy :) Pozdrawiam
Raczej problemem jest sama komunikacja po uart bo cały program bez niej działa jak należy. Mam jeszcze jedno podejrzenie co może być nie tak. Jak sprawdzę to napiszę. Dodano po 38 Myślałem że to budowa ramki danych jest problemem ale niestety nie. Wielkość ramki $framesize mam ustawione na 150. Dodano po 15 Dodaję uproszczony program jak Pisałeś. [syntax=vbnet]...
Pracuję nad odczytem ramki z ALPINE M-BUS i wysyłaniu do Terminala po RS232 Temat był kiedyś poruszany.Ogólnie M-BUS pracuje na zasadzie PWM ,tzn, 0 i 1 są transmitowane z różną szerokościa impulsów . Joerg Hohensohn zrobił już coś takiego w języku C. www.jevinskie.com/mbus/ Chce zrobic tosamo w bascomie. Docelowo ma być pózniej emu zmieniarki na module...
Ciekawą sprawą jest też to, że mój odbiornik IR (TSOP4836) jest normalnie zwarty (w stanie logicznym 1), mimo to przerwanie w trybie Rising działa poprawnie. Nie ma czegoś takiego jak "zwarty" :) tak poprostu działa prawie każdy odbiornik IR, w stanie spoczynku, jak nic nie jest nadawane, ma stan wysoki H czyli +5V, jeśli nadajnik (pilot) nadaje nośną...
Ehh jak moglem o tym zapomnieć ,popróbuje narazie dzięki. Co może być jeszce źle?ustawiałem ze 15 prędkości transmisji i nie działa, ciągle jakieś bzdety: / Pamiętam jak podłączyłem moduł przez konwerter 232 do PC tez miałem podobny problem,jak dobrać ta prędkość?Moduł ma w sobie kwarc 4mhz,i pracuje najprawdopodobniej z prędkością 4800... _________________________________...
W jakim języku napisany jest kod? Czy dane wysyłane są jedna po drugiej i na końcu godzina, czy są łączone w ramkę i przesyłane wszystkie razem w jednym pakiecie? Bascom. Dane są odpowiednio przeliczane, by z tego co podaje ADC wyszło napięcie odczytywana jest godzina (raz na sekundę) i wszystko składane w jedną ramkę. Robisz 4 odczyty z ADC które...
Witam, od jakiegoś czasu opracowuję urządzenia komunikujące się po RS485 w protokole PELCO-D. Urządzenia komunikują się albo jedno albo dwukierunkowo-tutaj to nie istotne... Wszystko działa wyśmienicie i komunikuje się bez najmniejszego błędu gdy nadaje jedno z urządzeń. Urządzenie to nadajnik i odbiornik. Gdy nadają 2 nadajniki jednocześnie (jednocześnie...
Drodzy Koledzy, potrzebuję popchnięcia w prostym temacie. Chcę odczytać status przycisków dotykowych, ale na początek chociaż pobrać Chip ID układu https://obrazki.elektroda.pl/9916093200_... https://obrazki.elektroda.pl/4570250600_...
Pomyśl..Cztery znaki chcesz upchać w trzyznakowym stringu.. Nie wiesz jak to działa. Kiedy deklarujesz String * 10 rezerwujesz 11 bajtów bo każdy string ma znak swojego końca. Nie musisz wykorzystać wszystkich bajtów. String może być krótszy i zaraz po znakach postawiony będzie znak końca..ale zarezerwowałeś 11 bajtów i tam program nigdy nic nie będzie...
BlueDraco - gołym okiem widać że ten projekt spokojnie zadziała na AVR. A jeśli AVR nie daje rady to wkładasz drugiego. Szybciej i wygodniej niż siedzieć 6 lat nad nauką nowego procesora. elektronic - na czas odczytu z SD robisz disable interrupts, no więc nic dziwnego że wyświetlanie ci się sypie bo przecież je wyłączasz. Czy do obsługi SD musisz wyłączać...
Ważne jest jak zwykle wszystko. Dlaczego nie używasz sprzętowego TWI które na pewno ma pewne mechanizmy wspomagające transmisję? Kiedy tylko rozkład pinów projektu umożliwia skorzystanie z przeznaczonych do tego peryferii należy to zrobić. [syntax=basic4gl]$lib "i2c_twi.lbx" ' biblioteka obsługująca hardwarowe TWI[/syntax] Do tego dochodzi to że na...
Aplikacja została oparta na 90S2313, a to jest program. Oczywiscie jest bez sensu, bo to tylko testy. $crystal = 4000000 Dim Napiecie_wejsciowe As Byte Dim Napiecie_wyjsciowe As Byte Dim Sending(8) As Byte Napiecie_wyjsciowe = 167 Do Waitms 300 I2cstart I2cwbyte 144 'adres zapisu ukladu I2cwbyte 68 'ustawia Ch0 auto inc I2cwbyte Napiecie_wyjsciowe...
Generalnie to obojętne .. jak wiemy moża sobie konwertować :) Ale interesowało by mnie coś takiego .. nie wiem czy będziecie mieli pojęcie jak to zrobić .. otóż mam do wysłania więcej danych (3) i teraz żeby po stronie kompa wszystko dotarło idealnie pasuje zrobić jakaś sumę kontrolną .. w bascomie było cos ala crc8 ale pozwalało tylko liczyć na poziomie...
To trzeba zmienić priorytet z 12 bitów stałokodowego pilota na odbiór HCSa lub całkiem usunąć obsługę pilota 12 bitowego. może tak: [syntax=vbnet]'*************************... '========================= przerwanie przy kazdym zboczu ICP, odczyt czasu trwania impulsu...
witam. w związku z zapytaniami na meila odpowiem na ile mogę tu(być może komuś się to przyda. Jesli gdzies walnołem jakis bład prosze o wybaczenie:) już dawno projekt zakonczony a nie chce mi się na nowo teraz wszystkiego instalować i sprawdzac. na początku zanim zacząłem co kolwiek pisać podpatrzyłem terminalem (RTU) przes rs232 co tak naprawdę wysyła...
Witam, walczę z GPSem od kilkudziesięciu h i nadal mam drobne problemy. Potrzebuję odczytać dane z GPGGA i GGVTG (długość, szerokość, satelity, czas, prędkość). Puki co mam kod który znalazłem gdzieś w internecie i lekko zmodyfikowałem, problem w tym, że czasami myli ramki i źle odczytuje dane: [syntax=basic4gl]Onrxd: Udr_buf = Udr 'Byte aus UART lesen...
http://obrazki.elektroda.net/52_12740875... Chodzi mi o to, że chce mieć pamięć w której będę sobie zapisywał ilość elementów elektronicznych. chce rozplanować to sobie tak, że jedna 'ramka' danych będzie składać się z 77 bitów tekstu, nazwy elementu, zaś 3 najmłodsze bity będą zawierały informację o ilości elementów na stanie. Przy pamięci...
Witam Mam układ, który mierzy dwie temperatury ( DS18B20 ), dwa napięcia ( PCF8591 ( pobiera czas ( PCF8563 ), a z powodu niedużego wyświetlacza ( 12 x 4 ) wskazania są zmieniane do 10 sekund po przepełnieniu Timer1. Układy PCF8563 i PCF8591 są podpięte z "zewnątrz" przewodami około 10 cm. Magistrala I2C ma obniżoną prędkość przez Config I2cdelay =...
Ładujesz sobie interesującą Ciebie ramkę do bufora (najdłuższa ramka ma chyba 82 znaki) , a następnie szukasz właściwego przecinka i pobierasz potrzebną ilość znaków po tym przecinku. Poniżej przykładowa procedurka wyszukująca 3ci przecinek i ładująca 11 znaków po nim. Działało to bardzo dobrze w prostym lokalizatorze z GPS'em na programowym uarcie...
Witam Mam taki kod: $regfile = "m328pdef.dat" $crystal = 14745600 $baud = 9600 ' predkość transmisji $hwstack = 128 ' rozmiar stosu sprzętowego $swstack = 128 ' rozmiar stosu programowego $framesize = 128 ' rozmiar ramki Do Locate 3 , 1 Lcd Ss1 ; Chr(0) ; " " Locate 3 , 10 Lcd Ss2 ; Chr(0) ; " " Locate 4...
Witam Nie za bardzo wychodzi mi wykorzystanie z dwóch portów UART. UART sprzętowy odbiera ramki z modułu GPS ( Tx modułu do Rx AtMega32 ) i to działa. Działa do momentu gdy włączę UART sprzętowy ( tylko Rx na jednym z portów Atmega do Tx portu Com w komputerze - korzystam z przejściówki, ale to chyba nie problem ), wtedy informacje na LCD nie są aktualizowane...
Co do kodu, to wstawię coś wieczorem, jak wrócę z pracy. Jeśli chodzi o obsługę RFM12 to mam z tego wątku [url=http://www.elektroda.pl/rtvforum/to... z przed ostatniej strony ( jest tam też zresztą kilka moich postów ), natomiast nie ma tam ważnej linijki kodu, który odblokowywał kontroler w czasie pomiędzy odbiorem danych, a który...
Witam, walczę z GPS i mam problem z Select Case: [syntax=basic4gl]Przerwanie_uart_rx: If Run <> 0 Then Run = Udr Xor 36 'jeśli w udr jest asc("$"), to run=0 If Run = 0 Then Cntr = 0 Cntr2 = 0 'licznik=0 po wczytaniu "$" Zmienna = "" End If Else Select Case Cntr Case 0 To 4 Tudr = Lookup(cntr , Gsv) 'odczyt GGA Run = Udr Xor Tudr 'powrot do znaku...
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 Zachęcony sukcesami z płytką EVB 4.3 zaprojektowałem i zamówiłem swoją - na początek z AtMega8 w DIP. Do tego pamięć 24C32 oraz układ do RS485. Wszystkie układy mają kondensatory 100 nF ( stabilizator 7805 również + jeden elektrolit ). Całość ze złączem pod wyświetlacz 2*24 ( właściwe 4*12 ) Reset przez rezystor 10 K do +5V AtMega8L ( na 8 MHz...
Źle podchodzisz do tematu. Dopóki są to jakieś tylko zabawy w budowę termometru to sobie można pozwalać na takie błędy. Kiedy jednak od pomiaru takiej temperatury ma już zależeć praca jakiegoś urządzenia to powinno się do sprawy podejść poważniej. Po pierwsze ten uC ma trzy Timery. Może mierzyć dowolne czasy. Czy na pewno jest Ci potrzebne przerwanie...
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem pozycje wyświetlania do LCD 4*20 - załączniku spakowany...
Rób sobie jak chcesz bo można zrobić dokładnie wszystko tak jak chcesz jeśli tylko sprzęt "wyrobi". Natomiast myślę, że nie masz tego projektu przemyślanego od początku do końca. Coś opracowaliśmy, teraz zmiana zdania/metody/ramki. Ograniczając się do jednego bajtu sam sobie ograniczasz cały system. Można to OD RAZU zrobić przyszłościowe i z zapasem...
Przy takim kodzie: Attiny2313 - temu raczej nic nie dolega - odbiera i wysyła: $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 9600 '********************* Konfiguracja magistrali 1-Wire Config 1wire = Portd.5 '********************* Config Serialin = Buffered , Size = 10 Enable Interrupts '********************* Konfiguracja wejść i wyjść...
zacznij od tego kodu $regfile = "m8def.dat" $crystal = 8000000 Open "comd.3:4800,8,n,1" For Input As #2 Open "comd.2:4800,8,n,1" For Output As #1 Dim Poz As String * 32 Dim Poz1 As String * 20 Dim Poz2 As String * 20 Dim Poz3 As String * 32 Dim Pozv1 As String * 2 Dim Pozv2 As String * 7 Dim Pozv3 As String * 7...
Witam. Prosiłbym o sprawdzenie poprawności programu. Usiłuję skomunikować się z układem poprzez Atmega128 i SPI programowe. Jednak układ po wysłaniu ramki nie wystawia na końcówce Busy stanu wysokiego i stoi. Jak wyremuję sprawdzenie tego pinu to efektem jest odczyt "255" i całkowity brak reakcji na dotyk. [syntax=vb]$regfile = "m128def.dat" ' specify...
http://obrazki.elektroda.net/97_12728985... Witam. Przedstawiam projekt Tunera FM z dekoderem RDS. Konstrukcja powstała jako potrzeba zastąpienia wysłużonego sprzętu Diory. Tuner jest pierwszym elementem zestawu jaki zamierzam wykonać, następnym elementem będzie wzmacniacz. Z uwagi na brak czasu projekt powstawał przez około 1,5 roku. Dekoder...
trzeba przeprowadzić tak zwaną inicjalizację w C wygląda ona tak void rtl_init (void) { rtl_config_ports(); // konfiguracja linii komunikacyjnych rtl_reset(); // reset RTL8019A rtl_write(RSTPORT, 0x00); // wpisz wartość 0 do komurki Reset Port dlms(30); // czekaj 30 milisekundy rtl_write(CR, 0x41);...
No tak tylko, że zdarza mi się oczekiwać na bardzo długą linię np. 80 bajtów czyli bufor musiałby też tyle mieć i zmienna stringdo której kopiuję bufor po odebraniu CR też, to jest juz 160 bajtów, a poza nimi muszę mieć kilka innych zmiennych potrzebnych do parsowania. I inne do innych celów, i SRAM na obsługę stosów i ramkę. Więc zdecydowałem, że nie...
Ale ten sposób wysyłania ramek to trochę nie teges. A jak poprawnie się wysyła takie ramki i czym? Nie możesz po prostu sprawdzić w opisie programu jak należy formatować dane? Bo domyślam się że to jakiś terminal jest. Na Wikipedi jest opisane tak: "Minicom to program do kontroli modemu oraz emulator terminala dla systemów uniksowych" Ciężko Ci pomóc...
Chciałem przedstawić mój pierwszy projekt w BASCOMie. Jest to moduł komunikacji mikrokontrolera z telefonem komórkowym poprzez sprzętowy UART. http://obrazki.elektroda.net/97_12540699... W projekcie wykorzystałem uC Atmega8 i telefon SE T300. Wykorzystałem ten model, bo akurat taki miałem i okazało się, że przypadkiem ten model ma pewną zaletę....
Witam Mam program, który wyświetla na LCD współrzędne oraz prędkość ( prędkości jeszcze nie sprawdzałem w terenie ) oraz zapisuje na karcie SD. Na razie zapis na SD jest ręczny, przez przycisk. Chciałbym żeby zapis dokonywał się ze zmienną częstotliwością zależną od szybkości, (szybkość mam jako String i Integer), np: 0 km/h - co 30 minut 0- 10 km/h...
w Helpie Bascoma poszukaj polecenia Getrc - tam jest gotowy przykład Co najwyżej dowie się jak odczytać opór lub pojemność bez użycia ADC.. Proponuję zapoznać się komendą GETRC5.
Witam W oparciu o projekt Kolegi _Duch - rejestrator pogodowy zrobiłem swój ( na razie prosty ) rejestrator. Wykorzystałem podane w wątku pliki config_mmc.bas i Config_AVR-DOS.BAS . Na płytce testowej EVB 4.3 v.4 . Podłączenie z SD standardowe. Niestety nic się nie zapisuje na karcie SD ( próbowałem 2 Gb Kingston i 1 Gb Sandisk - formatowane na FAT...
Walczę i walczę z tym programem ale nie daje rady.... :cry: Wrzucam cały kod, jest on zrobiony na bazie jak wspomniałem wcześniej: Projekt powiadomienia o alarmie by Xury wersja 2.0 [syntax=basic4gl] '***************************************... 'Projekt powiadomienia o alarmie by Xury wersja 2.0 'Działanie na przerwaniach...
Witam, posiadam dwie atmegi8 sprzęgnięte ze sobą komunikacja za pomocą UART. Jedna atmega będzie zbierać informację z czujników i poprzez UART przesyłać bajty danych do drugiej atmegi której zadaniem jest wyświetlanie tych wartości na wyświetlaczu graficznym. Moja ramka danych składa się z dwóch bajtów, pierwszy z nich jest to bajt "adresowy" który...
Alez jest komentarz, ze liczby sa nieprawidlowe. Wklepalem byle co, zeby pozniej sobie dokladne wartosci obliczyc, a nie zawracac sobie glowy duperelami w tamtym czasie. Co masz na mysli piszac "chlapniesz"? Chlapanie tutaj na forum czy w swoim kodzie? :) Hm skoro widzisz jeszce jakies kwiatki, to bede wdzieczny, jesli sie nimi podzielisz ze mna. :)...
Mam mały problem z programem napisanym w bascomie .... ja myślę, że masz duuuży problem, dlaczego? 1. bo po pierwsze w ogóle nie zapoznałeś się ze standardami kodowania IR dla różnych pilotów (choćby dla RC5 i SONY o których wspominasz) 2. po drugie - proponuję najpierw poćwiczyć pisanie w Bascomie prostszych programów aby nabrać trochę doświadczenia...
Witam Używam Attiny2313 do pomiaru dwóch temperatur z DS18B20. Wynik ( Integer ) przesyłam bez żadnej obróbki przez UART przewodem 40 cm do Atmega328. Atmega rozbija odebrane dane i jest obróbka Kod Attiny2313 $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 4800 '********************* Konfiguracja magistrali 1-Wire Config 1wire = Portd.5...
http://obrazki.elektroda.pl/4164965000_1... Witam. Od dłuższego czasu interesuję się technologią RFID i dziś chciałem zaprezentować rozwinięcie mojej dawnej konstrukcji mianowicie czytnik kart RFID ze zintegrowaną anteną na płytce PCB. Ze względu na skomplikowaną konstrukcję anteny (niewielkie odległości między ścieżkami) płytka została...
Witam Napisałem program, który dekoduje sygnał DCF77 ( ustawia flagę ), następnie zapisuje ( przy pierwszym uruchomieniu ) wartości zmiennych do PCF8563 i cztery razy na dobę wysyła przez RS485. do tego dwa razy na dobę koryguje czas w PCF8563. I to działa bez problemu. Do celów testowych mam podłączony LCD. Chciałem dołączyć możliwość pomiaru i wysyłania...
Zalegający śnieg na dachu, o ile jest go dużo, potrafi wyrządzić poważne szkody. Można tu wymienić zrywanie rynien, spadanie dużych bloków oblodzonego śniegu na podjazdy garażowe, parkingi, itp. W celu ochrony przed takimi wypadkami stosuje się różnego rodzaju zabezpieczenia przeciwśniegowe w postaci rur, barier, płotków. Ich głównym zadaniem jest zatrzymanie...
Pisząc program stanąłem przed problemem odbioru kodu RC5 z pilota ale z użyciem przerwania. O ile w BASCOM 8051 GETRC5 w przerwaniu działa doskonale, to w BASCOM AVR jest to kompletna porażka. Wadą Bascomowej funkcji GETRC5 jest: 1) Dziadowskie działanie w przerwaniu (niby działa ale traci pierwszy pakiet z pilota) 2) Zastosowanie jej w programie powoduje...
Witam, W temacie Open "comd.3:4800,8,n,1,inverted&quo... For Input As #1 Odczytaj_gps: Gpstxt = "" Przerwanie = 0 Do ' W tej pętli szukaj znaku "R" (82). Ona zsynchronizuje odczyt $GPRMC ... Gps = Inkey(#1) Incr Przerwanie Loop Until Gps = 82 Or Przerwanie = 1024 If Gps = 82 Then ' Jak znajdziesz to odbierz...
http://obrazki.elektroda.net/76_12349093... Włącznik komputera zintegrowany z igorplug Ostatnio postanowiłem zmontować sobie komputer pracujący w roli "Media Center". Jako zdalne sterowanie wykorzystałem odbiornik igorplug ( http://obrazki.elektroda.net/86_12349099... Wszystko działało bardzo pięknie - pojawił się tylko jeden problem -...
Poniżej wklejam działający kod obsługi czujnika ciśnienia MPL115A2 - może komuś się przyda. Komentarzami nie należy się przejmować, część udało mi się przetłumaczyć w oparciu o inne znalezione przykłady. Teraz ( 23:55 19/04/2013 ) w południowej części Krakowa pokazuje 995 hPa Byte . Jak najlepiej podzielić zmienna typu Long ?
Witam Pytanie natury technicznej... Przedstawiam wycinek programu, odczyt z 2 portów adc konwersja i potrzeba wyświetlenia wyniku pomiaru w formacie 0.00. Zauważyłem problem pojawiący się gdy w programie występują dwie instrukcje FUSING pracujące niezaleznie nad rożnymi danymi... coś mi sie zdaje że instrukcja FUSING korzysta ze zmiennych wewnętrznych...
Jest taki sobie termometr - moduł ma BT222 podłączany przez złącze http://obrazki.elektroda.pl/1320347600_1... Wgrywam do niego kod Bascom: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 4000000 '$baud = 9600 ' predkość transmisji $hwstack = 64 ' rozmiar stosu sprzętowego $swstack = 24 ' rozmiar stosu programowego $framesize = 48...
Witam Poniżej załączam kod, który ma sterować wyświetlaniem informacji na LCD oraz zmianą koloru podświetlania. Niestety po upłynięciu czasu ( różnie, czasem kilkanaście minut, czas kilka godzin ) procesor zawiesza się i na LCD wszystko się zatrzymuje. Wstawiam tylko część kodu którą obsługuję RC5, gdyż jego usunięcie ( ale pozbawienie obsługi RC5 )...
Witam W swoim programie wykorzystuję klasyczny kod dla DS18B20. Pomiar, obliczenia i odczyt podzieliłem na dwie części, każda wyzwalana flagą od od Timer0. Najpierw w podprogramie wywołuję DS'y pierwszym wystąpienie flagi od Timer0, a w następnej wywołuję podprogram konwersji i obliczeń. [syntax=basic4gl] $regfile = "m644def.dat" $crystal = 14745600...
Witam W oparciu o kod znaleziony na forum Elektroda mam programik wyświetlający adresy układów w magistrali I2C ( TWI ). Kod jest taki: $regfile = "m8def.dat" 'definicja procesora $crystal = 4000000 'taktowanie procesora $hwstack = 32 ' rozmiar stosu sprzętowego $swstack = 10 ' rozmiar stosu $framesize = 40 ' rozmiar ramki Config Debounce...
Witam Stopniowo rozbudowując o kolejne konfiguracje układ chciałbym mieć możliwość ustawiania parametrów zegara przez pilota ( w sumie to bardziej wygodne i nie zabiera wyprowadzeń uC ). Mam program z menu działającym na przyciskach, zastosowałem flagi, gdyż sprawdzanie tylu wersji warunków niepotrzebnie zagmatwałoby kod. Zostawiłem obsługę przez przyciski...
Sowa , napewno działa Ci ten kod co zamieściłeś. Możesz wyjaśnić dlaczego stosujesz *AT91C_TWI_MMR &= ( 0xFF00EFFF | (dev_adr<<16) ); zamiast normalnego wpisania do rejestru MMR? Bo to co robisz, to jest jedynie wyzerowanie niektórych bitów w tym rejestrze. I choć w niektórych przypadkach może to działać, ale generalnie na...
Dziękuje :). Taki był cel bo żeby było prosto bo miałem na to tylko 2 kB pamięci . I ładnie. Chciałem zobaczyć bo wiem, że nie jest łatwo w języku wysokiego poziomu wetknąć w attiny2313 obsługę wyświetlacza, komunikaty i coś co jeszcze coś robi. Swoją droga musiałem wyprostować twój kod żeby ogarnąć ... Ech te wcięcia ... [syntax=vbnet] '***************************************...
http://obrazki.elektroda.pl/9418966600_1... Witam wszystkich na forum. Jest to moje pierwsze publikowane DIY. Słowo wstępu… Projekt powstał z jednego, bardzo ważnego powodu: bo bardzo chciałem coś takiego mieć! Jest to układ odczytujący kod karty poprzez interface EM4095 z anteną, dekoduje, sprawdza i wysyła poprzez port szeregowy....
Uwaga! Przedstawione przez autora urządzenie nie spełnia wymogów standardu I²C (IIC) co zostało wyjaśnione w dalszej części dyskusji w szczególności od tego postu: http://www.elektroda.pl/rtvforum/viewtop... Dlatego też decyzją grona moderatorów zmieniono tytuł na "Izolowany galwanicznie interfejs jednokierunkowy open-drain...
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...
Na stronie producenta: http://www.nordicsemi.com/index.cfm?obj=... jest datasheet, zwięzły, opisane to co najważniejsze, jest graficznie przedstawiony algorytm nadawania i odbioru. Transmisja jest bardzo prosta, zależy kto w jakim języku pisze, ja robię w avr-gcc ale robiłem też w bascomie, przykład w avr-gcc - tylko kawałek...
W taki sposób, że zaraz po zakończeniu nadawania właściwej zmiennej, z powrotem startuje nadawanie znaków NULL. Tak więc moje rozwiązanie "wyłuskuje" wszystko z pomiędzy tych pustych znaków ;) [EDIT] A jednak mój sposób zawiódł. Nie tyle że nie działa, co po prostu przerwania od bufora są zbyt częste i mam problemy z napisaniem dalszej części programu...
Problem ze zmianą nazwy pliku rozwiązałem - oczywiście należy pamiętać, że nazwa pliku może być ośmio znakowa. W kodzie dodałem: Plik = "temDD_MM" + ".txt" Mid(plik , 4 , 5 ) = Data_plik oraz w odczycie czasu Data_plik = Bcd(dday) + "_" + Bcd(mmonth) oraz zmieniłem wpis zapisu Open Plik For Append...
Witam Mimo, że większość proponowanych tutaj rozwiązań podłączenia RFM12 do Atmegi wykorzystuje SPI programowe, ja podłączyłem tradycyjnie, przez SPI sprzętowe - mimo, że nie miałem problemów z wgrywaniem kodu do Atmegi spiętej z RFM12, to uruchomienie ich razem jest problematyczne ( każde osobno działa bez problemu ) [syntax=basic4gl] $include "Config_AVR-DOS.BAS"...
Witam! siedze i siedze i nie wiem dlaczego karta po inicjalizacji odpowiada inaczej niz powinna : $regfile = "M8def.dat" 'typ mikrokontrolera Dim Temp As Byte 'zmienna pomocnicza $hwstack = 64 'wartosc stosu $swstack = 64 'wartosc stosu $framesize = 64 'wartosc ramki Config Pinc.1 = Output 'konfiguracja linii PC.1 jako wyjsciowej Config Spi...
rs232 odczyt ramki odczyt pilot bascom bascom odczyt pamięć
zasilanie delphi airbag kasowanie koszt naprawa telewizor samsung
pętla prądowa skymaster 32sh1000
Volkswagen Passat TDI 2002 – objawy uszkodzonej pompy paliwa, szarpanie, gaśnięcie silnika Volkswagen Passat B5 2002 TDI – nierówna praca zimnego silnika, stabilizacja po rozgrzaniu