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...
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....
Do tej pory programowałem c51 tylko w atmelu ostanio zacząłem korzystać z bascoma, przerobilem sobie college z Edw i pojawiło mi się kilka pytań??? - Czy jest darmowa wersja Bascoma współpracująca z procesorami 89c51 (40 nóżkowymi) - Jak zrealizować transmisję szeregową w Bascom (wiem tylko że używa się do tego poleceń print, input, output...ale jak...
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...
NIE, Bascom nie ma możliwości kompilacji kodu napisanego w C++ Powyżej przedstawiony jest tylko "blokowy" zarys jak powinna działać taka procedura
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
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??
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...
To jest jakaś transmisja szeregowa procedure SendWord(W:Word) rozkłada słowo na bity i wysyła pojedynczo korzystająć z procedur One i Zero. Wygląda jakby na któreś linii była dana była na drugim bicie a zegar na pierwszym (najmłodszym) wpisywanym do portu o adresie IO. Wysłanie danych polega na wpisaniu jej do drugiego bitu i zmiany pierwszego dwókrotnie...
Polecam polskojęzyczny help do Bascoma. Szukaj w nim informacji o transmisji szeregowej UART.
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....
Cool_szczur ma absolutnie rację. Jeśli potrzebujesz szybkiego programu o jak najoptymalniejszym kodzie to jedynym wyjściem jest asembler. Jednakże programik, który zaprezentowałeś można znacznie przyśpieszyć. Najbardziej czasożerne dla procesorów są instrukcje warunkowe oraz instrukcje skoku ( również w asemblerze ). Dlatego przy programowaniu ( jeśli...
Witam. Bardzo proszę o pomoc w nietypowej transmisji szeregowej. Po analizie wielu przebiegów wynika, iż dane mają następujące znaczenie. http://obrazki.elektroda.pl/8524947300_1... Jak do tego się najlepiej zabrać?
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ą.
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.
Łą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ę...
Czy jest możliwość wykorzystania (np. do sterowania przekaźnikiem) portu mikrokontrolera oznaczonego jako TXD, jeśli używam transmisji szeregowej do połączenia z drugim mikrokontrolerem? Transmisja jest jednostronna i w tym przypadku pin TXD nie jest wykorzystywany. Jednak kiedy inicjuję w BASCOM'ie sprzętowy UART to pin oznaczony jako TXD wchodzi w...
rozbierznosci podaje z pomiarow analizatorem stanow logicznych
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...
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ł
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......
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ć...
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...
Wiem, że 3x8>19 :), ale 3 to najmniejsza ilośc ośmiobitowych słów potrze- bnych do przesłania 19bitów. Jak ktoś kiedyś powiedział: "Nie ściągaj ar- maty by zabić komara", tak samo jest tutaj: po co robić od zera układ do transmisji szeregowej, jeżeli jeden jest już gotowy?
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.
jeszcze nie potrafię obsługiwać szeregowej transmisji. Potrafisz, tylko o tym nie wiesz... ;) Podpowiedź dla Bascom - SerialOut
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.
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 :)
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
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........
z tego co mi wiadomo transmisja zapisu bitów do rejestru jest zawsze synchroniczna... wiec jak mam go wykorzystac?
W BASCOMie są instrukcje przydatne w transmisji szeregowej sprawdz: SHIFTIN i SHIFTOUT generują przy okazji CLK pozdr KN
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...
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...
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...
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ą?
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"...
m8se zgadza sie mozna i tak sterowanie multiplekserowe, tylko nie wiadomo jak beda sie zachowywaly wyswietlacze jak chce ich podpiac az 8 ;) beda migotaly bo jeszcze mam tam zamiar zrobic transmisje szeregowa do komputera (usart) ale moze to w przerwaniach ale to sie zobaczy narazie trzeba sobie poradzic z wyswietlaczami ;) Hmm nie wiem o czym myślisz...
...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...
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...
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...
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?
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)...
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...
http://obrazki.elektroda.pl/3973217100_1... Witam! Pewnie wielu z was zetknęło się z problemem braku wystarczającej ilości wyjść w mikrokontrolerze. Mnie także to spotkało. Przy okazji innego projektu zaszła konieczność dołożenia wyświetlacza do już istniejącej płytki sterownika, ale jak to bywa - prawie wszystkie piny miałem zajęte....
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...
Witam Synchronizację staram się rozwiązać za pomocą trzeciego pinu. Jeden kontroler ustawia go na 0, drugi to wykrywa i czeka na dane. Po zakończeniu transmisji z powrotem pin w stan wysoki- koniec transmisji. Postaram się wykombinować coś w/g Twojej propozycji. Pozdrawiam P.S Już wszystko jest dobrze :) Pomyliłem się w ustawieniu polecenia schiftin...
bascom szeregowa transmisja bascom transmisja szeregowa transmisja szeregowa
integra uzbrojeniu fałszywy płomień otwarcie obiektywu
lampki choinkowe lampki choinkowe jakiej firmy
Audi A1 – prowadnice zacisków tylnych: obraz, smarowanie smarem ceramicznym, instrukcja Citroen Berlingo 2021 BlueHDi – błędy P0002 i P0612: diagnostyka, IMV, przekaźnik, zasilanie