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...
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...
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...
Dalsza zabawa polegała na odebraniu ramki . Istnieje możliwość wysyłania i odbierania ramki przez ten sam węzeł. W rejestrze CANCTRL bit7-5 REQOP ustawiamy 010 = tryb sprzężenia zwrotnego. Tryb sprzężenia zwrotnego jest bardzo cenny ponieważ umożliwia to zabawę z MCP mając tylko jeden węzeł . Do programu musiałem dopisać. deklarujemy:[syntax=basic4gl]...
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, 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.
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...
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...
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...
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...
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 Mam płytkę Loggera GPS + SD + PCF8563. Jeśli chodzi o GPS i zapis na SD wszytko jest OK. Problemem jest ( i to pierwszy raz się z czymś takim stykam ) odczyt danych z z układu PCF8563. Otóż dla pewnych wartości sekund, odczytana wartość czasu - godziny jest większa o 40 ( czterdzieści ). Czyli jeśli czas jest 22:40:02 to jest wyświetlany poprawnie,...
Witam. Proszę o podpowiedź jak najprościej odebrać i okiełznać ramkę danych po uarcie. Ramka ma stałą długość 32 bajtów, niestety nie występuje w niej znak końca linii, nie ma CR i nie ma LF. Doczytuję sobie tą ramkę tak: [syntax=vbnet] Do Loop Until Waitkey() = Chr(66) Do Loop Until Waitkey() = Chr(77) Inputbin A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8...
Witam Odbieram po rs232 ramki , najdłuższa z nich ma 176 znaków a najkrótsza 44 znaki , kawałek kodu w bascomie wygląda tak : Dim Znaki As String * 176 Enable Interrupts Enable Urxc Do If Ischarwaiting() = 1 Then Inputbin Znaki . . 'tu wyświetlam na lcd . Loop Problem polega na tym że jak przyjdzie krótsza ramka to program stoi w miejscu , rusza...
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...
Witam serdecznie. Potrzebuje pomocy w napisaniu kawałka programu aby dekodował mi taką ramkę po uart https://obrazki.elektroda.pl/3861070500_... oraz pobranie tylko jednej danej bajtu podkreślonej na czerwono
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 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...
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...
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa czujniki DHT11 - odczyt z PCF8574AP w przerwaniu ( klawiatura )...
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 -...
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ę.
Gdzie i jak masz obsługiwane przerwania? Jak wygląda sprawa stosów/ramki?
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.
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ś...
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...
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...
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...
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...
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?
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...
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...
(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...
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...
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...
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...
Kwarc wstaw w obu przypadkach nawet 16MHz. Baudrate jest zależna w zasadzie od jego dzielnika niż od kwarcu. Nie szalej też z dużą szybkością bo błędy mogą wyskoczyć, zacznij od 4800 bps. Połączenie po UART masz zrobić sprzętowo! Timer niech ci obsługuje multiplexing, główna pętla programu sprawdzanie czy w UART coś przyszło i przepisywanie do tablicy....
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...
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ś...
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
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...
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]...
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...
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, 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
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ę...
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... _________________________________...
Napisz do Radosława SQ2FOA. Zrobił urządzenie FOA-Pack i raczej nie pisał tego w assemblerze a w Bascom'ie na pewno nie. Jest tam między innymi współpraca z odbiornikiem GPS w formacie NMEA (proste jak drut). Wpisz też w Google frazę "nmea protocol" to znajdziesz mnóstwo stron z opisem każdego pola w różnych ramkach. Strona Radosława SQ2FOA to http://sq2foa.republika.pl/.
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...
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, 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...
rs232 odczyt ramki odbieranie ramki bascom odczyt ds18b20 bascom
błąd wskaźnik technik elektryk bezpiecznik termiczny
uzwojenie symetryczne schemat ws502
Jak sprawdzić czujnik hamulca w Wegoboard Supreme 3? Demontaż wentylatora w kotle Termet - krok po kroku