Wejście (pin procka PORTB.0) programujesz jako wejście . Ustawiasz wysoki poziom tego wejścia , tak aby naciśnięcie przycisku (zwarcie do masy) wymusiło niski poziom na tym wejściu , wykrywany przez program jako If PINB.0 = 0 Then ' coś do wykonania (naciśnięty przycisk)
C_P skorzystaj z SERIN i SEROUT . One pozwalają na dowolne użycie końcówek, gdyż jest to w 100% dynamiczny UART. Balu. To nie w tym leży problem.
Generator podepnij do PINB.1 i config PINB.1=input
...a tak z ciekawości zapytam jak długi zadeklarowałeś ten string LINIA ??? skoro jak rozumiem obsługujesz zapewne SMSy. To chyba długość co najmniej 160 hmmm ??... U mnie , zmienna Line ma rozmiar 30B , ponieważ pobieram do niej tylko ... jakby tu powiedzieć ... mnemoniki komend AT i ich parametry , a SMS-a dekoduje "w locie" , w czasie przerwań od...
[syntax=vbnet]Config Portd.2 = Input[/syntax] zamiast tego, powinno być: [syntax=vbnet]Config Pind.2 = Input[/syntax]
Balu nie wiem co to ddr DDRx jest to rejestr, który służy do określenia kierunku transmisji portu. Input lub Output.
Teraz widzę ze to troszeczkę inaczej będzie działało, będą 3 zmienne p1, p2, p3 i w każdej zmiennej będą albo 0 albo 1. Jeśli na p1 będzie 1 to zapal diodę, jeśli 0 to zgaś Jeśli na p2 będzie 1 to zapal druga diodę, jak zero to zgaś. Itd.
Tak prymitywnie to wyślij to sobie ze spacją i potem podziel otrzymany string szukajac spacji [syntax=vbnet] Print V1 ; " " ; A1 Dim MyArray(2) As String * 5 , M As Byte M = Split(CalyOdebranyString , MyArray(1) , " ") 'podziel szukając spacji Locate 1 , 1 : Lcd MyArray(1) Locate 2 , 1 : Lcd MyArray(2)[/syntax] Radzę też napisać u góry w kodzie : [syntax=vbnet]Config...
Temat powinien polecieć do kosza ale... :D Na początek musisz wiedzieć że do odczytu danych z końcówek portu służy rejestr PINx czyli w twoim przypadku PINA. Po za tym musisz uruchomić wew. rezystory podciągające (pull-up) czyli piszesz np. PORTA = 255. Na koniec powinno to wyglądać tak : PORTB = PINA . Po więcej informacji sięgaj do helpa tam wszytsko...
MES Mariusz --> przecież w tym co pisałem nie chodziło o tworzenie na siłę przerwania dla RC5 bo to akurat dobry pomysł jak na Bascom, chociaż co nieco spowalnia pracę ale może być ;) Chodziło o podopwiedź że można utworzyć dodatkowe przerwanie, które przerwie ci INPUT. Jeśli chodzi o standard pisania programów to ja cię do niczego nie namawiam na siłę....
Witam. Chciałbym uzyskać efekt parametru echo on instrukcji input (mikrokontroler otrzymuje znaki po UART, i natychmiast wysyła je spowrotem) dzięki czemu na ekranie monitora portu COM będę miał wyświetlane wpisywane przez siebie znaki. Niestety używam konwertera http://obrazki.elektroda.pl/2797859300_1... Oczywiście w takim przypadku...
Zamiast INPUT użyj do odczytu danych polecenie WAITKEY().
Niestety dość wolno, prosty program w Bascom, odczyt z karty SD: "Line Input" + funkcja "mid" -> z kwarcem 12Mhz okolo 3-4 sekundy, ale jakość jest bardzo dobra.
Bufor ten ma 3 znaki ale po pojawieniu się pierwszego znaku od razu jest on przesuwany bo bufora programowego. Czyli działa to jak jak by bufor sprzętowy miał tylko 1 znak.
Dzięki za podpowiedzi, wykorzystałem polecenie inkey() i to wystarczyło w zupełności. Kodu nie podaję, gdyż wystarczy wpisać w helpie inkey i wszystko jasne jak na dłoni :)
DDR to nie instrukcja tylko rejestr portów np. DDRB - rejestr określający kierunek portu PortB (wejście czy wyjście). W bascomie konfigurujesz np. Config portb.5=output lub np. config portb=input Po szczegóły odsyłam do dokumentacji procesora i języka Bascom.
Witam. Zadaniem urządzenia jest głównie odpowiadanie na słowa przychodzące na UART, co oznacza, że program większość czasu "wisi" na poleceniu input. Ponieważ urządzenie ma pracować 24h na dobę, i być maksymalnie niezawodne, oczywistym wydaje się użycie watchdoga. Czy w tej sytuacji (program "wiszący" na input, nie mający możliwości zresetowania watchdoga)...
Na wersji 1.11.9.8 Config input nie działa. Straciłem przez to 18 godzin na dochodzenie co jest nie tak.
CONFIG PIND.0 = INPUT ;ustawienie jako wyjście PORTD.0 = 1 ;podciągnięcie do plusa
Witam. Mam problem, Napisałem program ale nie działa tak jakbym tego oczekiwał. :cry: Config Portd.1 = Output , .... ........ Config Portd.1 = 0 , ..... Zauważ że cytowana wyżej linia druga zmienia wcześniejszą konfigurację portu z OUTPUT na INPUT. e marcus
Możesz jeszcze spróbować: 1. Zmienną I w odbiorniku zdefiniować jako Word a nie String 2. Zastąpić Cls w pętlach przez szybsze Locate 1 , 1 (wymagane formatowanie wyświetlanej wartości) Edit: [syntax=basic4gl]Dim I As Word Input I Noecho[/syntax]
Spróbuj If a="wykonaj" then ... albo zamiast cudzysłowu weź to w apostrofy, bo nie pamiętam jak to w tym języku leci. Tak samo oczywiście z instrukcją PRINT (print "OK")
Witaj :) Bez problemu możesz je ustawić jak wyjścia lub wejścia. Np. cały port b jako wyjście / wejście Config portb = output / input Albo pojedynczo poszczególne wyprowadzenia Config portb.5 = output Config portb.6 = output Config portb.7 = input itd... Pozdrawiam
Zainteresuj się funkcją Input Capture Unit - opis oraz przykład dla C: http://mikrokontrolery.blogspot.com/2011...
Do $timeout = 1000000 Input "Czekam 100000 Cykli jesli bedzie ich własnie tyle no chyba że wcześniej będzie chr(13):" , zmienna Print "To bede tu :) " ; zmienna $timeout = 0 Input "Tu będę czekał wieczność jeśli nie bedzie chr(13): " , zmienna Print "I tego napisu już nie zobaczysz:("...
INKEY i INPUT stricte nie czyszczą bufora. Od tego jest CLEAR SERIALIN. Jednak korzystanie z INKEY i INPUT pobierają dane z bufora i przesuwają wskaźniki, co także powoduje, że bufor jest "opróżniany" - choć dane w pamięci dalej są.
No i warto zapamiętać, że rejestr PIN jest w ATMEGA8 tylko do odczytu. To ja dopiszę, że w BASCOM Config PINB.1=Input jest zupełnie poprawną formą. Ale tylko Config. Natomiast jeśli naraz ustawiamy wszystkie bity to powinno być Config PORTB=Input.
, przetłumacz poniższy kod z BASCOM AVR na Arduino Uno: $regfile = "attiny2313.dat" $crystal = 8000000 Dim A As Byte a=0 Config Pind.6 = Output led Alias Portd.6 led= 0 Config Pind.0 = Input Portd.0 = 1 Sw Alias Pind.0 do if a >1 then a=0 if sw=0 then bitwait sw, set incr a End If if a=1 then toggle led waitms 100 else led=0 end if loop end Przekształcanie...
Czy nie lepiej by było zamiast bawić się w pojedyncze znaki odebrać cały tekst hurtem. [syntax=vbnet] Do If Tekst = "Zgaś" Then portc.1 = 0 Elseif Tekst = "Zapal" Then portc.1 = 1 End If Loop End odbierz: Input Tekst Return [/syntax]
Najpierw sprawdź czy coś przyszło a potem dopiero daj Input.
No to, to co odbierzesz z RS'a wstawiasz do zmiennej, np dane i potem Pwm1a=dane Wszystko jest w helpie! Rzuć okiem na polecenie input!
Z mojej strony była mowa o koncepcji. Procedurę skrobnę jak już zdecyduje się na koncepcję. Osobiste wycieczki zbyteczne. --- edit --- [syntax=basic4gl] $sim $regfile = "m16def.DAT" $crystal = 8000000 $baud = 4800 Echo Off Nadawanie Alias Portd.7 Config Nadawanie = Output Dim Zdanie As String * 30 Dim Dlugtxt As Byte Dim Znak As String * 1 Dim Pozycja_poczatku...
Ma się dobrze jeśli ma odbierać dane z bufora. Jeśli Twoje Print Komenda ; Chr(13); zmieniłbyś na Print Komenda To z powodzeniem mógłbyś odbierać w przerwaniu Pozostało by ci tylko ustawić: Config Input = Crlf , Echo = Crlf Config Serialin = Buffered , Size = 80 , Bytematch = 13 a przy odbieraniu: Input Odczyt Noecho
A co tam chcesz ustawić w tym timerze? Coś dostrzegłem. Co nto ma być Config portb.1=1? Czytelniej chyba = input lub output. Dodano po 16 A masz helpa do bascoma po polsku?
W Bascomie wyglada to tak: Config PORTA = Input PORTA = 255 '(lub &hFF lub &b11111111) Spowoduje to ze port A bedzie portem wejsciowym z podciagnietymi wejsciami do + zasilania. Jezeli w drugiej linijce znajdzie sie zero to wtedy port bedzie w stanie "trzecim" czyli tzw. "plywajacym" czyli nie bedzie podciagniety do niczego. Asembler: ldi r16,0x00 out...
Chyba tak w BASCOMie [syntax=basic4gl]Config Portc = Input Portc = 0 [/syntax]
Czyli ten rbit jest konieczny, czy nie? Potrzebny jest jeżeli nie chcesz stracić wysyłanych danych. Slave będzie miał informację, że może wpisać kolejną wartość, ponieważ poprzednia została odczytana. Tak naprawdę można zastanowić się jak rozwiązać jakiś problem, czy coś zmienić, ewentualnie zrezygnować z czegoś jak będziesz miał konkretny kod programu....
Dziękuję bardzo za wszelkie informacje jakie uzyskałem, bardzo pomogły. Natomiast problem był natury programowej, a dokładnie niedziała jedna komenda w języku BASCOM - "input" - nawet gdy wysyłam znak końca chr(13). Dopiero trzeba było uruchomić przerwania i napisać procedurkę na przerwanie. Natomiast chciałbym się podzielić z wami moimi przemyśleniami...
Ha,ha, czy wyłączyłeś JTAG?(bascom) czy przełączyłeś kwarc na zewnętrzny/wewnętrzny? podstawa sory Balu,nie doczytałem,pisałeś wcześniej o JTAG,sam się naciąłem kilka razy na to ,bezwiednie,bo to takie proste,juz nie mówię o moim podstawowym błędzie(bascom) pomylić input z output: pind.4.... portd.4.... pisząc z rozpędu to taka mała różnica.....,haha,i...
(at)xury to polecenie Open "COM1:" For Binary As #1 konfiguruje sprzętowy UART jako kanał. Takie polecenie jest konieczne jeśli używamy programowych UARTów lub obsługi np. kart SD poprzez bibliotekę AVR-Dos, gdyż wtedy powinniśmy też przypisać kanał uartowi sprzętowemu, aby funkcje Print i Input były jednoznacznie identyfikowane z kanałem...
Wejścia Enable podłącz do masy, a na wejścia Vref podaj napięcie z zakresu od 1.5V do 7.5V ustalające wartość prądu. Cytat z tabelki z dokumentacji do której podałeś linka "VREF1 The output current is determined by the voltage (in the range 1.5 to 7.5 V) input to these pins" oraz: "ENABLE1 Output on/off settings High-level input: output off Low-level...
Witam, zanim zabierzesz się za pisanie własnej obsługi przerwań do RS232 w Bascomie, to może najpierw spróbuj zrobić to w oparciu o dobrodziejstwa jakie daje ci Bascom. nie znasz poleceń INPUT , INKEY czy PRINT ???? do tego jeszcze może Config Serialin bo w powyższym kodzie odstawiasz niezły "miszmasz" i nie ma co się dziwić, że ci nie działa. Oczywiście...
Witam Inkey odbiera tylko jeden znak (bajt) przesłanej informacji. Użyj lepiej funkcji – input /zapoznaj się z pomocą Bascoma. Do przesyłania informacji na duże odległości używaj jak najmniejszej szybkości.
Co się dzieje jak odbierzesz dane z portu komendą INPUT?
Instrukcja Bascom-a INPUT a; wymaga aby na końcu wysyłanego ciagu był znak końca lini. Spróbuj zrobić tak: port1.SendStr('1'+chr(13)+chr(10)); - wysyłanie '1' + koniec lini port1.SendStr('2'+chr(13)+chr(10)); - wysyłanie '2' + koniec lini port1 - to nazwa jaka ma twój komponent ComPort. Napisz jeszcze jak wysyłasz i odbierasz te dane w Delphi.
Witam A u kolegi bascom nie wywala błędów? Port składa się z 8 pinów czyli 8bitów albo bajtu.(portd- portd.0;portd.1;.....do portd.7 czyli 8pinów Więc taki zapis portd.4=255 jest błędny bo jednemu bitowi nie możemy nadać wartości 255 możemy albo 0 albo 1.(a prawidłowo portd.4=1 albo0 ) Taki zapis jest poprawny portc=255 co jest równoważne z 11111111...
Do autora - przyjrzyj się [syntax=vbnet]Config Portd.5 = Output : Dc_wlacz Alias Portd.5 Config Portd.1 = Input : S12_wolniej Alias Portd.1 Config Portd.2 = Input : S11_szybc Alias Portd.2 Config Pina.0 = Output : Kier_lewo Alias Pina.0 Config Pina.1 = Output : Kier_prawo Alias Pina.1 Config Pina.4 = Input : S10_start Alias Pina.4 Config Pina.5 = Input...
Nie działa bo masz nie włączone podciąganie do plusa. Rejestry PIN nie służą do zapisu w tym procesorze (tylko w niektórych modelach zapis 1-dynki do nich powoduje zmianę stanu odpowiadającego bitu w rejestrze PORT). http://www.atmel.com/Images/doc2503.pdf - strona 64 Musisz dać dla każdego przycisku po instrukcji Config ... Input instrukcję Set Portd.x...
na dowolnym pinie możesz uruchomoć programowy UART w bascom wygląda to tak : Open "comc.0:1200,8,n,1" For Input As #1 ... itp
Dzięki serdeczne, użyłem właśnie MID. Działa ok :)
czy nie potrzebna jest tutaj instrukcja INKEY() ? swojego czasu zrobiłem taki układ , że dwa procki atmega8535 przesyłały między sobą zmienną. program zajął dosłownie 3,4 linijki w odbiorczym użyłem instrukcji inkey() tzn , jeżeli było coś w buforze(różne od 0 ) to wyświetlało daną. oczywiście czasy w realizacji pętli były takie same oraz kwarce również...
Rocket_93- za dużo wiedzy jak na pierwszy program. A jeszcze nie wiemy czy już działa. W Bascomie kończy program End. I konfiguracja portów jest tak: Cały port: Config portx=output/input. Ale pojedyncza końcówka: Config pinx.y=output/input A jak się da: Config portx.y=output/input to nie wyrzuca błędu ale potrafi działać "dziwnie". A potem podciąganie...
Poza tym jest to funkcja jeśli a nie gdy
Sprawdź czy coś się zmieni gdy dopiszesz przed config adc, config pina.0 = input .
Do RS232 wystarczą 3 przewody, a jeśli nie będziesz potwierdzał poprawności odbioru to tylko dwa. Zobacz w pomocy rozkazy PRINT# i INPUT#.
Czesc, Jak zrobic zeby na wejsciu np. Pinc.1 ustawionego na input mozna bylo podlaczyc +5V i to odczytac oczywiscie - kompil. Bascom. pozdrawiam
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.
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 zrobic Input w przerwaniach ? mam program dla atmega16 odbierajacy dane w przerwaniach aczkolwiek jest to zrobione w taki sposob ze odczytuje Udr i przypisuje jej wartosc do jakies zmiennej no i nie mam jak "ladnie " wyslac np liczby 53 <przypisywanie rejestru Udr do zmiennej powodoje ze zczytywane sa z klawiatury kody ascii a 53 ma "5">
A może by tak: Config Portc = Input
thx
Może tak zobacz: $regfile = "m8def.dat" $crystal = 8000000 $BAUD = 9600 dim test1 as String dim test2 as String test1 = "1987" Do Input test2 Print "Wprowadzone haslo:" ; test2 If test1 = test2 then Print "Haslo poprawne" Loop End
może jakoś tak baud= ..... Config Pin_klawisza = Input Dim N As Byte Dim I As Byte Dim Temp As Byte Dim Znak As String * 2 N = 1 Do Debounce Pin_klawisza , Stan , Generuj , Sub Temp = Inkey() If Temp <> 0 Then Znak = Chr(temp) If Znak = "+" Then Incr N If Znak = "-" Then Decr N Loop Generuj: For I = 1 To...
Nie działa deklaracja ... a czy później deklarujesz kanał przy PRINT lub INPUT?
dodatkowe pytanie: czy ktoś może mnie naprowadzić co praktycznie oznaczają zaznaczone na czerwono komunikaty? i w ogóle co się dzieje z procesorem-bo nie bardzo mam pewnośc czy dobrze wszystko robie... co oznacza np nieprawidłowa sygnatura? jak mam te komuniakty interpretować... avrdude.exe: error: programm enable: target doesn't answer. 1 avrdude.exe:...
nie dotykam ale wytłumaczę to inaczej . Tak to jest... Jeżeli pin wejściowy reaguje na dotyk palca, to pierwszy powód jest brak podciągania na tym porcie, jeżeli jednak port ten jest podciągnięty do Vcc to przyczyną jest błędna konfiguracja tego portu. Wejścia konfiguruj raczej: config PINB.1 = input ; zamiast: config PORTB.1 = input Bascom tu nie...
4 diody to jest to co napisałem ale kurcze nie działa A w innych postach wyżej piszesz że jest odwrotnie (- input jest na porcie B ) Oprócz tego, z powyższego fragmentu można wnioskować także, że równiez numeracja pinów jest błędna: pin 'zerowy' w zapisie binarnym konfiguracji jest z prawej strony np: &B00000001. e marcus
w każdym uC można zastosować rezystor podciągający , w AVR z powodu dużej rozbieżności wewnętrznych rezystorów jest to zalecane szczególnie jeżeli pin / port pracuje jako wejście MirekCz ma rację nawet nie zauważyłem tego config portx odnosi się dla całego portux , natomiast config pinx.y dla konkretnego pinu portu zastosuj lepiej taki sposób konfiguracji...
W Bascomie komendy Print i Input - poczytaj o nich na początek.
Kilka tematów niżej "zakłócenia 433mhz" [url=http://www.elektroda.pl/rtvforum/vi... podałem przykład dekodowania tych ukladów w Bascom. WArduino będzie niemal identycznie, wykorzystaj funkcję : [syntax=c]int pin = 2; unsigned long duration; void setup() { pinMode(pin, INPUT); } void loop() { duration = pulseIn(pin, HIGH);...
Proszę sobie przeczytać o PRINT i INPUT, a nie liczyć na gotowce.
SERIN i SEROUT to nie jest do RS232. Do tego jest Print/Printbin i Input/Inputbin. Jest jeszcze Inkey.
config portd = output jeśli wyjście config portd = input jeśli wejście
Czyli łączę bezpośrednio pin TXD mikroprocesora nr.1 z wejściem nadajnika TX433, oraz RXD mikroprocesora nr.2 z wyjściem odbiornika RX433. W bascom używać poleceń print oraz input ?
Nie będziesz czytał z tych rejestrów wiec wystarczy wysłać dane do rejestru poleceniem Shiftout zamiast tworzyć SPI. Opis podłaczenia w kodzie. [syntax=basic4gl]'----------------------... $regfile = "m32def.dat" $crystal = 4000000 '---------------------------------------...
HELP powie CI wszystko... PRINT to PRINT Do odbierania masz INPUT plus jego odmiany INPUTBIN i INPUTHEX
Proste - nie używać funkcji input, która służy tyko do czytania tekstów.
... zwracam honor kolego zumek , niestety nie wiedziałem, że w bascomie set portb włącza tylko pull'upa ;) ale z drugiej strony skoro nie ma wyraźnej deklaracji w programie na początku, że port ma być wejściowy to bascom sam tak ustawia niezdefiniowane porty? Standardowo po power-up reset , bity w rejestrach portów(DDRx ,PORTx) są wyzerowane.Dla pewności...
Przykład z pliku Help Bascoma: " 'configure PORT D for input mode Config Portd = Input 'reading the PORT, will read the latch, that is the value 'you have written to the PORT. 'This is not the same as reading the logical values on the pins! 'When you want to know the logical state of the attached hardware, 'you MUST use the PIN register. A = Pind U...
Na początku podłącz tylko jeden czujnik Odczytaj wartość temperatury, później numer seryjny. Jeszcze jedna uwaga, jak deklarujesz port jak wejście to nie tak Config Porta.1 = Input tylko tak Config Pina.1 = Input
Input nie zawiśnie jeśli ustawisz poprawnie "Config Input = Cr", bo standardowo Input "czeka" na CRLF. A odczytać musi, bo przejście do podprogramu nastąpi tylko w przypadku nadejścia znaku entera (13). Więc z góry wiadomo, że Input je odbierze. Bufor jest czyszczony przez ten Input właśnie. Sorry pomyłka - standardowo Input czeka tylko na CR więc jeśli...
Nie analizowałem programu dogłębnie ale widzę w nim INPUT. Jak dobrze pamiętam INPUT zatrzymuje program. Dane przychodzące należy sprawdzać za pomocą: [syntax=basic4gl]zmienna = ISCHARWAITING() 'lub zmienna = ISCHARWAITING( #kanał )[/syntax] Funkcja zwraca wartość 1 gdy w buforze transmisji sprzętowego układu UART znajduje się oczekujący znak. (Z drugiego...
Aby zaprogramować układ, potrzebujesz połączyć linie MISO -> MOSI MOSI -> MISO Błąd: przewodów MISO oraz MOSI się nie krzyżuje. miso (master inpult, slave output) oraz mosi (master output slave input) mają inny kierunek w układzie nadrzędnym a inny w podrzędnym.
Witam, chce uruchomić transmisje szeregową na podanym w tytule uC i tutaj napotkalem na problem, poniewaz dokumentacja do 48 jest bardzo uboga :/ Zaimplementowalem cos, ale nie dziala. jaka uboga? o czym ty mówisz ? skąd ty takie ubogie dokumentacje bierzesz? wejdź na stronę www.atmel.com i pobierz z tamtąd pełną notę PDF do jakiego zechcesz tylko...
'Config Portc = Input ' Portc = &B0000000 ' Tow Alias Portc.4 'Q4 Alias Portc.0 ' Q3 Alias Portc.1 ' Q2 Alias Portc.2 'Q1 Alias Portc.3 zrób tak: Config Pinc.4 = Input Tow Alias Pinc.4 Config Pinc.0 = Input Q4 Alias Pinc.0 Config Pinc.1 = Input Q3 Alias Pinc.1 Config Pinc.2 = Input Q2 Alias Pinc.2 Config Pinc.3 = Input Q1 Alias Pinc.3 Eee.. a co to...
Load textmatrix http://www.elektroda.pl/rtvforum/files-r... This Bascom program uses a 3x4 keyboard matrix to input ASCII text! This Bascom program uses a 3x4 keyboard matrix to input ASCII text! The output is placed on the LC-Display and will be saved in the variable TEXT. If one key is pushed several times the characters of that key rotates...
Rozumiem więc, że w bascom wystarczy, gdy napiszę, że portb = input. Właśnie o to mi chodziło, by wiedzieć, która instrukcja włacza pull up w konkretnym porcie. Oczywiście wiem, że konkretne jedynki w zapisie binarnym odpowiadają pinom kofigurowanego portu. Bardzo, ale to bardzo dziękuję! Mam nadzieję, że się tu odwdzięczę mniej doświadczonym (ode mnie)...
Witam. Praktyczne pytanko: w jaki sposób, określić ilość cykli zegarowych niezbędnych na wykonanie poszczególnych instrukcji języka Bascom AVR, np. getadc(), if, input oraz w jaki sposób obliczyć rzeczywisty czas potrzebny na wykonanie pojedynczej instrukcji, znając wartość rezonatora kwarcowego, oraz użyty mikrokontroler?
Pewnie chodzi o znaki końca linii. Domyślam się, że przy "Input" Bascom czeka na koniec lini. Pod terminalem pewnie wciskasz "enter" i wysyła koniec lini, a "echo" wysyła to co mu wpiszesz i nic więcej. No i dochodzą jeszcze różne znaki końca linii: windowsowe CRLF (CR=13,LF=10) pod linuksem jest samo LF, a pod macem samo CR. Nie wiem jak Bascom ma...
:/ ale w nocie katalogowej to pisze tylko jak go podlaczyc jak dzia i co wytrzymuje :D a ja chce wiedzec jak go obslugiwac pod bascom :) te komendy print i input.. i co wiecej?? co tam mam dokladnie wpisac? jak odbiore jakas dana to skad uP ma wiedziec co dostał?? przeciez to trzeba jakos adresowac chyba... pomozcie prosze!!!!! pozdrawiam Marek
No to jeżeli tak to działa, to tak mam, z tym, że jako Input ;) Czyli ten rezystor przy przycisku "do kosza"?
Według mnie obie są błędne, a pierwsza jest karygodna. Błędy pierwszej: 1. Wait w obsłudze przerwania !!!!!!! 2. Odczyt w przerwaniu przez input, a bez bufora - po odebraniu znaku zawiśnie na Input. Błedy drugiej: 1. Zupełnie nie potrzebny Gosub 2. Skoro wykorzystujesz bufor to dlaczego nie Bytematch = 13 ? 3. Znowu Input zawiśnie.
Nie jestem specem, ale wydaje mi się (na podstawie Helpa), że należy najpierw zadeklarować piny lub porty - jeden jako wejście, drugi jako wyjście. przykład: Config Pind.5 = Input Config Pind.6 = Output lub Config Portd=Input Config Portb=Output
Dobrze, że chcesz to przesyłać w trybie tekstowym. Zatem od strony mikrokontrolera poczytaj sobie w Bascomie o poleceniach: Config Seriallin INPUT Config INPUT Ischarwaiting a także do operacji na łańcuchach znaków: MID LEFT RIGHT itp to powinno cię naprowadzić.
Przy instrukcji Input "odebranie znaku <CR> (kod 13) kończy wprowadzanie danych dla bieżącej zmiennej." A co jeśli znak <CR> nie zostanie nadany? Wtedy program stoi i czeka!
Zacznij od wrzucania emu wyświetlaczowi danych z terminala - sprawdź, czy to działa. Jeśli działa - zastanów się nad różnicami. Kidy Input kończy działanie? Nie znam Bascom, ale zgaduję, że po Enter, czyli CR. Czy nadajesz kod CR powysyłanej liczbie?
You may use any pin that can work as an input pin Przeczytaj to :) input, czyli do odbioru.
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,...
Zapewne dlatego że wykorzystujesz sprzętowe SPI (Config Spi = Hard), a przy sprzętowym SPI sygnał SS (Slave Select input) masz właśnie na pinie PB4.
Witam. Można programowo zrealizować transmisję RS232 na innych pinach niż piny P3.0 i P3.1. Służą temu własnie te polecenia. Do sprzętowej realizacji powinno się używać poleceń PRINT i INPUT. Pozdrawiam.
input bascom bascom input bajty bascom capture input
alpine error kalafonia izopropanol gniazdka angielskie
pralka miele start identyfikacja elementu
Remapowanie klawiszy: :, ;, L jako Enter na klawiaturze Smart TC - problem z wyświetlaczem sterownika