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...
e ale tu mamy blad taki : Config Portc.5 = Input Config Portc.4 = Output Config Portb.0 = Output co jest zle! dobrze : Config Pinc.5 = input Config Pinc.4 = output Config Pind.0 = output
[syntax=vbnet]Config Portd.2 = Input[/syntax] zamiast tego, powinno być: [syntax=vbnet]Config Pind.2 = Input[/syntax]
Generator podepnij do PINB.1 i config PINB.1=input
Witam serdecznie szanownych kolegów, chciałem podpytać może któryś z Was się orientuje od której wersji można kompilować swobodnie kod z tym poleceniem. Wersja 1.11.7.3 którą posiadam pozwala na wpisanie i poznaje Config Input ale nie kompiluje. Wiem że jest wersja 2.0.5 i 7 ale powiedzmy że dostępne są tylko triale z ograniczeniem kodu :). Może któraś...
przykład : Config Debounce = 30 Config Portd.1 = Output 'tx do vfd Config Portd.6 = Input 'enkoder Config Portd.7 = Input Set Portd.6 Set Portd.7 Config Portd.0 = Input 'przyciski po koleji : -v , +v , +/-a , wyświetlacz Config Portd.2 = Input Config Portd.3 = Input Config Portd.4 = Input Set Portd.0 Set Portd.2 Set Portd.3 Set Portd.4
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.
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.
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
CONFIG PIND.0 = INPUT ;ustawienie jako wyjście PORTD.0 = 1 ;podciągnięcie do plusa
Witaj. Nie wiem, czy dobrze Cię zrozumiałem - ale czy odpowiednio użyta dyrektywa Config Input = .... nie załatwi Twojego problemu? Pozdrowienia - teedd
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
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
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]
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...
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...
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
Poza tym jest to funkcja jeśli a nie gdy
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
, 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...
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...
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....
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...
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...
Tyle, że kolega popełnił błąd przy konfiguracji pinów: [syntax=basic4gl]Config Portb.0 = Input Config Portb.1 = Input[/syntax] Składnia w helpie mówi co innego.
Witam Mam taki problem. Jestem początkującym programistą. Próbuję napisać program do atmegi8. Problem jest taki, że gdy próbuję skonfigurować porty PC.0 - PC.5 jako wejścia wyskakuje mi błąd, konfiguracja wygląda tak: Config Pinc.5 = Input Config Pinc.4 = Input Config Pinc.3 = Input Config Pinc.2 = Input Config Pinc.1 = Input Na czym mój błąd polega?
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...
Proszę, napisz mi co to jest ten "bit fuse M103C" i jak go sprawdzić. Dodano po 1 Zrobiłem tak: http://obrazki.elektroda.pl/7670144900_1... I dalej nie czyta karty. Proszę o pomoc.
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
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?
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ć.
1. Po pierwsze nie ma instrukcji do sterowania kursorem 2. Zamień Config Portd.0 = Input Config Portd.1 = Input Config Portd.2 = Input na Config Pind.0 = Input Config Pind.1 = Input Config Pind.2 = Input
Np za pomocą config serialin opcja Bytematch. Ustawiasz np. na 13 i masz wykrywanie kiedy nadchodzi znak "enter" czyli CR W zależności też czy razem ze znakiem CR masz też LF to ustawiasz sobie już w config Input.
Sprawdź czy coś się zmieni gdy dopiszesz przed config adc, config pina.0 = input .
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...
Ustaw to: $crystal = 400000 tak: $crystal = 8000000 I fuse do tego. Poza tym podałem ci program który podaje PWM na 2 porty, nie musisz stosować 2 tranzystorów, wybierz 1 port na którym będzie ci to działać. Kolejna sprawa, to wielkość WAITMS musisz dobrać eksperymentalnie, ponieważ zależy od tego prędkość rozjaśniania i gaszenia lampki. Jeśli chcesz...
Przy czym jeśli robisz set lub reset, to dajesz zawsze set port, nigdy nie set pin. Niezależnie od tego, czy masz config pinb.0 = input czy config portb.0=output
Jesli konfigurujesz pojedynczą końcówke to nalezy napisac Config PIN.X =input/output Config PORTX configuruje cale porty. Moze tu tkwi problem.
...Coś nie tak jest z programem: wykonywana jest cały czas pętla rc51, chociaż nie zwieram nic do masy. Gdybyś zamiast ... Config Portd.2 = Input Config Portd.3 = Input Config Portd.4 = Input Config Portd.5 = Input Config Portb.3 = Output Dim Togbit As Byte , Command As Byte , Adress As Byte S1 Alias Portd.2 S2 Alias Portd.3 S3 Alias Portd.4 S4 Alias...
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...
A może by tak: Config Portc = Input
... 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...
Cóż, podpowiem jeszcze raz: 1. Sprawdź w necie jak odczytać stan przycisku ---- EDIT: w necie też piszą różnorakie bzdury o tym zatem może napiszę jak być powinno: Zwykle przyciski podłączamy tak, aby zwierały pin do masy. Aby odczytać stan danego pinu musimy: 1. skonfigurować go jako wejście instrukcją (np. - istnieje wiele odmian konfiguracji, ale...
config portd = output jeśli wyjście config portd = input jeśli wejście
A czy tutaj wzorując się na twoim przykładzie dobrze jest? config porta=input config porta=255 if porta=&b00111100 then porta=&b11000000 end if
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...
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 wiem czy będziesz mógł ustawić Timeout bo jest od wersji 2076. Najwyżej zakomentuj. Reszta powinna działać. Poczytaj o "Config Serialin" i "Ischarwaiting" Tak dokładniej to Input czeka na Enter albo na to co ustawimy żeby czekał (Config Input) Jak Enter nie nadchodzi z powodu jakiegoś błędu to przydaje się Timeout. Najczesciej odbieram dane po jednym...
Witam. Można tak: $regfile = "attiny13.dat" $crystal = 1200000 Config Portb.3 = Output Config Pinb.4 = Input set pinb.4 reset portb.3 do if pinb.4=0 then do Set PORTB.3 Wait 1 Reset PORTB.3 Wait 1 Loop end if Loop W pętli odczytujesz stan przycisku i jak będzie niski zacznie migać.
Konfiguracja całego portu B jako wyjście lub wejście: Config Portb = Output ' cały port B jako wyjście Config Portb = Input ' cały port B jako wejście Lub to samo na każdym pinie osobno: Config Pinb.0 = Output ' pin PB0 portu B wyjściem Config Pinb.1 = Output Config Pinb.2 = Output Config Pinb.3 = Output a komenda: pinb.0 = 1 'wysoki stan logiczny pinu...
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...
Zmieniłem program na ATmega8 ( bo ATmega16 nie posiadam ) [syntax=basic4gl] '$regfile = "m16def.dat" $regfile = "m8def.DAT" $crystal = 8000000 Config Pind.7 = Input Config Pinc.0 = Output Set Portc.0 Set Portd.7 Do If Pind.7 = 0 Then Portc.0 = 0 Else Portc.0 = 1 End If Loop End [/syntax] wgrałem, program działa dobrze. Bascom DEMO 2.0.7.1
_-kod-_ w bascomie avr $sim $regfile = "ATtiny13.dat" $crystal = 4000000 Dim Licz As Iram Byte Config Portb.4 = Input Config Portb.3 = Input Config Portb.1 = Output Set Portb.4 Set Portb.3 Do If Pinb.4 = 0 Then Waitms 25 If Pinb.4 = 0 Then Incr Licz End If End If If Licz = 30 Then Do Set Portb.1 nop Waitms 20 Loop Until Pinb.3 = 0 Licz = 0...
Witam. 1./ Jeżeli definiujemy piny jako wejście najlepiej używać instrukcji config pinb.0=input ' przycisk pierwszy config pinb.1=input ' przycisk drugi config portd.0=input ' pin sterujący diodą LED 2./ Podłączenie przycisków do plusa zasilanie tak jak w tym kursie jest złe. przyciski powinny być podłączone do masy. Po prostu przycisk po wcisnięciu...
a po co ci go odfiltrowywać, skoro to chodzi o to, że dane przysyła do ciebie twój telefon i na zakończenie linii wystawia CRLF to zainteresuj się poleceniem Config Input będziesz mógł je sobie ustawić tak aby reagowało na CRLF a nie tylko CR i kłopot z głowy - trza tylko czytać helpa do Bascoma ;) W opisie Config Input znajdziesz wszystko czego ci...
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 '---------------------------------------...
No fakt bascom 8051 jest do tych procesorów dzięki za podpowiedz ale jeszcze jeden mam problem ponieważ jestem zaczynającym dopiero.Podpowie mi ktoś jak napisać coś takiego by kompilator błędami nie sypał dla AT89C51 a więc: config P1.0 = input config P2.0 = output
Witam. Mam problem z uruchomieniem Proszę o pomoc co mam dalej robić . Czy problem jest z programem czy z schematem? Problem jest w dalszym ciągu z programem... Widzę że naniosłeś poprawki w programie "hurtem" zamiast analizowac każdą linię konfiguracji pojedynczo(!)... Ta uwaga z poprzedniego postu dotyczyła tylko konfiguracji wejśc Wyjścia , zarówno...
Są dwie metody tworzenia urządzenia. Jezeli to jest tak prosty schemat jak Twój , zaprojektuj płytkę na gotowo z wszystkimi mozliwymi dodatkami a program będziesz zapisywał sukcesywnie w miarę jak będziesz ulepszał kod programu . Taki układ testowy na gotowo. Druga metoda polega na budowie urządzenia testowego na jakiejś płycie testowej na której mozesz...
Powinno działać tak jak chcesz: Est Alias Pind.4 Dim Zmienna As Byte , Licznik As Byte Cursor Off Config Portd.5 = Input Config Portd.6 = Input Config Portd.7 = Input Config Portb.0 = Input Config Portd.4 = Input Portd.5 = 1 Portd.6 = 1 Portd.7 = 1 Portb.0 = 1 Portd.4 = 1 Cls Do Bitwait Est , Set Zmienna.0 = Pinb.0 Zmienna.1 = Pind.7 Zmienna.2 = Pind.6...
napisz config pind.1 = input config pind.0 = input do debounce pind.0,0,klawisz1,sub debounce pind.1,0,klawisz2,sub loop klawisz1: jakas akcja1 /np set pin.c=1/ return klawisz2: jakas akcja2 /np set pin.c=0/ return A zasilanie i mase musisz podpiąć też do tych 2 pinów co pisałeś. Tylko podłącz tak jak jest w programia albo zmień porty Aha mogą...
W liniach [syntax=basic4gl] Config Pina.0 = Input Config Pina.1 = Input Config Pina.4 = Input Config Pina.5 = Input Config Pinb.3 = Output [/syntax] zrób tak: [syntax=basic4gl] Config Porta.0 = Input Config Porta.1 = Input Config Porta.4 = Input Config Porta.5 = Input Config Portb.3 = Output [/syntax] Do wyprowadzenia Aref ATmegi dołącz kondensator...
To może na początek wypadałoby zdefiniować odpowiednie piny jako wejście lub przynajmniej podciągnąć rezystory :). [syntax=basic4gl]Config Pind.6 = Input ' wejście Set Portd.6 ' podciągnij rezystor Config Pind.7 = Input Set Portd.7[/syntax]
Jak to mówią diabeł tkwi w szczegółach... $crystal = 8000000 $regfile = "m16def.dat" Config Portb = Output Config Pina.1 = Input Do If Pina.1 = 1 Then Reset Portb.6 End If If Pina.1 = 0 Then Set Portb.6 End If Loop End
[syntax=vbnet] $regfile = "m16adef.dat" 'mikrokontroler $crystal = 8000000 'częstotliwości oscylatora taktującego mikrokontroler Poziom Alias Pina.7 : Config Poziom = Input : Set Poziom 'wew podciągnięcie do VCC Obudowa Alias Pinc.5 : Config Obudowa = Input : Set Obudowa 'wew podciągnięcie do VCC Led_p Alias Portc.4 : Config Led_p = Output 'po starcie...
Nie co Ci pomogę , poprawiłem deklaracje portów oraz cześć programu ,wystarczy napisac wlasne procedury ;) Config Portb.0 = Output 'Konfiguracja portów Config Portb.1 = Output Config Portb.2 = Output Config Pinb.3 = Input Config Pinb.4 = Input Wzmacniacz Alias Portb.0 Mixery Alias Portb.1 Swiatlo Alias Portb.2 Declare Sub Wlacz Declare Sub Wylacz Sw_on...
zmień sposób wykrywania stanu z wysokiego na niski , podciągając piny portu przyciski do masy .......... Config Pind.0 = Input Config Pind.1 = Input Portd = &B00000011 If Pind.0 = 0 Then Gosub Menu1 End if ...........
Zasymulowałem Twoje środowisko i wprowadziłem kilka poprawek. Działa zgodnie z założeniami. Debouncingu nie dodawałem, choć przydałby się. [syntax=vbnet]$regfile = "m8def.dat" $crystal = 1000000 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portb.2 , Rs = Portb.1 Config Lcd = 20 * 4 Cls Cursor Off noblink...
$regfile = "m8def.dat" $crystal = 8000000 Config Pind.0 = Output Portd.0 = 0 Config Pind.3 = Input Set Portd.3 Config Int1 = Low Level On Int1 Ir Enable Interrupts Enable Int1 Do Loop End Ir: Disable Int1 Toggle Portd.0 Enable Int1 Return Jeszcze najlepiej jakies opoznienie dodac. Zapraszam do czytania podstaw o odbiornikach i nadajnikach...
.. , ale po niej w buforze zostaje znak 10, następnego wiersza, który pobieram za pomocą inkey :D Teraz jest już wszystko OK No ... nie za bardzo jest OK. Czyżby kolega nie wiedział o istnieniu CONFIG INPUT :?: Piotrek
Sprawdziłem ten kod przed chwilą i jeśli na PD6 jest przycisk.. to jego kolejne naciskanie włącza lub wyłacza naprzemiennie diode LED na pinie PORTD.7 100% tested [syntax=vbnet]$regfile = "m644pdef.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 Pcmsk3 = &B01000000 Enable Pcint3 : On Pcint3 Pcint3_isr Config Portd.6 = Input : Set...
$crystal = 8000000 Config Lcd = 16 * 1a Config Int0 = Falling Config Timer0 = Timer , Prescale = 256 Config Watchdog = 2048 Config Pind.0 = Input Config Pind.1 = Input Config Pind.3 = Output Config Pind.4 = Output Config Pind.5 = Output Dim Regulation_counter As Byte Dim On_off_flag As Bit Dim Regulation_type_flag As Byte Dim Int_counter As Byte Dim...
Proponuję przy aliasach przycisków wpisać nie port a pin, bo to są wejścia. No i faktycznie aby stany na wejściach nie szalały podciągnąć wejścia do plusa. Moze być np. tak: regfile = "m8def.dat" $crystal = 1000000 Config Portd = Output Portd = &B00000000 Config Pinb.0 = Input Config Pinb.1 = Input Led1 Alias Portd.1 Led2 Alias Portd.2 S1...
Takie "na kolanie" ale powinno działać [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Pinb.3 = Input : Set Portb.3 : S1 Alias Pinb.3 Config Pinb.2 = Input : Set Portb.2 : S2 Alias Pinb.2 Config Pinb.1 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 64 Dim I As Byte I =...
ok, tylko najpierw uporam się z przyciskami i nastawami :P Dodano po 28 $regfile = "m8def.dat" $crystal = 8000000 Config Portd = Output 'podłaczony wyświetlacz 'Config Pinb.0 = Output ' anoda 1 źle! nazwa pin służy do odczytu wartości 'Config Pinb.1 = Output 'anoda 2 źle! aby ustawić należy się posłużyć nazwą Portb.x 'Config Pinb.2 = Input...
Działa bez problemu : Config Porta = Input Config Portb = Output Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.5 , Rs = Portb.6 Config Lcd = 20 * 4 Deflcdchar 0 , 31 , 31 , 31 , 31 , 31 , 31 , 31 , 31 Deflcdchar 1 , 31 , 17 , 17 , 17 , 17 , 17 , 17 , 31 Do Locate 4 , 3 If Pina.0 = 0 Then Lcd Chr(0);...
Witam. 1./ konfiguracja Timera1 musi być w jednej linii jako całość np. Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect Po za tym masz nie pozamykane prawidłowo warunki IF. Poniżej przykład całości: $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.4 = Input Config Pinb.2 = Input Config Pinb.1...
zrob cos takiego: config pind.7= input config pind.6= input set portd.7 set portd.6 i napisz jaki efekt. albo po prostu zastap te twoje Set Pind.6 Set Pind.7 tym set portd.6 set portd.7 (jak teraz nie bedzie dzialac to zmien jezyk, bo bascom denerwuje :P )
Jeśli założyć, że przycisk podpięty do PORTD.1 i jeśli założyć, że dobrze zrozumiałem Twoją idee programu, bo namieszałeś okropnie, to... $regfile = "m8def.dat" $crystal = 1000000 Led Alias Portb.0 Config Pinb.0 = Output config Pinb.0 = input : Portb.0=1 Do if Pinb.0= 0 then Set Led Waitms 400 Reset Led Waitms 700 else Set Led Waitms 1000 Reset Led...
Raczej: CONFIG PORTx = state CONFIG PINx.y = state gdzie state to INPUT lub OUTPUT Pa Alias Portd.2 Pb Alias Portd.3 Pc Alias Portd.4 Pd Alias Portd.5 popraw na Pa Alias Pind.2 Pb Alias Pind.3 Pc Alias Pind.4 Pd Alias Pind.5
Napisałem taki program i sprawdziłem go z ATTiny13 (nie mam ATTiny25): $regfile = "ATtiny13.DAT" $crystal = 1000000 Config Pinb.0 = Input Portb.0 = 1 Przycisk Alias Pinb.0 Config Pinb.1 = Output Portb.1 = 1 Led Alias Portb.1 Do If Przycisk = 0 Then Waitms 100 Bitwait Przycisk , set Gosub Praca End If Loop End Praca: Led = 0 Wait 1 Led...
Config Portd.1 = Input Tu też jest błąd. P.S. Zbeegin, w helpie masz ubity link do config pin:)
Config PINx.y = Input/Output to poprawna składnia konfiguracji poszczególnych pinów w bascomie a więc: Config Pinb.1 = Input Config Pinb.0 = Input Config Pinb.2 = Output Config Portd = Output ' cały port jako wyjście Config Portd = Input ' cały port jako wejście ...
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...
Po co się męczyć to tylko kilka linijek w bascomie: Kod archaiczny dla słabeuszy: $regfile = "m128def.dat" $crystal = 8000000 Config Spi = Soft , Din = Pinf.2 , Dout = Portf.0 , Ss = None , Clock = Portf.6 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2 Config Pinf.6...
Witam. Obecnie zaczynam swoją zabawę z atmegami, dlatego też chciałbym się zapytać czy dobrze rozplanowałem użycie pinów. Mam do zrobienia pilot który ma wysyłać sygnał o określonym przebiegu częstotliwości, za pomocą diody IR. Obecnie chciałbym to wykonać na atmedze 8, gdyż potrzebuję 15 przycisków i jednego kanału nadawczego, tak wiec muszę mieć 16...
Skoro stosujesz bufor i czytasz całe linijki to nie ma sensu czytać znak po znaku. Czytaj całą linijkę za pomocą Input, i nie bój się, że program Ci zawiśnie, bo wykorzystując Bytematch=13 już wiesz że masz linijkę w buforze więc czytaj linijkę dopiero wtedy kiedy ona tam jest. A co do pytania to tak. Pierwsza linijka to dane o długości PDU, a druga...
Kod programu: '$tiny $regfile = "attiny13.dat" 'plik z definicjami procesora attiny13 $crystal = 1000000 'częstotliwość taktowania procka 1Mhz Config Portb.0 = Input 'Wejście REM Config Portb.4 = Output 'Przekaźnik GŁOŚNIK Config Portb.3 = Output 'Przekaźnik REM Set Portb.0 Reset Portb.3 Reset Portb.4 Dim Znacznik As Iram Byte Znacznik = 1...
Mówisz masz na timerze. $regfile = "m16def.dat" $crystal = 1000000 $hwstack = 32 $swstack = 8 $framesize = 16 Config Timer1 = Timer , Prescale = 1024 Enable Interrupts Enable Timer1 Start Timer1 On Timer1 Odmierz_czas Const T = 6942 Config Portb.1 = Output : Portb.1 = 1 : Led Alias Portb.1 Config Portb.2 = Input : Portb.2 = 1 :...
Rozumiem że te porty ustawiasz jako wejścia (czyli DDRB = 0XFF), Drobna pomyłka bo powinno być DDRB = 0x00, czyli DDRB = 0b00000000. Niby drobiazg, ale początkującemu może namieszać. W procesorach AVR każda końcówka I/O powiązana jest z trzema rejestrami, które to decydują o przeznaczeniu tej końcówki. Te rejestry to: DDR - rejestr kierunku, ustala...
1.Konfiguruje się PORT 2.Podciąganie do plusa włącza się w PORT 3.Przyciski czyta się z PIN Sterować można PORT`em a sprawdza się PIN [syntax=basic4gl] Config PORT.x = Input 'nie podłaczamy driverow - port bedzie wejsciem PORT.x = 1 'sterujemy portem, podłączamy wewnętrzny rezystor Przycisk Alias PIN.x ' PIN PIN PIN PIN! [/syntax]
po kolei... po pierwsze jak już ktoś też wspominał wyrzuć te rezystory 47R na liniach D0-D4 oraz RS i EN po drugie odłącz to podświetlanie od tego pinu WYS (zrób przez tranzystor - też ktoś już podpowiedział tranzystor zwykły npn) po trzecie ja na twoim miejcu tak bym konfigurował porty: Config PORTA = &B01111000 zamiast Ddra = &B01111000 albo jeszcze...
1) jeśli używasz przycisków to zawsze podłącz go tak aby przyciśnięcie zwierało nóżkę portu do masy czyli do -. To naprawdę ułatwia sprawę i zawsze działa 2) dobra praktyka - przyciski, jumpery itp podłączaj do pinu procesora przez rezystor np 180 omów. Chodzi o to że kiedyś możesz się pomylić, ustawić pin jako wyjście, dać na nim 1 czyli napięcie +...
Hej! Powinno być tak: Config Pinc.2 = Output Config Pinb.0 = Input Do If Pinb.0 = 0 Then Portc.2 = 0 If Pinb.0 = 1 Then Portc.2 = 1 Loop End Dodano po 6 witam wlasnie jesli chodzi o informowanie kompilatora o pliku dyrektyw wykorzystanego mikrokontrolera to jesli w bascomie nie ma pocka np 89c2051 to co nalezy zrobic wpisac $regfile="2051def.dat" ??...
$regfile = "attiny2313.dat" $crystal = 4000000 Config Portb = Input Portb.0 = 1 Config Portd = Output Portd = &B11111111 Dim Temp As Byte Temp = 1 Do Temp = Temp * 2 If Temp > 80 Then Temp = 1 Portd = Temp Toggle Portd If Pinb.0 = 0 Then Bitwait Pinb.0 , Set End If Waitms 500 Loop End Dodałem znaczniki
Nie napisałeś , że ten pilot nie pracuje w kodzie RC5 , ale też nie napisałeś , że w tym kodzie pracuje :wink: Inna wersja Twojego programu: $regfile = "m32def.dat" $crystal = 8000000 '11059200 Dim Adress As Byte , Command As Byte , X As Byte , Tmpcode As Word Dim Odebrano As Bit , Flaga As Byte Config Pind.2 = Input : Portd.2 = 1 Config...
Witam ! Problem 1: $regfile = "attiny2313.dat" Config Lcdpin = Pin , Db7 = Pb.2 , Db6 = Pb.3 , Db5 = Pb.4 , Db4 = Pb.5 , E = Pb.6 , Rs = Pb.7 Config Lcd = 16 * 2 $crystal = 10000000 Cursor Off Cls Config Pinb.1 = Input Portb.1 = 1 Went Alias Pinb.1 Do If Went = 0 Then Locate 1 , 1 Lcd "Wentylator Wl. " Else Locate 1 , 1 Lcd "Wentylator...
Zajętość flash`a z 46% na 38% :P Tak bym się nie bawił, ale w Tiny13 to ma znaczenie bo można coś jeszcze upchnąć ahahaha :D [syntax=vbnet]$regfile = "attiny13.dat" $crystal = 9600000 $hwstack=20 $swstack = 8 $framesize = 16 'Declare Sub Zmiana Config Pinb.2 = Input Set Portb.2 Config Portb. 4 = Output Config Servos = 1 , Servo1 = Portb.4 , Reload =...
Diodę gaś tak jak ją zapalasz. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 1000000 Config Portb.0 = Input Config Portb.1 = Input Config Portd.5 = Output Przycisk1 Alias Pinb.0 Dioda Alias Portd.5 Przycisk2 Alias Pinb.1 PORTB.0 = 1' to jest podciąganie do Vdd - działaj w tym celu na rejestrze 'PORTX lub PORTX.Y PORTB.1 = 1 Reset Dioda Do If Przycisk1...
config input bascom input input bascom
prędkość nagrywania magnetofon szpulowy dobry wzmacniacz 2x80w tranzystor wiertarki
elektrotechnika kolos elektrotechnika kolos
Czy spadek napięcia do 120V uszkodzi termostat bojlera? Saunier Duval: Błędy 5.30 i 5.10, ograniczenie temperatury