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....
strzelam ;) - bo nie masz podłączonej poprawinie masy czyli GND pomiędzy kompem a złączem RS232 ? Zawsze jak ktoś zadaje takie pytanie (niezależnie od programatora jakiego używa, jakbyś sobie popatrzył na setki takich pytań na forum) - to zawsze się to kończy - cudownym odnalezieniem błędów w połączeniach
Nie wiem w czym widzisz problem. Sterowanie fazowe to też włączanie i wyłączanie danego kanału. Jedyna różnica polgega na zsynchronizowaniu całości z częstotliwością sieci. Program nie wykonuje żadnych skomplikowanych operacji matematycznych, tylko odczytuje zawartość pamięci i wysyła ją na wyjścia. Sieć pracuje z częstotliwośćią 50 Hz, procesor z...
Polecam polskojęzyczny help do Bascoma. Szukaj w nim informacji o transmisji szeregowej UART.
Czy ktoś poleci jakiś jednokolorowy wyświetlacz graficzny o rozdzielczości przynajmniej 128x64. Mile widziana transmisja szeregowa w połączeniu z biblioteką glcdeadogm128x6.lbx (ST7565R) lub inną.
ja też nie znam Bascoma... ale ustawienie trybu pracy portu szeregowego w asemblerze nie stanowi żadnego problemu... szybkość parzystoć ilość bitów ustawiasz korzystając ze słów sterującyj PCON (bit SMOD to podwojenie szybkości transmisji) oraz SCON.... powodzenia....
Łącze szeregowe idealnie nadaje się do odpytywania drugiego procesora. Na I2C to trochę daleko. Na procesorach musisz: - oprogramować wysyłanie "pytania"/"odpowiedzi", czyli musisz nauczyć się wysyłać dane przez łącze szeregowe - napisać obsługę przerwania łącza szeregowego - czyli co ma się dziać kiedy na port przyjdą jakieś dane - musisz nauczyć się...
Nie rozumiem ta wstawka jest w C++ .....Bascom to strawi ???
zawsze wysyłasz paczki po 8 bitow ale mozesz nalozyc maske na pakiet np and 00000111 i wtedy odczytujesz tylko trzy mlodsze bity
Witam! Po pierwsze to z reguły przyciski powinny zwierać piny wejściowe do masy a nie do zasilania. Wynika to z faktu posiadania przez procesory AVR wewnętrznych rezystorów pull-up podciągających wejścia do +vcc, czyli panuje na nich stale stan wysoki (oczywiście gdy zostaną uaktywnione). Po drugie to akurat sygnał CLK ma się zmieniać, podczas narastającego...
najlepiej to juz sie przesiadz na asemblera to pozwoli ci na pelna kontrole nad transmisja danych z procka BASCOM jest za wolny do takich rzeczy (ah te jezyki wysokiego poziomu) :lol:
jak w BASCOM wykonać transmisję szeregowa? Wysyłac po 1 pinie dane szeregowo a w drugim procesorze to odbierac, jak to zrobić programowo ? Nie chodzi ty o rs232 tylko o to zeby np nadac 16 bitów a drugi procesor to odebrał
Dziękuję za szybkie odpowiedzi. Bardzo proszę o informację czy są gotowe polecenia do odczytu tych danych w BASCOM, czy trzeba pisać własne. Poproszę o podpowiedz realizacji programowej. Raczkuję w realizacji szeregowej transmisji danych innych niż i2c i rs232 z gotowych bibliotek.
co w związku z tym?? jak wyświetlić coś na tym wyświetlaczu?? Dodano po 1 bascom używa transmisji szeregowej do wyświetlacza...
No cóż nie bawiłem się wyświetlaczem z tym sterownikiem ale z grubsza przeglądając dokumentację sterownika widać, że pin c86 odpowiada za przełączenie interfejsów równoległych 6800 i 8080. A skoro korzystasz z transmisji szeregowej to nie ma co sobie nim zawracać głowy. Ten przykład z helpa dotyczy właśnie przypadku gdy wykorzystywany jest tryb pracy...
1. 2-wire to magistrala firmy philips nazywana I2C, a Atmel wprowadził swoją magistralę zgodną z tamtą o nazwie TWI. 4-wire to magistrala SPI. Szeregowe przesyłanie danych w obie strony w takt linii zegarowej. Jedna linia aktywacji układu podrzędnego transmisji. 2. Szukaj w internecie "AVR, SPI, TWI" 3. Nie piszę w bascom'ie z wiadomych względów......
z tego co mi wiadomo transmisja zapisu bitów do rejestru jest zawsze synchroniczna... wiec jak mam go wykorzystac?
Jak sobie zaprogramujesz, jakie dane będziesz przesyłał i jakim protokołem nie ma znaczenia. Jedynie musisz dane wyprowadzać szeregowo z jakiegoś portu µC i podać na wejście nadajnika w standardzie odpowiadającym wejściu nadajnika np. TTL. Pomijam oczywiście samo sterowanie nadajnikiem do którego służą inne wejścia i które w programie trzeba uwzględnić...
Mamma mia, po co drugi pin, skoro można to zrobić PROGRAMOWO, tylko trzeba to zrobić DOBRZE. Bo można robić to asynchronicznie w stosunku do procesu i np podpiąć port transmisji szeregowej.
ad 1 użyj bascom 8051 ad 2 wszystko znajdziesz w helpie bascoma
Nie wiem co robi Bascom, ale technicznie nie ma problemu - wystarczy nie odblokowywać nadajnika UART - procesor to umożliwia.
jeszcze nie potrafię obsługiwać szeregowej transmisji. Potrafisz, tylko o tym nie wiesz... ;) Podpowiedź dla Bascom - SerialOut
szkoda ,ze autor wątku nie napisał czym chce sterować - to rozwiało by wszelkie wątpliwości na temat wyboru sposobu transmisji.Nie ulega wątpliwości,że większość dzisiejszych układów scalonych wymagających transmisji szeregowej stosuje transmisję synchroniczną,żeby nie wspomnieć o I2C ,DBUS itd. (no chyba,że autor myśli o jakiejś tam pastylce dallasa...
Dziękuję za pomoc w zrozumieniu "transmisji szeregowej" oraz podpowiedzi co do konwersji 2 bajtów w 1 liczbą Serdecznie dziękuję za pomoc - wszystko działa :)
Transmisja szeregowa przez UART wymaga stabilnej częstotliwości taktowania (najlepiej po prostu kwarcu). Domyślam się, że procesory pracują na wbudowanym oscylatorze 8MHz, to może być przyczyną błędów transmisji.
Mi udało się zrobić komunikację szeregową, ale tylko przy użyciu poleceń Print oraz Input. Jednak te komendy sa do niczego, bo np: Input zatrzymuje program do czasu gdy nie wpadnie określona ilośc danych. Chyba najpewniej i najprościej byłoby napisanie wstawek asmowych do realizacji transmisji szeregowej.
Witam. Prędkość transmisji i związane z nią błędy (procenty które pokazuje bascom) tyczą się transmisji szeregowej poprzez uart, a nie programowania uC. Fusebity są ok. Tylko jeżeli korzystasz z portu F - wyłącz jeszcze JTAGa - unikniesz niespodzianek podczas uruchamiania płytki. Nie podałeś schematu. W mega128 programowanie nie odbywa się przez linie...
No to raczej odwróc założenia gdzyz bardziej prawidłowo bedzie jak umiescisz transmisje szeregową w przerwaniu a DS włozysz w główny program
Witam mam pytanie odnosnie programowania transmisji szeregowej w bascomie: 1. prędkość ustawia się za pomocą $baud $crystal 2. jak sprawdzić czy do SBUF coś dotarło czy zostało nadane?? 3. $serialinput -> określa nazwe zmiennej do której trafia zawartość Sbuf?? z poziomu assemblera obsługa uart'u nie stanowi większego kłopotu, ale bascom ciągle jest...
stopa błędów zależy przede wszystkim od kwarcu oraz od prędkości transmisji. Bywa tak, że przy danym warcu i jakiejś prędkości transmisju stopa błędów jest duża i nie będzie można zrealizować transmisji beż zgubienia znaków........
W BASCOMie są instrukcje przydatne w transmisji szeregowej sprawdz: SHIFTIN i SHIFTOUT generują przy okazji CLK pozdr KN
W kwestii bascom-u Ci nie pomogę ale może wykorzystasz wstawki asemblerowe ; .org 0 rjmp RESET ; Reset rjmp EXT_INT0 ; zewnetrzne Int0 rjmp EXT_INT1 ; zewnetrzne Int1 rjmp TIM1_CAPT ; zewnetrzny wychwyt wartosci licznika 1 rjmp TIM1_COMPA ; komparator A licznika 1 rjmp TIM1_OVF ; przepelnienie licznika 1 rjmp TIM0_OVF ; przepelnienie licznika 0 rjmp...
jest to transmisja szeregowa synchroniczna(ani uart ani i2c), procedurki sa mojego autorstwa, tylko ze bascom cos ostro zmienia w rejestrach z ktorych kozystam podczas wykonywania podprogramu przerwania i kaszani mi wysylanie na lcd. Moze ktos wie co on tam zmienia potajemnie??
O ile mnie pamięć nie myli, to SPI ma cztery kabelki. To narastające i opadające zbocze przypomina synchroniczną transmisję szeregową, dlatego głosuję na coś podobnego do I2C, albo właśnie samo I2C. Pozdrawiam.
Próbowałem coś szukać ale nie znalazłem informacji a dokumentacja nic mi nie mówi. Mam następujące pytanie dla forumowiczów: Jaka jest największa prędkość transmisji portu szeregowego jaką można zaprogramować w AT89C2051 przy kwarcu 11,052MHz ? Bo BASCOM nie pozwala ustawić więcej niż 19200bps. A tak na marginesie to jak się ustawia prędkośc w tym mikrokontrolerze...
Niestety nie mam dostępu do portu szeregowego, więc nie mogę. Czy program teoretycznie powinien działać? czy procki dobrze mam ustawione? czy dobrze są podłączone? Czy jest coś o czym powinienem wiedzieć, a czego nie napisałem?
...Albo wyrzuciś print albo przerwanie od serial... Albo ... troszkę pokombinować :D Wystarczy że się wie jak działa proc i Bascom ;) W zasadzie wszystko opisał szymtro , więc skupię się na programiku $large $crystal = 11059200 '$regfile = "420.dat" 'DS89c420 $baud = 19200 On Serial Seriall ' odebrany znak Dim Uli As Byte ' odebrano znak...
Diagram czasowy transmisji jest identyczny jak dla SPI więc Bascom-owe komendy będą działać. FQ_UD służy tylko do zatwierdzenia przesłanych danych zarówno w trybie szeregowym jaki w równoległym. Interfejs szeregowy znajduje się na D7 (pin 25) -SDI oraz na W_CLK (pin 7) - CLK. Oczywiście żeby go uruchomić musisz wpisać odpowiednią kombinację w bajcie...
Pochwal się efektami jak już zadziała :) I mam nadzieje że sie nie machnąłem nigdzie i nie wprowadziłem Cię gdzieś w błąd. Jutro sie wczytam lepiej w DS to w razie czego może coś pomogę jeszcze. W każdym razie nie powinieneś mieć problemów ze sterowaniem tych układów podpiętych szeregowo jeżeli tylko będziesz sterował linią LOAD programowo na początku...
Przeskocz z 8051 na AVR (uprocesor i zmiana na BASCOM AVR). Karty MMC można przełączyć w tryb pracy SPI, a 90S8535 (40-pinowy) ma wbudowaną sprzętową obsługę SPI (wystarczą chyba tylko 3 piny - transmisja szeregowa dwukierunkowa). Pamiętam, że kiedyś był projekt czegoś takiego w sieci, ale to co mi zostało, to "user's manual" od HITACHI (105 stron traktujących...
Można, a w BASCOM-ie przerwanie od portu szeregowego nazywa się "serial" i to jego obsługą musisz się zainteresować. Przykładowy kod w BASCOM-ie 51: $crystal = 11059200 ' czestotliwosc kwarcu $baud = 2400 ' predkosc transmisji Dim X As Byte ' deklaracja zmiennych Enable Interrupts ' wlaczenie przerwan Enable Serial ' wlaczenie przerwania portu RS232...
Przyciski będą na drugim Atmaga8. Ten "drugi" sterownik powinien być właśnie nadrzędnym, czyli tam obsługujesz tylko i wyłącznie przyciski i na podstawie ich działania wysyłasz po UART jakiś znak. Część odbiorcza (ta na kasku) powinna działać tylko tak "jeśli dostanę znak A to migam lewym kierunkiem" itd. Rzuć okiem na przykłady w sieci obsługi transmisji...
Dla twoich czujnikow DS1820 czas pomiaru (czyli odczytu temperatury od momentu zainicjowania konversji) wynosi ok 200 ms , czyli mozesz sobie zalozyc ze PC przesle do urzadzenia zadanie wyslania danych co ok 1 sek i powinno byc ok.Mozna by pomyslec tez o nie wysylaniu danych do PC przed ukonczeniem konversji we wszystkich 3 czujnikach (co oznacza ze...
Witam Na wstępie powiem ci że nie da rady zrobić dokładnego stopera na takim zestawie (bascom i wyświetlacz z transmisją szeregową)... Jeżeli już musisz mieć ten wyświetlacz podłączony szergowo, a możesz coś zmodyfikować to ja użyłbym jednego układu do konwersji bcd (zaoszczędziło by to miejsca w procku i strat w czasie [długi program])... Jeżeli ma...
Skoro transmisja szeregowa, to na po co tyle przewodów? Wyświetlacz ledowy w alfie był na trzech przewodach: 5V, masa, Rx, to czemu nie mogło by być tak z drukarką?
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...
Witam wszystkich robię sobie robota i potrzebna mi transmisja danych myślełem że jeżeli wykonam to co poniżej to załatwi mi sprawę NIESTETY błędy transmisji są okrutne chodzi mi tylko o wysyłanie danych 1 portu i odbieranie ich z drugiej strony bo cała reszta jest w 100% cyfrowa Na kablu ta procedura działa doskonale Stosuję układ nadawczo odbiorczy...
jacobsek - gdybys mogl rozwinac mysl n.t transmisji szeregowej etc ? bo akurat w tym wiem dokładnie zero, tak samo jak to zsynchronizować w czasie z timerem? może jakiś przykładowy króciutki kod ?
A myślałem że Bascom da radę. Dokładnie chodzi mi o to aby odebrać te dane, przekonwertować instrukcje, bo danych nie trzeba i wysłać do innego LCD. Czy któryś z kolegów byłby wstanie napisać mi taką wstawkę w assemblerze? Z całą resztą mam nadzieję że sobie z Waszą pomocą poradzę. Bonmis Z tym assemblerem , to może się pośpieszyłem(choć byłoby najprościej)...
Zmniejszyłem prędkość na 57600bps, dopisałem aby wysyłał zawartość 10 elementów z tablicy Ubuf(), oraz aby ponownie wysłał zawartość tej tablicy pod koniec procedury transmit, czyli tuż przed wysłaniem danych do magistrali RS485. W terminalu dostaję: TARGET 7 3 2 10 0 26 0 37 0 0 SENDING 7 2 3 10 0 22 0 37 0 0 Piwerwsza liczba zaraz po słowie "TARGET"...
transmisja szeregowy bascom bascom transmisja szeregowy transmisja szeregowy
multimetr pomiar pojemności magazyn zgłoszenie symulacja układów analogowych
Hörmann BiSecur – jak wzbudzić otwarcie bramy bez pilota? Shelly, Sonoff, wejście impulsowe Electrolux EWS1226 – lokalizacja termostatu (czujnika NTC) w pralce, dostęp i wymiana