Printbin Inputbin.
For Ax = 1 To Cx Inputbin A(1) , 1 Next Ax ?
A oby w bascomie nie można użyć polecenia BITWAIT?
a może ktoś używa komend w bascomie inputbin? inputbin czeka na oderanie bajtu. Czyli program nie toczy się w tle.
To zamiast Inputbin użyj Inkey.
Z Twojej poprzedniej wypowiedzi opacznie przeze mnie zrozumianej szukałem "Config Inputbin" :) a dopiero potem znalazłem ten $Timeout własnie.
mnie akurat nie chodziło o takty na konwersje potrzebne a raczej o niepotrzebnie zajmowane bajty Jak wiadomo bascom jest pamięciożerny a program pewnie ma coś więcej do zrobienia niż tylko odbiór jednej liczby Poza tym po poleceniu inputbin jakas_zmienna jest odbierane tylko tyle bajtów ile ta zmienna zajmuje Ponieważ nie trzeba robić dodatkowych zabiegów...
A zamiana Cls na Locate 1 , 1 ? Sprawdzałeś ? Spróbuj jeszcze wymiany (nadawanie i odbiór jako Word a nie String) za pomocą: [syntax=basic4gl]Nadajnik: Dim Wart1 As Word Printbin Wart1 Odbiornik: Dim I As Word Inputbin I Locate 1 , 1 Lcd I [/syntax]
Tam nic nie ma o znakach CR/LF które to zakończą INPUT. Jeśli liczba bajtów jest stała (7 bajtów) skorzystaj z INPUTBIN.
HELP powie CI wszystko... PRINT to PRINT Do odbierania masz INPUT plus jego odmiany INPUTBIN i INPUTHEX
Rzuciłem okiem w HELPa i funkcja "inputbin" czeka na znak, program dalej się nie wykonuje. Może lepiej użyć przerwań wykonujących się, gdy w buforze UART jest znak ?
Za 3-cim razem zrozumiałem. Tym konwerterem u mnie będzie MAX232 - jak zawsze :) dodatkowo będę mógł dokupić sobie konwerter USB -> RS232. A teraz studiuję helpa bascoma o URAT. EDIT: Czyli w BASCOMIE może to być polecenie INPUTBIN? np. INPUTBIN nr_led,1 INPUTBIN ledr,1 INPUTBIN ledg,1 INPUTBIN ledb,pozostale,1 ?
Witam Wolę od razu napisać w dziale dla początkujących bo znając życie i tak mnie tutaj przeniosą ;) Do rzeczy Atmega skonfigurowana do odbioru pakietów po UART na pinie odpowiedzialnym za RX (asynchroniczna transmisja) Korzystam z punkcji INPUTBIN. Pytanie brzmi czy istnieje szansa aby pin TX użyć jako wyjściowy? ponieważ BASCOM gdy użyję funkcji INPUTBIN...
Zobacz czy będzie działać: [syntax=basic4gl]Inputbin Ts , Tb , Tzew[/syntax]
SERIN i SEROUT to nie jest do RS232. Do tego jest Print/Printbin i Input/Inputbin. Jest jeszcze Inkey.
Bascom 51 przy instrukcjach input,inputbin itd. nie korzysta z przerwań lecz cyklicznie odczytuje rejestr SBUF .Dlatego bardzo rzadko to działa.Jeśli chcesz mieć pewny odbiór to korzystaj z przerwań. A-r.
Dareks, dziękuje serdecznie. Printbin i Inputbin rozwiązał problem. Pozdrawiam
Zrobiłem wszystko tak jak napisałeś, zadeklarowałem uC i połączyłem wszystko jak ma być i dalej nic. Zmieniałem funkcje inputbin na input i to samo.
Jak pisałem Ci wyżej Inkey nie działa na porcie wirtualnym. Przynajmniej na Atmedze8. Chyba jakiś błąd. Użyj funkcji Inputbin. Będzie hulać.
Nie stosowałem dotychczas więc nie wiem czy pomoże ale poczytaj o INPUTBIN, INPUTHEX
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ć.
Shift jest od przesuwania bitów. Ty musisz przesuwać całe bajty w tablicy Buffer_in. Użyj sobie mojej metody odbierania: [syntax=vbnet]Inputbin Dana Buffer_in(in_pos) = Dana Incr In_pos If In_pos = 9 Then 'Jak zmieści się co najmniej jedna cala ramka danych If Buffer_in(1) = &H01 Then 'To sprawdzamy czy jest prawidłowo rozpoczęta If Buffer_in(2) = &H10...
Czemu nie zrobisz tego w ten sposób ? Dim Adres As Byte Dim Dana As Byte [...] Inputbin Adres Inputbin Dana I2csend Adres , Dana [...] Pozdrawiam...
tak, interface wyjściowy to UART TTL ale to w niczym nie przeszkadza i można go podłączyć bezpośrednio do portów uC. Aby Komputer skomunikował się z uC należy: po stronie kompa: -podłączyć moduł radiowy USB(po podłączeniu modułu powinien zamigotać diodkami) -skorzystać z terminala i otworzyć port COM z numerem dla jakiego zainstalował się moduł -prędkość...
Ja robiłem podobnie do twojego tyle że zamiast "waitkey" używałem "inkey" w przerwaniu . Odbior: B = Ischarwaiting() If B = 1 Then C = Inkey() If C = "Q" Then Inputbin Aa(1) , Aa(2) , Aa(3) , Aa(4) , Aa(5) , Aa(6) End If End If Return Czyli Q robi u mnie za bajt startu a resztę danych przypisuję zmiennym . W programie głównym obrabiam te zmienne. ps:...
01, można też wysłać 1A, 2F, a maksymalnie FF, czyli całą "paletę" liczb HEX. Popołudniu sprawdzę co napisałeś, może się udać okiełznać Bascoma. PS. Input też wymaga znaku <CR> więc odpada, jedynie inputbin, czyta znaki bez konieczności wysyłania <CR>.
Spróbuj zamiast INKEY uzyć INPUTBIN a zamiast PRINT uzyć PRINTBIN u mnie to zawsze działało i nie zapomnij otworzyc portu za pomocą instrukcji OPEN bo tego brakuje w progamie- otwórz sobie helpa i wyszukaj "OPEN" tam jest dokładnie opisane A co do INPUTBIN i PRINTBIN to uart programowy
Wszystko zależy od programisty. Te komendy i stany z szyny, znając ramkę (a widać znasz ją) są do odczytania w dowolnym mikrokontrolerze zaprogramowanym w Bascomie czy jakimkolwiek innym języku. Ja do odbioru osobiście wybrałbym instrukcje Inputbin. Jeśli twierdzisz, że chyba potrafisz skonfigurować UART, to podejrzewam,ze jeszcze długa droga przed...
Są odpowiednie pary: PRINT - INPUT PRINTBIN - INPUTBIN PRINTHEX - INPUTHEX Jest jeszcze jedna para: SEROUT - SERIN gdzie zawsze określasz format transmisji.
Witam Potrzebuję odebrać dane w formacie HEX przez uart 64 bajty z czego 10 pierwszych bajtów chciałbym sie pozbyć i 54 bajty przesłać dalej uartem programowym. Jaką użyć instrukcje INPUTHEX czy INPUTBIN i do jakiego typu zapisać te zmienne. pozdrawiam
Może tak? Inputbin ar(1) , 4 ' will fill 4 bytes starting at index 1. Piszą, że nie czeka na CRa
Tak e.7 nie dodałem do listingu na forum ale mam skonfigurowane to akurat to szczegół nie istotny. Kombinowałem we wszystkie strony i INPUTBIN x, b - WSTRZYMUJE TIMER0 !!!!! Jak ktoś podważa moją teze to proszę dowody nie takie że tak ma być i już tylko dajcie kod taki co zadziała a ja już wiem że nie da się tego zrobić. Problem jest taki patrząc na...
Też miałem z tym problem i kolega z Elektrody doradził mi żebym zastosował zamiast Input to Inputbin. I tak samo zamiast Print to Printbin, tyle, że ja to robiłem na RS485. Pozdrawiam
INPUTBIN można odebrać tylko ściśle określoną ilość bajtów. A jak odebrać zmienną ilość bajtów binarnych, jeśli jest nadawany bajt końca ramki ?
Na początek musisz spiąć atmegę8 z max232, następnie kabelkiem łączysz do komputera. Za pomocą terminala możesz wysyłać różne dane do atmegi.To co chcesz zrobić możesz bez problemu wykonać w bascomie, ale musisz posiadać minimalną wiedzę o tym języku. Dane wysyłane z komputera możesz odczytywać za pomocą funkcji INKEY, WAITKEY, INPUT, INPUTBIN, INPUTHEX,...
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]
W nadajniku print zmienna umieściłem w przerwaniu co 1sekundę. W terminalu przykładowo wygląda to tak; 223 223 223 223 223 224 itd Jak wcześniej używałem printbin - inputbin to działało, czasem tylko gubiło dane. Dlatego próbuję doprowadzić transmisję do ładu.
dzięki za pomoc. Żeby mikroprocesor odbierający nie musiał długo oczekiwać na dane, zrobiłem tak, ze uC nadający wywołuje przerwanie w programie uC odbierającego, po czym nadaje (printbin). Natomiast uC odbierający w programie obsługującym przerwanie odbiera dane (inputbin). Dzięki za podpowiedzi
Mam taki problem a mianowicie jak wykryć że wystąpił $timeout w Bascom'ie? dim B(100) as Byte do $timeout = 30000 Inputbin B(1) , 100 'Ideowo pokazuje co chcę uzyskać If $timeout = True Then Print "Wystapil timeout" Else Print "Transmisja OK" End If loop
To nie wysyłaj ENTER, tylko poszczególne bajty i czytaj je w BASCOM-ie tak : Dim b1 As Byte , b2 As Byte , b3 As Byte Inputbin b1 , b2 , b3
posługując się wcześniejszymi postami napisałem sobie taki prosty programik, który ma demonstrować działanie przerwania od portu szeregowego. Niestety nie wychodzi on z pętli przerwania, na lcd wyświetla cały czas "Przerwanie". W którym miejscu robię błąd ?? Czsy ma ktoś sprawdzone rozwiązanie tego problemu ?? $crystal = 11059200 $baud = 9600 config...
nie jestem dobry z bascoma, prawdę mówiąc to mi bliżej do analogówki rzeczywistość jednak zmusza ludzi do różnych rzeczy Mogę prosić o prosty przykład w bascomie potrzebuje przesłać dwie zmienne typu byte do drugiego procka bez zatrzymywania pętli głównej w odbiorniku PIOTR
Kolega piotrva dał mi dużo do myślenia pisząc że instrukcja input blokuje program i czeka na odebranie kompletnego sygnału. Pomyślałem wiec po co tak sobie utrudniać jakimiś waitms' ami, pętlami i zrobiłem tak: At128- [syntax=basic4gl]'---PĘTLA GŁÓWNA----------------------------------... Wait 1 Printbin Outbin Inputbin...
Spróbuj tak: $crystal = 7372800 $regfile = "m16def.dat" $baud = 115200 Dim D As Word Dim Ee_d As Eram Word Do 'Wybierz odpowiedni sposób pobierania danych z RS 'w zależności czy wysyłasz dane bez końca lub z końcem linii (Inputbin lub Input) Inputbin D Input "Bla bla:" , D Ee_d = D Waitms 20 Loop End
Wysyłasz poleceniem: Printbin Bascom automatycznie wyśle 4 bajty z których składa się zmienna Long. A odebrać może poleceniem Inputbin Ale ta metoda nie jest zalecana bo program zatrzymuje i czeka do momentu aż odbierze 4bajty (jeśli odbieramy zmienna Long) Lepiej odbierać dane w przerwaniu i zapisywać je w tablicy a następnie użyć polecenia memcopy....
Według pdf parametry UART to: 9600 bps Check bit: None Stop bit:1 bit wysyła 24 bajty ze spacjami, pierwsze dwa są stałe, później długość ramki i dane. Kiedyś wysyłałem dane do playera TF16, gdzie format danych był taki sam i robiłem to przez printbin. Teraz wydawało mi się, że Inputbin załatwi sprawę. Wiem jakie są parametry, tylko nie...
Z tego co stwierdziłem, to czy odbieram: Inputbin Rx_data(1) Inputbin Rx_data(2) Czy Inputbin Rx_data(1),2 To zawsze odbiera mi tylko wysłany pierwszy bajt. Dodano po 31 Kolejna dziwna sprawa: Jak wysyłam : Send_data = 6 Printbin Send_data ; 8;<----------wysyłam daną send_data i jakąś liczbę to w odbiorniku obie są poprawnie odbierane i sprawdzane....
$crystal = 8000000 'częstotliwość kwarcu $baud = 38400 Dim Zmienna As Byte , Zmienna2 As Integer Dim Ignorowane As Byte , Id As Byte , Dane As Byte Dim A As Byte , B As Byte 'Config Serialin = Buffered , Size = 20 Zmienna = 5 Do Waitms 500 Cls Lcd Id ; " " ; Dane ; " " ; Zmienna ; " " ; B Inputbin Id , Dane , Zmienna ,...
"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.
Te Waity do diody Led żeby patrzeć czy program się zawiesił nie są szczęśliwym rozwiązaniem dla programowego portu :D Zobacz tak. Dioda błyśnie jak coś odbierze i oczywiście wyśle Ci to drugim portem software`owym. [syntax=vbnet]$regfile = "m328pdef.dat" $crystal = 8000000 $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 ' default...
Zrób na Printbin. Print dodaje znak końca linii nie mówiąc już o tym że nadaje textowo. Waitkey chyba też odbiera textowo, ale nie jestem do końca pewny. Nawet to co pisze w Helpie mnie nie przekonuje. Zrób tak: Dim A As Byte Do A = InputBin Printbin A Loop
Układ MCP2150 łączy się z uC za pomocą UARTa i kilku sygnałów pomocniczych. W BASCOM'ie wystarczy Printbin i Inputbin i masz całą transmisję.
If Ucsra.4 = 0 Then ZbeeGin , dzięki za podpowiedź. Jeszcze mam jedno pytanie. W UART przy odebraniu 1-szego znaku jest generowane przerwanie Urxc. Mam coś takiego (okrojone dla idei): On Urxc Odbierz ... Odbierz: Inputbin Adr1 , Adr2 , Adr3 , Adr4 , Adr5 , Adr6 , Adr7 Return Czyli wychodzi na to, że Inputbin odbiera przychodzące bity, co powoduje...
Skoro kolega nie pokazuje jak tworzy na bieżąco ten program to skąd mamy wiedzieć, czy robisz to dobrze? To nie forum jasnowidzów. Zdawkowe informacje, że zastosowałeś się do propozycji nie dokumentując tego nie pozwala nam Tobie skutecznie pomóc. To samo dotyczy dyrdymałów, że to któryś program i akurat Tobie on nie działa. W ten sposób do niczego...
Witam Panowie mam problem mianowicie z komunikacją UART 2 AVR .Jeden z nich to Atmega16(odbiornik) a drugi Atmega328(Nadajnik) i tak: Nadajnik wysyła 2 zmienne do odbiornika na którym jest wyświetlana wartość na LCD i wszystko działa poprawnie ale zdarza się tak że zmienne lubią zamienić się miejscami tzn, "Znak" dostaje wartość "Znak_1" i odwrotnie....
Musisz wiedzieć czy urządzenie nadaje ASCII czy Binarnie. Bascoma informujesz o tym jak nadchodza dane poprzez INPUT dla ASCII albo INPUTBIN dla HEX. W tym przykładzie moim w pierwszym wypadku możesz zobaczyć jak dane przychodzą do mikrokontrolera. Po odebraniu danych piszesz [syntax=basic4gl] For N = 1 to 15 Lcd Hex(Tablica_danych(n)) Next [/syntax]...
Tak by to mogło wyglądać dla 24C64(to oczywiście fragment): adres=0 Do Inputbin Value if value = &H26 then exit Do Adh = High(adres) Adl = Low(adres) I2cstart I2cwbyte 160 I2cwbyte Adh I2cwbyte Adl I2cwbyte Value I2cstop Incr Adres Loop Do danych przesyłanych dodaj znak końca transm. ale taki aby jego kod nie był obecny w danych np &(0x26) Coś trzeba...
Podałem przykład w Bascom, bo ma bardzo wygodne i maksymalnie uproszczone procedury transmisji szeregowej w tym dla Modbus RTU/ASCII Aby odebrać dane w Modbus wystarczy zastosować polecenie InputBin i masz całą ramke w RTU gotową do przetworzenia, to jeśli chcesz się bawić "ręcznie" Jest też polecenie, które odwali za Ciebie większość pracy - MakeModbus...
$crystal = 11059200 $baud = 9600 Dim A as Byte Print "Hello world" Input A To jest kompletny programik wysyłający tekst "Hello world" i odbierający 1 bajt (znak) z komputera. Nie trzeba włączać przerwań, a instrukcje wspomniane powyżej: Config Serialin = Buffered , Size = 50 'Konfiguracja UART IN Config Serialout = Buffered , Size = 50 'Konfiguracja...
... to uzyskuję w nich inen wartości niż wysłane 1 136 i 3. A co dokładnie oznacza "inne wartości" :?: Jakie wartości mają zmienne Dana1,... ,itd , w odbiorniku :?: Czy zawsze są jednakowe :?: Jak w nadajniku masz Lcd Dane1 ; "," ; Dane2 ; "," ; Dane3 Do Printbin Dane1 ; Dane2 ; Dane3 '... , to w odbiorniku daj Do Inputbin Dane1...
a inputbin ? komunikowałem dwa m32 na odległości 20 metrów przez rs ,na baud 57600 ,czasami jak wystąpił błąd, to wszystko głupiało ,dopiero jak sprawdzałem znak końca (13 ascii) to pozwoliło mi to na utrzymanie porządku. Prób 115200 nierobiłem. a bufor jest niezastąpiony.
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...
Acha, to jeszcze dochodzi do tego warunek że sygnał cyfrowy nie może zawierać składowej stałej (bo pewnie dane analogowe to jakieś napięcie stałe)? Napisz jaką potrzebujesz prędkość. Bo inaczej problemu nie rozwiążemy. Możemy Ci tu mówić i mówić i nic to nie da. Więc najlepiej jak powiesz co chcesz osiągnąć a My (ja) podsuniemy Ci gotowca. PS. Nie wiem...
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...
W sumie z buforem to chciałem oszczędnie, jeśli chodzi o pamięć. Dane można wysyłać przez Printbin, a odebrać przez Inputbin. Nadając zmienną integer funkcją Printbin wysyłasz 2 bajty. Nagłówkiem może być jakiś bajt, nic nie przeszkadza żeby stworzyć sobie jakiś format przesyłania danych ;). nagłówek bajt X zmienna 1 long zmienna 2 word zmienna 3 byte...
Witam, Mam taki prosty układzik na Atmedze8 z interface na MAX232. Układ odczytuje z PCta paczki 2-bajtowe z baud=600. Odczyt jest zrobiony w pętli Do Loop przez sprawdzanie zmiennej IsCharWaiting i odczytywanie bufora za pomocą Inputbin (to dane bajtowe). System (układ) działa OK ale jak mam go włączonego i podpiętego do PCta i włączam PCta to komputer...
Ramkę złożoną z 32 bajtów odbieram w poniższy sposób: Kod: If Ischarwaiting() = 1 Then Inputbin Mess_1 , Mess_2 , Mess_3 , Mess_4 , M0_1 , M0_2 , M0_3 , M0_4 , M1_1 , M1_2 , M1_3 , M1_4 , M2_1 , M2_2 , M2_3 , M2_4 , M3_1 , M3_2 , M3_3 , M3_4 , M4_1 , M4_2 , M4_3 , M4_4 , Chk_1 , Chk_2 , Chk_3 , Suma_1 , Suma_2 , Koniec_1 , Koniec_2 , Koniec_3 , 32 End...
Witam, Po nieudanych próbach programowania w BASCOMIE komunikacji pomiędzy mikroprocesorami poprzez SPI(bascom sobie nie radzi, tzn ja sobie w basomie z tym nie poradziłem, a po licznych nieudanych próbach i po braku odpowiedzi, sugesti na ten watek wnioskuje że chyba to jest niewykonywalne w bascomie, a przykładów bardzo skąpo) jak również i2c (twi)...
Dalem rezystory i nic. Jeśli chodzi o fragment kodu z obsluga uartu to nie ma takowego. Otwieralem kanaly, konfigurowalem i nic. Mam tylko poustawiane w kompilatorze. Moze to jest spowodowane uzyciem komend printbin i inputbin? Niewiem czemu komendy pirnt i input nie dzialaja? Co do przejscia na C to nie ma szans, nie mam czasu sie uczyc teraz C. Jesli...
Chciałbym sie poradzić jak napisać w Bascomie, oprogramowanie do urzadzenia, które musi coś tam wyświetlać, musi obsługiwać klawiaturę, wysyłać coś tam po I2C oraz na bieżąco musi odbierać ramki z UARTA0. Chodzi o to że z komputera wysyłam 64bajty przez RS232 Atmega to odbiera i dokonuje odpowiednich nastaw w urządzeniu. Jednocześnie musi działać klawiatura...
Trochę prób przyniosło w końcu pewne efekty. Kod w bascomie jest źle napisany. Polecenie PRINT wysyła znak w postaci ASCII, należy tutaj użyć polecenia PRINTBIN. Po poprawnym, pojedynczym wysłaniu komendy reset (C1H) - brak reakcji. Po wysłaniu kilka razy pod rząd tej samej komendy układ ładnie odpowiada : CD [syntax=basic4gl]$regfile "m16def.dat" $crystal...
Witam wszystkich. Mam następujące pytanie: Połączyłem dwa uP 89C2051 i 89C4051 następująco TxD jednego z RxD drugiego. Właczam Bascoma 8051 2.0.11.0 jednego programuje żeby wysyłał drugiego odbierał. Używałem różnych poleceń print , printbin, printhex; a do odbioru inkey, waitkey,inputbin. Żadnych efektów. Owszem kiedy wysyłam np.100 na LCD wyświelją...
witam, mam maly problem, nie bede podawal szczegolow projektu, gdyz nie sa istotne. chodzi mi o przekazanie informacji w JEDNYM kiedrunku z jednego AVRa do drugiego. polaczenie mialoby byc zrealizowane przez UARTa. jakie dane? w programie pierwszego AVRa wystepuja 4 zmienne typu byte, ktorych wartosci chcialbym przetransportowac do drugiego AVRa. wysylam...
Tak, program dla uP został napisany w Bascomie. Poniżej podaję fragment kodu: Declare Sub Naprzod Declare Sub Cofaj Declare Sub Wlewo Declare Sub Cofajlewy Declare Sub Wprawo Declare Sub Cofajprawy Declare Sub Zaczekaj Dim Komenda As Byte Portc = &B00000000 Portb = &B00000000 Do Inputbin Komenda Select Case Komenda Case "1" : Call Naprzod...
Dziekuję za wszystkie dotąd udzielone mi porady. Jeśli chodzi o transmisję binarną printbin, inputbin to próbowałem wyszło super przede wszystkim zmniejsza liczbę byte ramki chodzi mi o to, że gdy wysyłam parametr do pwm np. 255 to używam 3 znaków ASCII czyli 3 byte a binarnie wyśle byte 255 i to tyle ale w transmisji nie mogłem korzystać z przerwania...
Witam, mam problem z komunikacją między dwoma procesorami ATmega8. Jeden w wersji 16PC drugi w wersji L-8AI. ATmega 8L chodzi na napięciu 5V. Jeden ma być na zewnątrz (8L), drugi jest dopinany kabelkiem w którym jest zasilanie i UART. Programuje układy w BASCOM. Problem jest taki, że jak używam instrukcji Printbin i Inputbin transmisja działa - nie...
No i paczka doszła. Szybko zrobione na stykówce, i wyświetlacz działa, ale coś jest nie tak, oraz nie widzę komunikacji. Nadajnik: [syntax=Bascom] $regfile = "m8def.dat" $crystal = 1000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Portb.1 = Input Portb.1 = 0 Config Portd.3 = Output Config Pind.1 = Output 'PIN TXD Set Portd 'PIN TXD Enable Interrupts...
http://obrazki.elektroda.pl/5214176000_1... Witam. Przedstawione rozwiązanie powstało z myślą o zdalnym (radiowym) sterowaniu modelem samochodu. Umożliwia płynne regulacje: kierunku (lewo/prawo) oraz prędkości ruchu (przód/tył). Rozkaz typu "włącz/wyłącz" pozwala np. uruchamiać sygnał dźwiękowy (klakson) lub włączać światła. Spośród...
Dosyć odważnie sobie poczynasz na mikrokontrolerze mającym 2kB Flash i 128B SRAM :D ale do odważnych świat należy. Odchudziłem Ci trochę kodzik. Obsługa przerwania timera została stuningowana moim programem NoSave Tool. Teraz mikrokontroler nie odkłada na stos większości rejestrów a tylko te potrzebne - w tym przypadku tylko jeden :D Przekłada się to...
No może w tym przypadku jakoś sobie poradzę. sei Enable Urxc On Urxc Odb_znaku Do Kod_kl = Getatkbd() 'odczytanie danej z klawiatury If Kod_kl <> 0 Then Gosub Klawiatura Printbin 144; '144 End If Toggle Portb.2 Loop End Klawiatura: If Kod_kl > 0 Then 'jeśli odczytany kod ma wartość większa niż 0, to If Kod_kl > 31 And Kod_kl...
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 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...
Nareszcie twórcza odpowieć. Dięki wielkie myślę że coś z tym zrobię chociarz nie ukrywam że wolałbym ręczny ruch potencjometru jako priorytet lecz ten program a właściwie atmega musi zmieścić jeszcze więcej funkcji. A jak zrobić żeby flaga była ustawiana dopiero po odebraniu komunikatu? Dodano po 2 Przepraszam za odgrzewanie tematu, napisałem program...
Masz rację Moja pomyłka Chodziło mi o liczbę 12345, której nie mogę zadeklarować jako BYTE Ten przecinek dorabiam sobie później poleceniem np takim Sds1 = Format(sds1 , " 0.0") Napisałem coś takiego NADAJNIK $crystal = 8000000 $baud = 19200 Cls Cursor Off Config Serialout = Buffered , Size = 6 Enable Interrupts Enable Utxc Dim A As single Dim B(2)...
void show_as_bin(unsigned char liczba) { char tab[9]; cls(); for(signed char i=7; i>-1; --i) tab[7-i]=0x30 + ((liczba >> i) & 0x01); tab[8] = 0; lcd(tab); } Powinno działać. I działa. Ale i tak napisałem procedurę inaczej: void show_as_bin(unsigned char liczba)...
Odbiornik RC5 działa. 1 na pilocie wyłącza diodę, 2 włącza $regfile = "attiny2313.dat" $crystal = 1000000 Config Rc5 = Pind.2 Config Pind.2 = Input Config Portb = Output Dim Address As Byte , Command As Byte Enable Interrupts Do Getrc5(address , Command) If Address = 0 Then Command = Command And &B01111111 Select Case Command Case...
Nadajnik: Const Crc8_polynominal = &B10001101 'CRC-8-CCITT Do Buff(1) = 23 Buff(2) = ADCL Buff(3) = ADCH ldi R20, 3 Loadadr Buff(1) , X Gosub Calculate_crc PrintBin Buff(1) PrintBin Buff(2) PrintBin Buff(3) PrintBin Crc_obliczone Waitms 100 Loop '---------------------------------------...
$regfile = "m8def.dat" $crystal = 16000000 $baud = 57600 $framesize = 32 $hwstack = 32 $swstack = 32 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config Debounce = 30 'Długość naciśnięcia przycisków Config Timer0 = Timer , Prescale = 256 On Timer0 Odmierz_1s...
Witam Tak jak w temacie mam napisałem program w bascomie który ma za zadanie zapalać cztery diody led po odebraniu po RS232 cyfr od 1-4 i chodzi to bez problemu ,ale teraz gdy uczę się języka C postanowiłem ten sam program przenieść na C i już nie jest tak dobrze.Objaw jest taki gdy wyśle 1-Zapalają się i gasną diody "STROBO I KULA" gdy 2-Tak sama 3-Też...
A poprawiłeś tą linijkę z błędem o której mówiłem: Zmieniłem tak: [syntax=basic4gl] $regfile = "ATtiny2313.dat" $crystal = 11059200 $baud = 19200 On Urxc Przerwanie_od_rxd Config Portb.5 = Output Config Portd.4 = Output Out1 Alias Portb.5 Nadawanie Alias Portd.4 Dim Buffer_in(8) As Byte Dim In_pos As Byte Dim Dana As Byte Dim Ramkatimeout As Word Dim...
Wysyłanie i odbieranie RC5 jest w Bascom kodowane automatycznie. Manchesterem swoje dane musisz więc zakodować sam. Poniżej masz wersję którą mam jeszcze w planie dopracować więc nie myśl o niej jak o finalnej. na pewno można coś poprawić. Po skopiowaniu ten kod powinien znajdować się w tym samym folderze co Twój kod. [syntax=basic4gl]$nocompile ' send_by_air...
Witam, W żadnym temacie na elektrodzie z komunikacją bezprzewodowa nikt nigdy nie udostępnia kodów (nie wiem dlaczego). Męczę się od kilku dni z przesłaniem ramki. Mam moduły 433 MHz, te najprostsze, ale na razie próbuje to zrobić po kablu. Dane są kodowane w manchester, funkcja kodująca działa poprawnie, ale nie mogę się poprawnie zsynchronizować....
Witam Starałem się wyjaśnić platforma AVR lub zadania jaki ma wykonać NIE JEST TAK WAŻNE jak zorganizowanie komunikacji na RS232 za pomocą paczek HEX! Mogę wykorzystać dowolną większą kość AT! AT90s2313 Akurat tą kość mam gotową do pracy i kompletną do komunikacji na RS232. Czy jest możliwe zorganizowanie takiej komunikacji.? Potem wykona zadania......
Witam, na wstępie uprzedzę, że jestem początkującym programistą bascom. Tworzę projekt, który jest połączeniem dwóch tematów tj. http://www.elektroda.pl/rtvforum/topic22... oraz ]http://www.mp3car.com/forum/mp3car-tech... . potrafię już odczytać dane z szyny i-bus w bmw i...
$crystal = 8000000 $baud = 9600 Config Lcd = 40 * 2 Config Serialin = Buffered , Size = 20 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Enable Interrupts Dim Command As String * 1 Dim Temp1 As Integer Dim Temp2 As Integer Dim Status As Byte Dim Numer As Byte Temp1 = 12.1 Temp1 = 30.1...
zagieles mnie tymi pytaniami. Szczerze, myslalem ze rozumiem ten kod ktory napisalem. To moze ja jeszcze troche poczytam o przesylaniu danych przez rxd i txd. A te strony oczywiscie ze czytalem nie roznia sie znaczenie od siebie. Ostatnia pokazuje wyjscia portu ipoda Przeznaczenie: Przesyła binarnie zawartość dowolnej zmiennej przez sprzętowy lub programowy...
Prawie gotowiec: http://tiktakx.wordpress.com/2010/11/21/... Witam Zgadza się... prawie gotowiec, udało mi się uruchomić odbiór danych, ale mam pytanie... Jak odebrać ramkę w postaci bajtów a nie w postaci kodów ascii w visual basicu? W bascomavr odbierałem poprzez INPUTBIN, a w visual basicu odbiera w kodach ASCII...
Panowie, Panie potrzebuję pomocy bo siedzę i siedzę i nie mogę sobie dać rady z kodem BASCOM. Jestem początkujący, a raczej raczkujący w AVR, programowaniu itd. :( Próbuję zbudować sterownik do pokoju który ma wykonywać: -sterowanie światłem (8x) -sterowanie piecem/kotłem gazowym (temperatura noc i dzień-dwie różne temperatury) -każdy przycisk ma dwie...
Mi się wydaje, że coś źle podłączam pod to LPT. Mógłbym prosić o schemat jak to wszystko powinno być podłączone? Dodano po 1 Widzę, że skomplikowany problem na którego nie ma prostego rozwiązania. Kupię małe przekaźniki i podłącze pod uC, a LPT podłącze tak jak w pierwszym poście. Dodano po 2 Połączyłem podpowiedz Kolegów (at)tmf i (at)tos18 + zmiany...
Podłącz MAX232 do procka według załączonego schematu i po krzyku. Do komunikacji możesz użyć (m.in.) następujących komend BASCOMa: $BAUD=prędkość transmisji lub BAUD=prędkość transmisji - ustala prędkość transmisji (musi być jednakowa dla procka i PC) PRINT zmienna1 ; zmienna2 ; "stała" - wysyła dane z procka do PC INPUT - oczekuje na dane z PC Istnieją...
inputbin ischarwaiting printbin inputbin bascom projekt bascom
renault skrzynia automat prędkość sprinter generator prądotwórczy akumulator
samsung qe65q60rat samsung qe65q60rat
Jak utworzyć kartę zielonke: Green Card lub PCB Brak świecenia czerwonej diody w Onkyo TX-SR504E: diagnostyka i rozwiązania