Poczytaj helpa z Bascoma ale angielskiego. Szczególnie o: "Config serialin" z uwzględnieniem "BYTEMATCH" - to jest obsługa UART w przerwaniu uproszczona na maxa. Warto przejrzeć: http://www.elektroda.pl/rtvforum/topic14... i jeszcze ten: http://www.elektroda.pl/rtvforum/topic14...
Poszukaj w necie o przerwaniu 14h. Polecam ksiązke "Szeregowe Interfejsy Cyfrowe" wyd. Helion.
To nie są problemy Bascoma, w bascomie można wiele rzeczy szybko zrobić, tylko jak ktoś go nie zna to najłatwiej i naszybciej jest na niego psioczyć i wylewać swe żale. ale ok, skoro ty (o ile dobrze zrozumiałem) w jakimś tam przerwaniu wysyłasz coś poleceniem PRINT przez łącze RS232 a następnie w tym samym przerwaniu czekasz na odbiór przez RS232 (waitkey)...
Nic nie musisz (jeśli chodzi o Bascom - sam robić w przerwaniu) Bascom ofruje ci za free - pełną sprzętową obsługę RS232. Zapoznaj się tylko z poleceniem Config Serialin oraz z parametrem Bytematch tego polecenia - a wszystko stanie się jasne. Nic nie będziesz musiał sam oprogramowywać w przerwaniu bo to jest bez sensu. po prostu będziesz wysyłał paczki...
klops_mops ---> masz dwa wyjścia żeby ci nie mrugały te wyświetlacze w czasie PRINT'a ;) - innymi słowy mówiąc aby procedura wysyłania RS232 nie zakłócała procedury multipleksowania 1. prostszy sposób - zwiększ tą kocią prędkość RS232 na jakąś ludzką - chociaż 9600bps to już praktycznie nie powinno ci mrugać a jak dasz każdą większą to już będzie coraz...
Najdłużej tam pewnie trwa oczekiwanie na wynik pomiaru ADC który jest dodatkowo podwójny. Bascom robi dwa odczyty jeden za drugim. Można to wyłączyć, ale pomyśl o samym oczekiwaniu na konwersję. Gdyby to było poza przerwaniem to inne przerwanie spokojnie mogłoby to oczekiwanie przerwać tak jak można przerwać każde Waitms. Spróbowałbym w przerwaniu ustawić...
Po co ten wskaźnik na dane? Zrób: volatile unsigned char znak; ISR(USART_Rx_vect) { znak = UDR; } Po co czekanie na RXC == 1 w przerwaniu uarta? Przecież jest to warunek wygenerowania przerwania.... Zapis: UCSRC = ~_BV(UMSEL) oznacza, że przypisujesz do UCSRC wartość 10111111. Chyba nie o to Ci chodziło. Pozdrawiam, Dr.Vee
A teraz jeszcze pytanie z innej beczki. Procesor steruje pilotem RC5 na przerwaniu INT0, chciałbym jeszcze dodać obsługę RS232 ale nie chcę żeby ciągle było sprawdzane czy coś jest przesyłane bo to mi tylko spowolni program, czy jest możliwość wykrycia ze jakieś dane dochodzą do procesora i wtedy ustawienia flagi po tym będzie wykonany odbiór danych...
-blokowanie przerwania następuje tylko w momencie kiedy pętla while czeka na zwolnienie bufora, czy się myle? Przerwań nie blokuje się w żaden sposób, żadnym while-m. co do bufora cyklinego to jego zasada działania z tego co czytałem polega na tym, że dane zmieniają swoją pozycje, w związku z tym nie będę mógł później wykorzystać w programie konkretnej,...
przerwania timerów mają wyższy priorytet niż przerwanie transmisji szeregowej. Jeśli wysłanie tych pięciu liczb trwa dłużej niz 25ms to na pewno w między czasie będzie przerwanie od obsługujące klawiaturę, jeśli ono Ci modyfikuje jakiś wskaźnik lub inną zmienną związaną z buforem wysyłania danych to tam bedzie powód gubienia znaków. Musisz tez przeanalizować...
Pozostaje tylko sprawdzić rozwiązania o których pisałem wcześniej. Wysyłając nawet po 10 zyskasz bardzo wiele na szybkości. Nie napisałeś czy używasz przerwania do odbioru danych. Tak myśle że jak obniżysz trochę prędkość, a zaczniesz przesyłać po kilkadziesiąt bajtów naraz to i tak będzie szybciej niż teraz. Chodzi o to że teraz masz tylko 25% danych...
Lepiej będzie w przerwaniu ustawiać jedynie flagę, a w głównej pętli programu odczytywać stan TWSR i wysyłać komunikaty? I tak się nie wyrobisz, chyba że bardzo zwolnisz zegar I2C/TWI. Normalnie I2C działa na 100kHz, więc z prędkością zbliżona do maksymalnej dla RS232 (takiego typowego). Po prostu nie zdąrzysz nadawać po RS. Oczywiście ustawienie flagi...
Masz tam od zatrzęsienia operacji na znakach i ciągach... Kolego nie dramatyzuj ;) spacer: Odbieraj znaki w przerwaniu, po odebraniu w jednym ifie sprawdzaj czy NIE jest to znak CR dalej w tym ifie sprawdzaj czy NIE jest to LF. Jeżeli znak nie jest jednym z nich to znaczy że jesteś w tym ifie i zapisuj znak do bufora: bufor[i++]. Dalej w przerwaniu...
Witam, mam taki problem. Otóż mam połączoną Atmegę162 z modułem Bluetooth BTM112. Połączone jest wszystko dobrze, gdyż komunikacja mi działa na programiku z użyciem SIGNAL(SIG_USART0_RECV) . Próbuję to przerobić na ISR(USART0_RXC_vect) jednak nie chce mi to zadziałać. Mam zamiar odebrać to co BTM wysyła od razu po nawiązaniu połączenia tzn "CONNECT...
zrobienie multiplexowego wyświetlania dla tylko trzech wyświetlaczy to naprawdę pestka dla obciążenia procesora. Robisz to w jednym przerwaniu od któregoś timera i po zawodach. A żeby nie migotało wystarczy tylko odbrać czas odświeżania np większy niż 50Hz. Aby segmenty za słabo nie świeciły dajesz nieco niższe wartości rezystorów aby nadrobić mniejszy...
http://obrazki.elektroda.pl/9745806300_1... Witam. Sesja się zbliża, więc tradycyjnie zacząłem już prokrastynować :D . Ostatnio zacząłem pisać bibliotekę do obsługi klawiatury PS/2 w C dla AVR i postanowiłem na szybko w godzinkę lub dwie stworzyć jakiś praktyczny projekt w celu jej przetestowania. Początkowo nie planowałem tego publikować,...
A po co ten RS485? Przecież to ma być pojedyńcza jednostka, a nie sieć, sterowanie jak RS232 też nie jest do końca takie same. Zakłócenia na zasilaniu to nie jest duży problem, przetwornica dobrej jakości wyeliminuje go całkowicie i możesz o tym zapomnieć. A o co chodzi z tym "zniżeniem napięcia przez procesor" bo pierwszy raz słysze o takim wynalazku?...
Funkcja (w takiej ostatecznej formie jak przedstawiona przez Ciebie), wygląda na poprawną, tzn. powinna działać tak jak tego oczekujesz, chociaż sprawdzałem pobieżnie i głowy nie dam :D "Poprawność" rozumiem tu w sensie użytej sekwencji instrukcji. Przypuszczam, że kłopot może wynikać z zależności czasowych. Robisz dużo operacji na LCD. Być może użyte...
Tutorial do avr taki znalazłem: http://avr.elektroda.eu/?q=node/8 Jak byś czegoś w sieci szukał, to raczej unikaj tutoriala z patron.net, uczy złych nawyków i jest nieco nie na czasie. Pomiar częstotliwośći na AVR realizuje się w miarę łatwo, przy wykorzystaniu timerów, jeden timer pracuje jako licznik impulsów z zewnątrz, a drugi odmierza czas, mozna...
Jak pojawiaja sie krzaczki to jest problem z predkoscia. W jakim programie piszesz? Jaki masz kwarc? Dodano po 11 Zobacz czy dziala Ci to: // Sterownie diodą LED podłączoną do dowolnej linii mikrokontrolera // za pomocą dowolnego znaku odebranego z portu szeregowego // mikrokontrolera i wysyłanie jej stanu na port szeregowy #include <avr/io.h>...
Z góry przepraszam za zamieszczenie całego programu - i tak jest okrojony do minimum - ale gotowy do skompilowania (ICCAVR) Chciałem uniknąć pytań z cyklu a co masz jeszcze w programie - może się gryzie... Problem dotyczy wysyłania danych za pomocą interfejsu RS232 w procesorze AT Mega8 ( pewnie i innych ale ja wałkuje akurat ten ) Nie moge dojść dlaczego...
proponuję zbudować FuseBitDoctor Czy on pomoże coś więcej niż programator JTAG? Układy Atmela można programować tylko przez ISP i przez JTAG. Jak pracuje Fusebit doctor ? Czy jest jakiś trzeci sposób na programowanie układu? Nie używasz przypadkiem w programie zapisu do eeprom ? Nie. Jeżeli ten rezystor 10k jest włączony szeregowo to w dalszym ciagu...
problem w tym, że nie chce stosować funkcji printf ani putchar. Teoretycznie nadawanie w przerwaniu nie jest aż tak trudne, a jednak mi to coś nie działa. W podręczniku pisze, że wystarczy ręcznie ustawić flage TI na 1 i to powinno spowodować przerwanie od TI. Dlatego nie kontroluje licznika odbioru bo na razie interesuje mnie tylko nadawanie. Chcę...
Potrzebowałem szybko napisać program, który realizowałby zarówno transmisję poprzez sprzętowy UART, jak i programowo poprzez przerwanie zewnętrzne i jeszcze jeden pin. Wyszła z tego wielka kicha, a dokładniej z odbiorem danych w przerwaniu. Przerwanie jest wykonywane cały czas - tak jak gdyby napięcie wychodzace z konwertera poziomów oscylowało i co...
Potrzebuje programu do obsługi portu rs232 na przerwaniach (komunikator, przesyłanie plików or something). Z asemblera słabo kojarze więc prosze o listing w pascalu lub C. Mail: skorpa(at)wp.pl
Gdzie sobie ma niby podłączyć pod komputer? DVD nie ma portu Rs232. Ten model DVD oparty jest na procesorze Sunplus, istnieje oprogramowanie (do pobrania niżej) do komunikacji przez port rs232. Poszukaj na płycie pinów RS232 TTL, zrób zdjęcie płyty to się zobaczy. Wtedy bedzie potrzebny konwerter RS232 TTL i może uda wgrać się firmware.
To mój pierwszy post także witam wszystkich. Od niedawna zacząłem się trochę interesować mikrokontrolerami oraz elektroniką. Ostatnio zmontowałem mały układzik RS-232 <-> MAX232 <-> ATtiny2313 + dioda podłączona do portu D (pin 5). Połączyłem się z układem poprzez HiperTerminal a następnie próbowałem przesłać pojedyncze znaki. Po naciśnięciu...
Mój układ sygnalizuje przerwanie obwodu zgaszeniem diody (przez cały czas dioda się świeci dopóki, obwód nie zostanie przerwany), chciałbym móc te 'przerwania' rejestrować na komputerze poprzez łącze RS232. Jednakże pomiędzy komputerem i podłączonym do niego kablem RS232, a tym układem COŚ musi się znajdować, coś co przetworzy te impulsy na język zrozumiały...
Zrób sobie zmienną globalną, która będzie indeksować łąńcuch bufora. W przerwaniu odczytujesz znak, wrzucasz do bufora pod baj o danym indeksie, zwiększasz indeks. Kiedy już przyjdzie znak końca łańcucha zerujesz indeks, a daną masz w buforze. Możesz ją jeszcze przepisać do innej zmiennej, by jej nie stracić, gdy zacznie się odbiór następnego łańcucha...
Witam może rozwinę problem, korzystam z transmisji szeregowej (DELPHI 7) w progamie (komponent TCiaComPort http://users.pandora.be/sonal.nv/ ), wszystko wygląda ok, tylko gdy odbieram dane z portu szeregowego ( transmisja binarna 19200Bd i dane przychodzą bez przerw pomiędzy paczkami) i zapisuje przetworzone ( tzn. zamienione na string HEX + opis) dane...
Pod koniec procedury obsługi przerwania SIG_UART_DATA po opróżnieniu bufora nadawczego chciałbym wywołać przerwanie SIG_UART_TRANS aby zmienić stan sygnału DE dla układu MAX485. W/g datasheet'u wystarczy ustawić bit TXCIE dla rejestru UCSRB aby spowodować wywołanie tego przerwania. Writing this bit to one enables interrupt on the TXC Flag. A USART Transmit...
witam Na procku at90s2313 zrobilem odbieranie na LCD znakow z terminala oraz z powrotem wypisanie znaku na terminal, na LCD wszystko jest prawidlowe ale na terminalu wywala co jakis czas smiec ,co jest przyczyna?
Jak zamienić transmisje z pętli prądowej na RS-232 to już wiem, wystarczył mi rezystorek 1K na pin 2 Rx, jednak problem tkwi w transmisji - jest to transmisja ciągła, a ja potrzebuje jedynie jedną wartość w momęcie wciśnięcia klawisza "drukuj", ze zwłoką, tak aby następny wydruk był możliwy po przejściu przez wartość "0" - ideał , albo po 5 sekundach.
Zarobiłem sobie urządzenie (sterownik RGB UV), [url=http://www.youtube.com/watch?v=98fr... Gdy konwerter USB <=> RS232 [url=http://www.sklep.avt.pl/p/pl/487783... jest podłączony bezpośrednio do płytki wszystko działa pięknie, jak widać na filmiku. Problem zaczyna się, gdy chce sygnał przesłać na większą...
Witam serdecznie Mam nastepujacy problem. Mianowicie jak sie lacze z z ECU instalacji gazowej /sequent24 brc/ to polaczenie trwa tylko 1-3 sekund i pozniej sie rozlacza piszac ""koniec czasu komunikacji" i znowu pobuje sie polaczyc, laczy sie ale znowu na 1-3sek i znowu to samo itd... Dodam ze kabel mam rs232 10 metrowym, probowalem zmieniac czasy w...
Witam. oto mój programik który miał służyć do płynnej regulacji obrotów silnika DC.Literka "a" miała zwiększać obroty a literka "z" zmiejszać. Ogólnie przerwanie od RS-a jest bo zapala się dioda na porcie B0 ale tak jakby program sie potem wieszał bo dioda powinna się wygasić w petli głównej a tego nie robi. #define cbi(sfr, bit) (_SFR_BYTE(sfr)...
Panowie proszę o pomoc, nic juz nie rozumiem, uzywam bray_termimal, podpialem z rsu odpowiednio wszystko do kości max232, ale na 2, czyli T2, R2, zwarłem wyjścia tak żeby wiadomość wracała. I nie chce. Sprawdzałem już wszystko co się da. Nie wiem jak testować to dalej, dla predkości 600 bodów, widać na tym zwarciu wyjścia spadek około 1 volta, czyli...
Witam, Potrzebuję pomocy ze schematem jak poniżej. http://obrazki.elektroda.pl/4908757800_1... Jest to najprostszy moduł wyjść po RS232 który komunikuje się z komputerem (długość przewodu ok 8m ) i na podstawie odbieranych danych wysterowuje poszczególne wyjścia. Zasilanie jest 24VDC. Gdy uruchomiłem na biurku to wszystko działa, lecz...
Witam. Zrobiłem bardzo prosty układ sterowania przekaźnikiem z portu USB. Wykorzystałem do tego przejściówkę z USB<>RS232. Z przejściówki oprócz linii danych Rx i Tx wykorzystałem także linie 5V do zasilania mikrokontrolera oraz przekaźnika. Mam problem z zabezpieczeniem tegoż napięcia od wpływu "merdania" wtyczką 230V w wyniku czego przejściówka...
Witam ! Chciałbym Was spytać, w jaki, najlepiej najprostszy sposób, można przy pomocy komputera odczytać naciśnięcie jakiegoś przycisku (chodzi mi o zamknięcie lub otwarcie obwodu, może to być również czujnik ruchu.)... ? chodzi mi o metodę pozwalającą odczytać stan kilkunastu wyłączników (zwarte lub rozwarte) przy pomocy kontrolera podłączonego przez...
Witam Zrobiłem taki sam układ jak w tym temacie, http://www.elektroda.pl/rtvforum/topic37... i sprawdzałem go tym samym sposobem za pomocą hiperterminala, i wszystko jest ok z tym że po rozłączeniu L i K to co napisałem nie znika czym to może być spowodowane ? Z góry dzięki, Pozdrawiam
Witam. Kilka dni temu kupiłem przejściówkę usb-rs232. Potrzebowałem jej do komunikacji z procesorem AtMega8. Jak się okazało poziomy napięć TTL nie wymagały układu max232. Po podłączeniu do komputera i uC komunikacja była jednak w terminalu wyświetlały się krzaczki. Po wielu próbach okazało się, że rozwiązaniem problemu było zanegowanie sygnałów przejściówki....
Muszę zrobić pewną rzecz z portem RS-232. Początkowo zwarłem RxD z TxD, jednak mimo poprawnych połączeń i sprawnego konwertera USB>>RS-232 w Hyperterminal'u nie mam zwrotnej odpowiedzi. Ustawiłem łączenie przez właściwy port COM. Na razie parametry transmisji ustawiłem jako domyślne, bo tu i tak nie ma to znaczenia. Sterowanie przepływem wyłączone....
Witam, mam nastepujacy problem: Do zrobienia mam program ktory odczytuje identyfikatory z DS1990 i zapisuje je w EEPROMie, program ma miec mozliwosc komunikacji z komputerem za pomoca RS232 (tzn. odczytywanie, zapisywanie i usuwanie kluczy). Zrobilem to w ten sposob: Gdy przyjdzie jakis bajt z rs232 generowane jest przerwanie i ten bajt jest zapisywany...
Bufor cykliczny. Gotowy kod masz tutaj: http://www.elektroda.pl/rtvforum/topic13... Jesli zalozysz ze nigdzie zaden pakiet nie zginie i inne idealne warunki, mozesz w przerwaniu skladac dwa bajty do jednej zmiennej. Ale wystarczy ze stracisz jeden bajt i bedziesz laczyc drugi bajt poprzedniej ramki z pierwszym kolejnej.
Najprosciej napisz ja na przerwaniu - port RS 232 ustawia flage ze odebral bajt do bufora i mozna ja sprawdzac i wyjmowac bajt gdy flaga - lub podpiac to pod przerwanie i wtedy wyjac bajt - podstawa sprawnego programu.
gubisz waść próbki gdzieś Nie gdzieś tylko w tych dwóch kodach, i to bardzo mocno gubisz ..... A dlaczego? No nie dziwne, żadnego śladu buforowania. 1. robisz bufor cykliczny (FIFO) 2. do bufora odbierasz dane przez RS232 na przerwaniach 3. z bufora (FIFO) odczytujesz w przerwaniu timera o zadanej częstotliwości próbkowania dane to wystarczy.
No teraz patrząc na kod to można od razu powiedzieć, że wszystkie twoje problemy i całe zło działania kodu, że tak powiem, wynikają z tego sposobu odbierania danych przez RS232 :( Pętla Do Loop w przerwaniu to samobójstwo i to jeszcze takie okrutne :( tym bardziej, że w Bascomie masz pięknie akurat zrobioną obsługę RS232 na przerwaniach i z buforami...
To takie nieprofesjonalne i po drugie nie zadziała jak by układy podłączyć w sieci 60Hz. Musiałbym drugi TIMER zaprząc do pracy. Trochę to pokręcone by się stało. 1. Zdefiniuj pojęcie "profesjonalne" w tym przypadku. Układ ma działać niezawodnie i za taki płacą klienci, a nie na modłę teoretyków. 2. Możesz zaprzęgnąć układ i do pracy na 75Hz, wystarczy...
Witam !!! Nie napisałeś jakiego używasz kompilatora a w przypadku przerwań, wiele od niego zależy. W standardzie ANSI C nie opisuje się przerwań więc wyglądają one różnie. To kod dla standardowego kompilatora CodeVision. Obsługuje tylko odbiornik w przerwaniu pakując odebrany bajt do bufora. Pzdrawiam (M.) #include <mega8.h> #define RXB8 1 #define...
$crystal = 16000000 $baud = 9600 Przy tej prędkości transmisji i tym kwarcu będziesz miał spory błąd. Jeżeli chcesz używać tej prędkości to zmień kwarc na 8MHz. Osobiście gdy potrzebuje transmisji RS232 to używam programu który odbiera i wysyła znaki w przerwaniu od UARTA.
(at)Freddie Chopin po pierwsze odbieranie po rs232 mam zrobione w przerwaniu więc odbieram. A po drugie czy to takie istotne ma moim etapie? Tak jak wcześniej wspomniałem wpinam się i podglądam co pojawia się na linii za pomoca przejściówki usb/rs232 którą wpinam do układu tak jak poniżej: http://obrazki.elektroda.pl/1606248600_1...
zapomnij w takim prostym przypadku o przerwaniu Urxc (wywal z tego swojego kodu wszystko co masz związane z tym przerwaniem), zamiast tego - to co wpisałeś w przerwaniu - daj w pętli głównej - i wszystko w cudowny sposób ci ruszy. Co więcej - zainteresuj się takim poleceniem jak Config serialin - dzięki czemu włączysz sobie sprzętowy bufor RS232 - który...
Tak w Bascomie istnieje idealny sposób aby rozwiązać odbiór znaków przez RS232 (także nadawanie) - za pomocą przerwań. A kod zajmie kilka linijek. Wystrczy zapoznać się dogłębnie z takim poleceniem jak Config Serialin oraz wykorzystaniem np jednego z parametrów do tego polecenia - Bytematch (ale także innych) wtedy przy minimum wysiłku i kodowania będziesz...
W przerwaniu to by było dobre ale procedura odczytu rs232 jaka jest w dokumentacji sie zabardzo nie nadaje sami zobaczcie: RS232_In:;Poczekaj na ramke danych Sbis UCSRA,RXC Rjmp RS232_IN ;Pobierz dane In Acc,UDR Ret Procedura zapetla sie tak długo aż nie otrzyma jakiejś danej wiec w przerwaniu np w timerze być nie może. Zrobilem prosty licznik ze pobiera...
sterowniki tworzace port wirtualny sa dedykowane tylko do chipsetu na którym jest zrobiony bridge usb -- RS232. nie podałes jaki to konwerter. a tak na marginesie czy fioletowy nie potrzebuje port pracujacego na przerwaniu dedykowanym , wirualne pracuja na przerwaniu współdzielonym. bo np. z euroscanem sa problemy z portem wirtualnym.
Obsługa przerwań jest banalna. W przerwaniu od Rsa jest tylko dopisywany znak do zmiennej tablicowej, a w obsłudze przerwania od encodera tylko warunek i albo zwiększenie, albo zmniejszenie wartości licznika. Ale ponawiam pytanie, czy wysyłając rozkaz: [syntax=c]printf("ala ma kota"); [/syntax] na czas wysyłki (dość długi czas) program czeka na koniec...
WItam; chciałbym zrobić sterownik który będzie pełnił funkcję konwertera prędkości UARTU. Na wejściu otrzymuję ramki GPS 9600, a na wyjściu chcę wysłać to samo tylko w nieco innym standardzie (eleminacja niepotrzebnych danych. Zrobiłem w przerwaniu RXC odbiór ramki. Działa super. Robię konwersję. I chcę to wysłać znów przez RS232. Całość mam w Stringu...
Mam pytanie czy jest jakas roznica miedzy RS232 a RS232C? bo tak spojrzalem na dokumentacje jednej plytki i ponoc tam jest cos ze jest interfejs rs232c...
A po co chcesz łączyć nóżki? Nie wystarczy w przerwaniu od RX-a uruchomić sobie odliczanie na timerze?
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 Wszystkie urządzenia zarządzane przez RS232 konfigurawałem hyperterminalem z windowsa spróbuj tam masz wiele opcji powodzenia
Te dane ma odbierać procek 89C4051 przez RS232 i w przerwaniu od Rx ładować każdy kolejny bajt do pamięci I2C 4kB. Jako, że pamięć potrzebuje 5ms na zapis każdego bajta, procek nie ma bufora to baud pewnie wyjdzie na poziomie 1200. Jak widać ze struktury HEX'a dane są prawdopodobnie poukładane kolejno a puste miejsca to zawsze "0". Prościej będzie chyba...
Witam, ja się w ogóle nie dziwię, że masz taki efekt, ja gdybym był na miejscu procesora i gdybym otrzymał taki kod to też bym zwariował na maxa ;) Na prawdę jeszcze czegoś takiego to nie widziałem, żeby : 1. nie skorzystać ze sprzętowego UARTA - gotowca w bascomie 2. nie skorzystać z pięknych buforów cyklicznych - gotowca w bascomie tylko w zamian...
Problem raczej w tym ze nie jestem jeszcze az takim "wymiataczem" jak niektorzy tutaj koledzy. Tu nie ma wymiataczy. :) No chyba poza nielicznymi wyjątkami... faktycznie wyglada mi na to ze uC sie resetuje ale jak moge zatem znalesc zrodlo resetu i je wyeliminowac? Hmm. Sprawdź ile razy przerwanie jest wywoływane: - inkrementacja w przerwaniu jakiejś...
w JAKIM terminalu? Może liczbę wysyłasz jako 3 znaki? No skoro sam nie jesteś pewny i piszesz chyba to warto zacząć od tego sprawdzanie. Poza tym trochę dziwne jest to odbieranie "ramki" w przerwaniu - zastosuj jakiś normalny bufor cykliczny...
Rodzina AVR czy jakakolwiek inna nie ma nic wspólnego z takim ograniczeniem. Wystarczy wykorzystać któryś z timerów i jego przerwanie. To teraz mi powiedz co się stanie kiedy przerwanie nastąpi podczas odczytu karty? Poza tym generowanie sygnału CLK przerwaniem timera to nie problem ale robienie takich długich operacji w przerwaniu jak wypełnianie...
Nie :) TYlko to umożliwia działanie 2 programów "jednocześnie" (przynajmniej w dosie). Ty spokojnie pracujesz sobie w dosie a program siedzi w pamięci i obsługuje dane z rsa ale jeśli nie chcesz to mozesz napisać program nie rezydentny i tylko on będzie działa w danym czasie i nic wiecej
Dzięki za zwrócenie uwagi. Chcę zaimplementować zegarek RC - timer1, przetworniki ADC mają sprawdzać swój stan co kilka sekund, komunikacja po RS232 - przerwanie, inne timery również w przerwaniu. Wiem, że kod w przerwaniu powinien być krótki i zwięzły operuję tylko na flagach. Wykonanie akcji (ustawianie portów) odbywa się po za przerwaniem na zasadzie...
opóźnienie przerwaniu enkoder przerwaniu przycisk przerwaniu
powerbank lifepo4 wymiana grzałki zamek centralny uniwersalny centralka
bateria macallister zmywarka whirpool mruga start
Problemy z Windows XP, Vista, 10 po klonowaniu HDD Lutowanie kabli w słuchawkach GameZone Hydra Pro RGB