To pewnie wynika z tego że powstało dużo różnych AVR`ów. Jeśli na początku ktoś korzystał tylko z jednego typu to mógł sobie w IDE ustawić konfigurację dla stosów a nawet wyświetlacza LCD czy I2C. Stąd dla wstecznej kompatybilności dalej tak można zrobić. Na przykład ustawienia dla stosów są tutaj tylko moje są już zmienione bo mogę szybko wkleić to...
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...
Moze zrob tak Do RS = Inkey() ' czyta RS232 If RS = 13 Then Exit Do ' szuka znak konca linii Ramka = Ramka + Chr(RS) ' Odczytana ramka z PC Loop
Zaproponowane zmiany nic nie zmieniły. Jak była obsługa 12bitów to procesor i tak rozpoznawał jaka to ramka za pomocą długości bitu startowego i dalej już "nie obsługiwał" części odpowiedzialnej za tą ramkę 12bit. Sprawdziłem i odbiera normalnie zawsze pierwszą ramkę, załączam ekrany oscyloskopu, drugi kanał jest wyzwalany flagą po odebranej ramce...
Mógłbyś jakoś opisać jak to działa? tak troszke dokładniej. Wiem jak wygląda ramka w modbusie, ale nie wiem jak ją wysłać. Można to zrobić np. przez polecenie Print? Żeby się tu za wiele nie rozpisywac , to kodzik który przytoczyłem powyżej , oblicza tylko CRC dla ramki przy użyciu modbus.lib i nic więcej.Po więcej informacji w j.polskim , zapraszam...
Łap bo jak zaczniesz z tym Multimaster to się nigdy z tego nie wygrzebiesz a odkrywasz tu koło na nowo :D Po pierwsze nie zauważyłem wcześniej, że już skonfigurowałeś Serial in 0. Błędem natomiast jest jest używanie Serial out 0 a potem zamiast to wrzucić do bufora to wycinasz po jednej literce ze stringa i nadajesz pojedynczo... Po prostu napisz Print...
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...
Witam Jak wielu spotkałem się z problemem problemem kłopotliwej obsługi pilota z RC5. Po poszperaniu w necie wpadłem na http://www.elektroda.pl/rtvforum/topic20... ten temat. Jak się okazało wszystko na tym programie pracowało, ale nie zawsze. Kłopotem było napisanie programu "pod pilota". Oczywiście pochwała dla Sabotaz'a który problem "ruszył"...
Skoro chesz przesyłać dane czyste dane binarne to chyba zrozumiałe, że odpada ci konstrikcja Bytematch z zastosowaniem dowolnego bajtu, który byłby końcem jakiejś tam ramki w związku z tym musisz je albo: 1. wysyłać czysto binarnie z kompa a w procku po prostu czekać na zakończenie transmisji - wprowadzając jakiś TimeOUT (ale to czasami mało eleganckie...
Ramka danych standardowa i2c czyli najpierw wysyłasz adres układu potem wysyłasz dane i tu jest z górki bo nawet w tamtym poście z forum masz podane parametry jakie należy wysłać. Raz wysyłasz przy uruchomieniu konfigurację z jaką ma działać układ i to należy wrzucić do klamerek setup w uproszczeniu chcesz aby układ miał ustawiony bas i sopran na 0...
Zamiast wysyłać przez RS232 binarnie - co często przy przesyłaniu większych porcji danych przez początkujących będzie się kończyło samymi problemami - to nie łatwiej ci zamieniać przesyłane liczby na stringi a po odebraniu ze stringów na liczby. Dzięki temu twoja ramka będzie mogła być po ludzku zakończona znakiem ENTER a co za tym idzie wszystko co...
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....
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...
http://obrazki.elektroda.pl/9195353900_1... Witam. Niegdyś dostępne były do kupienia zestawy gniazdek zdalnie sterowanych firmy CLARUS w marketach sieci "robaczek z kropkami" w cenie 30zł za 3 gniazdka + pilot :sm7: Niestety moje lenistwo mnie pokonało i wymusiło na mnie stworzenie dodatkowego pilota do tego zestawu. Oryginalny pilot...
Reset rzeczywiście nie jest podciągnięty do plusa bo przy programowaniu było by zwarcie. Fusebity są nieruszane, a masa w rs232 jest podłączona. Deklaracja $Crystal jest ustawiona na 4000000 - 4MHz. Zauważyłem że to że ramka nie przychodzi przy dotykaniu to przypadek - jak się odsunę od płytki to też nie przychodzi jak powinno. Cala ta komunikacja to...
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...
oczywiście, że można to rozpatrywać jeszcze na miliony sposobów. Ja w swoim teście nadaję te ramki co ok 50ms. Jeśli ustawię ich wysyłanie np co 10ms to tych błędów nawet bez zasobochłonnych procesów pojawia się nieco więcej. Jeśli ustawię interwał czasowy na 100ms to błędne ramki nie pojawiają się nawet przy obciążaniu windy innymi procesami. Te błędy...
Zmień rozmiar stosów i ramki
Witam wszystkich ciałem odkopać ten temat, na elektrodzie ani nigdzie indziej nie ma zadnych informacji na temat MCP w BASCOMIE sam osobiscie staram sie wysłać ramkę do samochodu mam nawet analizator CAN aby sprawdzić czy ramka wychodzi z MCP i lipa układ coś tam nadaje ale CANALANYZER nie rozpoznaje zadnej ramki
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! Koledzy mam takie pytanie. Jak najlepiej wysyłać przykładową ramkę 5AA50480030003 w bascom-ie.Obecnie robię to tak: Print Chr(&H5A); Print Chr(&HA5); Print Chr(&H04); Print Chr(&H80); Print Chr(&H03); Print Chr(&H00); Print Chr(&H03); Ramka jest wysyłana prawidłowo, urządzenie je odbiera. Czy jest jakiś sposób, aby to zoptymalizować, ponieważ...
Jakoś mi ten post umknął pewnie przez to że to weekend :P W Attiny2313 SRAM`u jest dość bo 128 B tylko pewnie zderzyłeś się z czymś o czym ludzie, albo nie wiedzą, albo zapominają. Otóż chodzi o stosy. Nie wgłębiając się w zagadnienie stosów podpowiem, że operacje na stringach Bascom przetwarza w tak zwanej ramce. Kiedy ma podzielić string to robi jego...
Bez przesady - u mnie kilka lat system złożony z kilku atmeg działa na wewntrzym RC przy prędkości 250kbps. Dwe lub trzy ramki na dobę mają błąd (crc) (1 ramka na s - ok 100bajtów).
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...
Więc tak, zapodam przykład jak prosto ja zaimplementowałem modbus rtu kod jest w BASIC-U: dim ramkartu as string ramkartu=chr(1)+chr(1)+c... ramkartu=ramkartu+CRC_16(ramka) com_send_string(ramkartu) ' funkcja wysyła string na com Ot to cała filozofia, nie pamiętam...
Witam. Nie wiem czy Kolega zaglądał do linka obsługi wyświetlacza? Jeśli miał bym robić jak Kolega radzi to samych ramek, jakie obecnie będę używał jest ok 100 więc... Połowa z nich to dane np. z czujnika gdzie dane(w jednym tylko adresie) zmienić się mają, co sekundę na wyświetlaczu od 0 do 100. Podaj przykłady ( krótkie instrukcję kodu) do wysyłania...
Tych wartości nie ustala się eksperymentalnie. Nawet podałem na forum przepis co i jak... Szukać! $HWSTACK = 32 - jak nie używasz przerwań to możesz zmniejszyć nawet dwukrotnie. Pamiętaj tylko by nie używać zbyt dużo zagnieżdżonych odwołań GOSUB. $SWSTACK = 18 - jak nie ma poleceń CALL, SUB, FUNCTION, LOCAL to to taka wartość to marnotrawstwo RAM. W...
1. jesteś pewien, że ta ramka jest na 100% poprawna ? 2. to może pokaż jak ją wysyłasz w swoim kodzie - skoro piszesz, że nadal nic nie wychodzi - to może się od razu wyjaśni co robisz źle pomimo podpowiedzi Dodano po 2 próbowałeś konkretnie tak ???? (zwróć uwagę na każdy szczegół zapisu - szczególnie średnik na końcu linii) PRINT chr(2); chr(0);...
Cytuję: "Ustawia się to w zależności od skomplikowania programu. (...)" O co tutaj chodzi i o jakie wartości tutaj chodzi? Dokładnie chodzi o ilość bajtów jaką początkowo zajmie każdy ze stosów. Stos jest elementem rozrastającym i kurczącym się dynamicznie. Może dojść do sytuacji gdzie jeden zajdzie na drugi - stack overleap - i kłopot gotowy. Dlatego...
O ile mi wiadomo - Bascom potrafi jedynie zbudować i wysłać ramkę do urządzenia SLAVE. Kod slave musisz napisać sobie sam. Podpowiem trochę. Modbus RTU od strony slave nie jest skomplikowany w implementacji. Przyjdzie Ci na port UART taka ramka danych: - początek transmisji (3,5 znaku ciszy) - adresu urządzenia (1 bajt) - kod funkcji (1 bajt) - danych...
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...
Jesteś wielki "Jerzy_w"! Jest więcej danych/rożnych "ramek"... Wysłany z innego interfejs np: Atmega16 <->Max232 <->RS232<->USB<->PC<... [9600 bitów na sekundę 8 bitów danych, 1 bit stopu] Ramki są rożnego rozmiaru 5,6,7,8 bajt Wysyłane warunkowo wciśnięty przycisk i wysyła ramkę lub komunikaty [Temperatura, Czas]co 1,2,3...
Przyjrzałem się temu tylko pobieżnie więc to co napisze to tylko sugestie. Nie zgłębiałem też protokołu, ale pisze wyraźnie, że ramka dla jednego tylko modułu rozpoczyna się na przykład nadaniem dwa razy &HFF a kończy 2X&HFF "followed by &HAA" tak więc nie uświadczysz tam żadnego "entera" i każde z urządzeń podłączonych do szyny pewnie ma swój identyfikator...
Cze.Podglądałeś czy twoja ramka "wychodzi" w prawidłowym formacie z urządzenia?Jakim kompilatorem kompilujesz?Jeżeli to BASCOM to sam jesteś sobie winien :-) Jeżeli wszystko jest OK to FL powinien sam wykryć urządzenie(Funkcja "link to controller").Sprzęt NIE MUSI wysyłać co jakiś czas niczego.
Temat do ogarnięcia na większości ARM. Na AVR dużo roboty. W RPi para idzie w gwizdek, trzeba dobrze kumać w temacie Linuxa. Dla kumatych ARM z min 32kB RAM, dla "niekumatych" ESP, w miarę łatwo da się zrobić ale... długa lista tych ale. Na "Ardunino" czyli w domyśle AVR nie polecam, mało RAM i przez to komplikuje się życie (prację). Poparcie moich...
Bytematch nie używa żadnego specjalnego przerwania że boisz się iż ci ich zabraknie ;) .... jakby było takie uzyte to zostałbyś poinformowany o tym w Helpie. Za to przykład, który wyczytałeś z forów internetowych rzeczywiście mógłby działać kiepsko i doszedłbyś szybko do wniosku, że coś do kitu działa ten mechanizm. Zawartość tej procedury powinna być...
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ś...
Witam, mam pewien problem. Na temat CAN i Bascom nie ma w internecie zbyt wiele informacji, więc metodą prób i błędów na podstawie programu z pomocy Bascoma próbuję coś ulepić. Kod przerobiłem następująco pod siebie: [syntax=vbnet]$regfile = "m128can.dat" $crystal = 16000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Com2 = 19200 , Synchrone...
Dziwne, ta funkcja zwraca wartosci tylko 0 1 2 3. Zadeklarowałeś zmienną ERROR? W helpie jest to opisane. Ja wczoraj testowałem te funkcje u siebie bo tez mi sie krzaczy program, i zwracała mi różnie. raz miałem 1, potem zwiekszyłem stos i pokazała mi 2, wiec zwiekszyłem programowy stos to teraz krzyczy ze ramka za mała. Jest taki program w BASCOM AVR...
Ł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 Juz sobie z tym dzisiaj poradzilem, ale dzieki ;-) Swoja droga dziala mi to troche za wolno (wiadomo, pierwsza ramka rc5 tracona jest na przerwanie). Zastanawiam sie, czy moze ktos kiedys popelnil wstawke assemblerowa obslugujaca rc5 z przerwania? Zastanawim sie jeszcze nad kodem standardu sony, jakies doswiadczenia?
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
OK Dzięki! Mam taki interfejs ze posiadam X modułów na których są przekaźniki i są podłączone do szyny danych (RS485) i chce sterować je poprzez komputer. W Delphi wysyłam jednym ciągiem takie komendy jak Adres = 0-255 Komenda = 0=255 Port = 0-255 Wartosc = 0-255 Czyli moja ramka danych z komputera przykładowo wygląda tak: RS_Send ('ADCS'); Wysyłam...
Witam! Moj problem. Chce, zeby dwa mikrokontrolery komunikowały się między sobą po RS-232. Ramka danych składać ma się z ośmiu bajtów danych. Komunikacja ta ma byc możliwie odporna na zakłucenia. Myślę, że stosowne jest zastosowanie czegoś w rodzaju sumy kontrolnej. Moja prośba dotyczy gotowej procedurki w BASCOM lub ASM do obliczenia takiej sumy oraz...
nie, nie chce tego wieszac na jednej nodze... tylko pytam , bo wlasnie czytalem o tych roznicach pomiedzy wsadami attiny12 i 13. tak co do lcdka, kupilem na allegro - wiadomo najtansze. czytalem na elektrodzie ze jak to wyjme z ramki , to nogi metalowe odpadna. no tego sprawdzac nie bede, bo mi akurat ramka nie przeszkadza, ale zastanawiam sie czy mozna...
Dane w buforze będą gromadzone w przerwaniu - inaczej będą gubione. Jeśli chodzi o przełączanie slave-ów - popatrz w help Bascoma, są tam oprócz opisu , piękne rysunki jak to wszystko podłączyć. Co do wielkości ramki - nie wiem jak wygląda w MIDI, ale sądzę ,że ma kilka bajtów ale trzeba brać pod uwagę sytuację, gdy wszystkie 8 uart-ów otrzymuje dane...
Witam. Wiem o tym co napisałeś, ale przed input jest sprawdzane czy jest co pobrać (ciąg zakończony LF) i jeśli jest co pobrać to jest pobierane w całości (jako string). A działa to tak: - zbiera się znak i jest zgłaszane przerwanie - kolejne znaki trafiają do bufora - jeśli ostatni znak jest LF (10) to jest wystawiana flaga że jest cała ramka to jest...
Na jednej szynie danych (o takiej mowa skoro mogą się pojawiać kolizje) i tak nie uzyskasz trybu full-duplex. Według mnie lepiej zastanowić się nad samym protokołem, aby wyeliminować w znaczącym stopniu kolizje oraz zapewnić jakiś prosty sposób retransmisji danych - najprostrzy to narzuta 2 bitów na pakiet danych - jeden zmieniany w każdym kolejnym...
Witam, te dane odnośnie twojego pilota są tak na prawdę ze stronki: http://lirc.sourceforge.net/remotes/ dzięki czemu masz super dokładny opis jak zrealizować sobie samemu nadawanie IR w standardzie tego pilota. Podejrzewam, że bascomowy SonySend nie zadziała z twoim radyjkiem ponieważ poza np różnicą w parametrze ptrail pomiędzy twoim opisem a dokumentacją...
Witam Mam taki problem, a mianowicie nie wiem jak się do tego zabrać. Układ mam na ATMEGA16 Mam pewne urządzenie, które po RS232 wysyła dane w postaci: Cała ramka zawsze składa się zawsze z 32 bytów AAAA B1XX B2XX B3XX B4XX B5XX CHK WW XYZ AAAA , CHK , XYZ - stała wartość WW - suma kontrolna wszystkich bytów włącznie z CHK B1, B2, B3, B4, B5 - numer...
bascom ramka danych rs485 ramka bascom ramka danych bascom
aktywny subwoofer radio tl431 ka431 uprawnienia sieci komputerowe
Efekt "Red Eye" na matrycy WS2812B 32x8 z Arduino TCL 40-MT21X7 Power Board 283N20 PWM IC Pinout: Pin 4 GND, Pin 6 NC/Protection, PC817 Opto Details