do sprawdzania stanu portu służy rejestr PIN
Zły rejestr sprawdzasz, zamiast If Portb.5 = 0 Then powinno być If Pinb.5 = 0 Then
ok - to ja powiem tak sprawdź w biosie jaki masz tryb ustawiony a najłatwiej to wejdż na www.lpt.strona.pl i sciągnij LPT test - malutki programik do sprawdzania portu Jak port jest ustawiony w bidirectional (dwukierunkowy) to programator nie pojdzie - za pomocą tego programu mozesz przestawić do directional
Jeśli DS'y masz podłączone 2 przewodowo to między pomiarami musisz odczekać około sekundy (jak sprawdzałem je w każdej pętli programu to wychodziły mi różne śmieszne rzeczy) , poza tym czas konwersji to około 750ms a ty masz chyba 800 ale us a nie ms (chyba że us to nie są mikrosekundy) ja mam waitms 750. Przy podłączeniu 3 przewodowym mogę sprawdzać...
albo jakbyś mógł zapodać kod tego twojego programu:) może coś pkombinuje chociaż to chyba bascom tak??
Co zrealizować? Programowe zliczanie impulsów? Ustawiasz timer tak, żeby generował przerwanie co 100 us, sprawdzasz stan portu, robisz xor z poprzednim stanem i testujesz, które bity są ustawione - ustawiony, znaczy zaszła zmiana stanu, czyli inkrementujesz odpowiednią zmienną.
LED5W sprawdziłem twój pomysł, pozmieniałem tylko porty i otrzymuje różne liczby, bez zasady. Czyli wg. Ciebie napisałem generator liczb losowych? :P Zawsze jest jakaś zasada. ;) Kod jest poprawny. Jak się zachowuje układ? Czy przycisk=0, gdy żaden przycisk nie jest naciśnięty? Czy sprawdzasz zmienną tak jak poprzednio (print)? Zmienna może być odczytana...
Sprawdzałem. I w bascomie ustawiłem ten sam. Próbowałem też na innych portach ale żadnych rezultatów.
Instrukcja Pinx.y służy do odczytu stanu portu natomiast Portx.y do ustawienia stanu na porcie. Jeśli sprawdzasz, czy został naciśnięty przycisk to za pomocą instrukcji Pinx.y (wcześniej musisz ustawić Config Pinx.y=Input). Poza tym jeśli chcesz włączać/wyłączać podświetlenie LCD to lepiej zrób to przez jakiś tranzystor, a nie bezpośrednio z portu Atmegi,...
1. Nie wykluczyles drgan na przycisku s1 2. Zebys wykonac to co chcesz zrobic bedzie ci potrzebne przerwanie. 3. Dziwie sie, ze sprawnie dziala ci ten kod (chyba, ze specjalnie robisz sprawdzanie przycisku w petli, zeby nie bylo przerwania i wykonal kod do konca, a pozniej sprawdzil czy przycisk jest wcisniety. W tym przypadku przepraszam)
Być może bascom'owe instrukcje obsługi lcd nie patrzą na kierunek w jakim działa port, tzn. w w funkcja "Config Lcdpin" ustawia wybrane porty jako wyjścia a pozostałe instrukcje obsługi lcd nie sprawdzają czy to się nie zmieniło. Spróbuj przed instrukcjami od lcd czyli przed obydwoma "cls" ręcznie przestawić wyprowadzenia uC jako wyjścia. Druga sprawa...
do sprawdzania stanu portu używa się instrukcji pinx.y w Twoim przypadku pina.0
Witam. Nie sprawdzałem tego, ale proponowałbym coś takiego: W pętli głównej programu Main: Do If K1 = 0 Then Call Generacja End If ....... Loop End W podprogramie Sub Generacja If K1 = 0 Then Set ...jakis port Waitms 50 Reset ... jakis port End If Do If K1 = 0 Then Loop End If If K1 = 1 Then Set ... jakis port Waitms 50 Reset ... jakis port Exit...
Może lepiej napisać procedurę która bedzi co pewien czas sprawdzać port do którego masz podłączone fototranzystor.
Według dokumentacji Sprawdzasz sobie co jakiś czas 1wreset If Err = 0 Then 'czy jest przyłożony układ 1wwrite &H33 'lub &H0F ds(1) = 1wread(8) If ds(8) = Crc8(ds(1), 7) Then 'układ poprawnie podpięty i CRC Ok 'tu sobie sprawdzasz, czy numer jest zarejestrowany, lub dopisujesz go do listy EndIf EndIf To zadziała...
Wpisz do $crystal taka wartosc jaka masz. Jezeli masz fusy na wew generator to wpisz 1MHz. Set Pind.1 Set Pinc.1 Set Pinb.5 BZDURA! Ile można powtarzać? Rejestr PORTX służy do wystawiania 1 lub 0 na port. Rejestr PINX służy do sprawdzania stanu danej końcówki portu. Rejestr DDRX służy do ustalenia czy port ma być wyjściem czy wejściem. Czyli zamiast...
Raczej i z STK-200 będziesz potrzebował to zainstalować. Sprawdzałeś w BIOS`ie komputera czy masz LPT w trybie ECP + EPP czy jakoś tak. SPP jest chyba domyślnie i lepiej przełączyć na Enchanced. Do tego widziałeś te pliki które są w moim folderze Avrdude. Jest na przykład "Status_giveio" albo "Remove_giveio" Z tym Giveio o ile pamietam to właśnie chodziło...
Proponuję następujące zmiany: Dla zegara 8MHz Config Timer0 = Timer , Prescale = 8 wtedy jeden cykl = 1us - łatwo się liczy. Następnie w przerwaniu: Przerwanie: Timer0 = Timer0 + 213 If Flaga = 1 Then Toggle Portc.7 Else Portc.7 = 0 End If Return Dalej w podprogramie "Send_transmit" zamiast: Portc.7 = 1 napisz: Flaga = 1 a zamiast: Portc.7 = 0 napisz:...
1 - doprowadź sygnały z czujników do trzech wejść jednego z portów 2- każdy z tych sygnałów doprowadź do wejścia przerwania INT0 ( odseparowane diodami lub przez transoptory np. CNY-17 ) Każde pojawienie się impulsu na jednym z wejść wyzwoli przerwanie INT0 W obsłudze przerwania sprawdzasz stan wejść i porównujesz z poprzednim stanem W zależności od...
1. Czy w kodzie do tej karty, aby dodać przyciski to wystarczy podać który pin jest wejściem i co program ma zrobić po wykryciu sygnału czy jeszcze coś trzeba zmienić ? 1. Ustawić piny jako wejścia. 2. Sprawdzać ich stan w głównej pętli 3. Przemyśleć sprawę wyeliminowania drgania styków 4. Zmienić stan portów sterujących. 2. Czy tak mają wyglądać wejścia...
A zobacz w BASCOM czy działa jako Sample Electronics Programer Usuń połączenie między nogą 9 a 12 LPT. Zobacz jak masz usrawiony PONY.. I/O port setup przestaw na LPT i Avr ISP I/O jeśli dobrze pamiętam musisz sprawdzić. Ja zawsze sprawdzam komunikację procek-program przez odczyt "fus bit". http://obrazki.elektroda.net/87_12636588... http://obrazki.elektroda.net/76_12636589...
Witam, Nie wiem za bardzo co można sprawdzić w tym listingu, bo nie wiadomo co ma do końca robić, ale się nie kompiluje z kilku powodów: -niezadeklarowana zmienna "T1" -zmiennej typu String "H" nie można zwiększać ani zmniejszać jak zwykłej zmiennej, także nie można jej porównywać ze zmienną liczbową -polecenie "Lowerline" nie jest równoznaczne z jednoczesnym...
1. Jest poprawny, ale nie do końca, bo nie ma bufora(74hc244 - chroni przed zepsuciem portu lpt) i może uszkodzić LPT, pinów nie sprawdzałem. Zrób ten programator co jest w pierwszym linku w moim poscie on jest sprawdzony i na pewno dobrze działa. 2. Poczytaj o fuse bit'ach w atmegach, żeby włączyć zewnętrzny oscylator(kwarc+kondensatory) trzeba odpowiednio...
Bez problemu. Schemat dokładnie taki jak wyżej i niżej :) . 1. otwierasz porty w obu uC na jednakową prędkość itd. 2. sprawdzasz czy jest komunikacja na tych ustawieniach 3. proce pracują :) 4. proce (proc) zbierają dane itd. itp. :) - no ogólnie robią co do nich należy :) 5. uC1 chce zmienić rodzaj transmisji - uC1 wysyła znacznik - uC2 otrzymuje znacznik...
, 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...
Porty w attiny czy szeregowy? Jeśli chodi o szeregowy to tak bo sprawdzałem. A w attiny to chyba można konfigurować jak się chce.
Nie pisałem nic na Rs485 ale mam kilka uwag do programu. Zacznij najpierw od poczytania w helpie bascoma, co robi dokładnie instrukcja Inkey() a dowiesz się że odbiera 1 bajt (jeden znak) z bufora. Sprawdzanie więc warunku B = "zaswiec" nie ma najmniejszego sensu. Nie wiem też po co przełączasz tyle razy układ w nadajnik <>odbiornik: ...... Reset...
1. W zależności od procka, programowanej pamięci (FLASH, EEPROM) i innych ustawień (Fuse, Lock Bity), sprawdzania poprawności powinieneś wprowadzić odpowiedni ciąg. Zazwyczaj programuje się flasha, więc -U flash:w:{FILE} odnosi się do zapisywanego hex'a. Polecam zapoznanie się z dokumentacją do samego avrdude. Zgromadzono tam listę zdefiniowanych poleceń,...
Jeślii masz wolny pin to możesz sobie na nim otworzyć port COM. Taki programik wciągający cztery bajty po serialu zajmuje w Bascom 288 B a to pewnie dlatego że jeszcze musiał się zająć stosem i tablica przerwań co Ty juz pewnie tez masz zrobione więc to by odpadło. Zapisujesz to sobie do Eeproma przy starcie i gotowe. [syntax=vbnet]$regfile = "attiny13A.dat"...
Mam mały problem z płytką ZL1AVR. Zamontowałem do niej wyswietlacz na sterowniku HD44780. Dzięki płytce mogę go podłączyć bezpośrednio (bez dodatkowych kabelków) w trybie 4 bitowym. Tu pojawia się problem. Ustawiłem w Bascomie porty tak jak trzeba (trzy razy sprawdzałem:) ale mimo to nie ma obrazu. Diody które fabrycznie są podłączone do tego portu...
Problem rozwiązany :) Któraś z nóżek PCF'a nie miala dobrego styku. Przykladając miernik dociskałem układ i przejścia były ok dlatego nie zwróciłem na to uwagi. Przypadkiem dociskając palcem przy sprawdzaniu temperatury :D układ odpowiedział :) DZIĘKI ZA ZAINTERESOWANIE TEMATEM :)
Jeśli chcesz potencjometrem regulowac prędkość, to łączysz jego opór pomiędzy szyny zasilania mikrokontrolera, a suwak dajesz pod przetwornik ADC. I przykładowo program: Config Adc = Single, Prescaler = Auto, Reference = Avcc Start Adc i w programie co jakiś czas sprawdzasz sobie: opoznienie = getadc(0) i zamiast waitms 500, dajesz waitms opoznienie...
Czyli ty nie chcesz skanować klawiatury a zrobić sterownik tej klawiatury ze jak wciśniesz cos tam to się na LCD pojawi jakiś text tak ?? Jeśli tak to sprawa jest banalna. Masz załóżmy KB 4x4 PortX.0 do portX.3 wyjścia PortX .4 do PortX.7 wejścia (rejestry pin). I np. dim klawisz as byte set portX.0 reset portX.1 reset portX.2 reset portX.3 If PinX.4=1...
...na tych przerwaniach to albo ie umię zrobić albo nida sie tego zrobić... Polecam notę aplikacyjną AN-115 na stronie firmowej Bascoma http://www.mcselec.com/an_115.htm. Opisane jest dokładnie to czego szukasz. Tak jak pisałem wcześniej: możesz zrobić to samo bez przerwań - sprawdzając stan portu w pętli. Jak się uprzesz, to można także czterokrotnie...
Super zasilaczyk, a że od przybytku głowa nie boli, to w wolnej chwili może go popełnię. Sprawdzałem ten wsad (kompilowałem źródło) i niestety bascom wywala błąd niezgodności zmiennych przy konfiguracji portu d (linie 116 i 117). Nie analizowałem programu, ale to jakiś banał. Bardzo podoba mi się koncepcja 4 pamięci i zwarta budowa. Jak bym znał czeski,...
Źle zrozumiałeś istotę działania timerów i taki program nie będzie działał poprawnie . Układ zegarowy traktuj tak jak "budzik" który dzwoni a ty wstajesz i coś robisz . W przerwaniu możesz ustawić jakiś znacznik a jak będzie większy od ilości kroków wyzerować go . W programie gł sprawdzasz znacznik i ustawiasz porty do jego wartości .
Nie wiem jak to wygląda w przypadku tego procka,ja używam avr i tam nie można sprawdzać stanu portu tylko pinu aby wykryć naciśnięcie przycisku,trzeba go wcześniej zadeklarować jako wejściowy,nie używam też polskich znaków w pisaniu
A wg mnie lepiej sterowanie pwm( jeśli dobrze zrozumiałem bo być może to sterownie diodami to tylko włącz i wyłącz to moja porada nie spełni oczekiwań) dać na przerwaniu np od timer0 a przyciski sprawdzać w pętli w ten sposób sprawdzanie przycisku nie wpłynie na pwm , minusem może być "mułowate" trochę sprawdzanie stanu przycisku ale wszystko zależy...
Napisałem tak jak mówiłeś i bez zmian ? Zastanawia mnie tylko bo w symulacji przy czerwonych diodach jest tylko PB i PD a przy zielonych IB ID (co to jest IB ID)? Dodano po 12 już ustawiłem są wdzystkie porty tylko mam jeszcze jednoi pytanko PA PB PC PD -diody czerwone w symulacji pokazują stan portów IA IB IC ID -diody zielone niewiem co one pokazuja...
AVR to nie bramkowy układ programowalny. Tak można zrobić jedynie gdybyś bez przerwy sprawdzał te wejścia (lub miał ustawione przerwanie) i po ich zmianie ustawiał inną wartość na wyjściach w programie. Z automatu tego nie zrobisz.
Pomijając fakt, że sam pomysł jest dziwny ... to powinno to działać tak jak planujesz. Kierunek portu (wartość rejestru ddr) możesz zmienić w dowolnym miejscu programu, nie tylko w deklaracji na początku. Czyli na początku programu deklarujesz pinb.1 jako wejście, zerujesz pinb.1 (reset). W programie sprawdzasz co jakis czas czy pinb.1 jest ustawiony...
Racja :) i to pewnie to, bo w innych działających kodach podpisywałem wyjścia jako PORT, nie wiem czemu tutaj zmieniłem, dzięki za pomoc jutro będe sprawdzał czy działa.
A sprawdzałeś na innym procku może jest zablokowany.Ustawiłeś dobry port LPT i sprawdz jeszcze raz połączenia. MISO, MOSI.......
Czy w Bascomie i Atmedze8 lub 16 jest możliwy jednoczesny odczyt stanu z kilku (9) portów? W moim urządzeniu chodzi o to że jeżeli przykładowo na głównym czujniku pojawi się stan wysoki i na którymś z 9 czujników również urządzenie ma się zatrzymać (poprzez reset portu pod który podłączę przekaźnik). Mógłbym zrobić pętlę i napisać np "IF pind.1=1 and...
Mozesz użyć jakieś dodatkowej zmiennej, który będziesz zwiększał co jedno przejście przez program (albo jakoś inaczej), a potem sprawdzał czy osiągnął zadaną wartość. Oczywiście trzeba ją też kasować ;) Można też do tego celu zastosować przerwania, ale po co je marnować
Może tak może nie, ale przecież zczytywanie pinów, także zajmuje określoną ilość cykli, więc może da się je uwzględnić podczas generowania przebiegu, Np sprawdzać te piny zaraz po ustawieniu portów wyjściowych generatora, a odświeżać rejestry nowymi wartościami częstotliwości w następnym cyklu programu ddsscore?
Witam! Czy wie ktoś (może próbował) czy można podłączyć do procesora dwie klawiatury 4x4. Na przykład jedną do portu A a druga do portu B, no i czy obie będą działać (naciśnięcie tego samego klawisza na jednej i drugiej będzie zwracać tą samą wartość, ale to można programowo zmienić)? Tak sobie pomyślałem że zamiast kombinować z przemiataniem, sprawdzaniem...
Bez problemu, ale chyba program wie jaki jest dzień i nie musi tego sprawdzać więc tak powinno wystarczyć [syntax=vbnet]For N = 1 To 5 If Alarm_status(n) = 1 Then ' gdy alarm 1 wlaczony If Czas_minuty = Alarm_minuty(n) Then If Alarm(n).d_tygodnia = 1 Then Alarm_ustaw = 1 End If End If Next N[/syntax] Dodatkowo, mała ciekawostka. Aliasy nie są tylko...
Dobrze, czy da się to zrobić lepiej/prościej? Da się prościej. Nie trzeba deklarować ani stałych, ani zmiennych przycisków. Jedynie skonfigurować jako wejście i podciągnąć do masy. Nie bardzo rozumiem co masz na myśli.. Mógłbyś jakoś inaczej to opisać? W tym przykładzie jest też przykład przycisków. Można również sprawdzać stany pinów w ten sposób....
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 Coś tutaj nie tak... Jeżeli...
Dopisze jeszcze coś na temat nieszczęsnego ATTiny13. W ogóle ATtiny13 i bascom to jest tragiczne połączenie. Jeśli program ma tylko migać diodami, to ok. Ale napisać coś bardziej złożonego, to niestety nie w bascomie. A tym bardziej jeśli użyjemy jakiejś bascomowej instrukcji do obsługi 1wire lub podbnej - od razu mamy połowe pamięci flash w plecy :/...
faktycznie, chyba mam walnięty lcd - kupie dzis nowe i uruchomie, powinno zadziałać sprawdzałem program kawałkami - przy obsłudze klawiatury robi przemiatanie portu - znaczy działa dzięki wszystkim za rady
Print F odwołuje sie do sprzetowego UARTA którego w Attiny 24 brak. Jesli chcesz coś printować to skonfiguruj USI( nie wiem czy jest w tym procku - nie sprawdzałem) albo otwórz software'owy port poprzez Open COM As #1 i potem Print #1 czyli printuj poprzez ten port.. albo usuń Print i się skompiluje ;)
AVR studio nie przeinstalowałem, plik STK500.exe jest niezmieniony, a ustawienia portu są na 100% dobre (bity danych, numer portu, parzystość, baudrate,...), bo sprawdzałem takie prozaiczne przyczyny zanim napisałem pytanie. Bez zmiany żadnych ustawień działa na 1.11.9.5, a na 1.11.9.8 przy tych samych ustawieniach już nie...
kol. MirekCz chodzi o to abyś zobrazował sobie pomiar przetwornika za pomocą diod Led , dokładniej nie całe słowo tylko 4 najstarsze bity na dowolnym porcie , osobiście polecam jednak LCD bo szybciej i prościej sprawdzisz faktyczny stan , czy sprawdzałeś układ z dodaniem opóźnienia ?
Witam wszystkich po dłuższej przerwie Trochę zmienię teraz temat, ale dotyczy on mojego projektu Płytkę już zlutowałem, zmontowałem, czekam jedynie na przesyłkę z mostkiem H, więc póki co o testach mogę zapomnieć. Napisałem program do obsługi robota w BASCOM-ie, ale wyskakuje mi błąd i nie wiem co jest nie tak Error : 61 Line : 152 Label not found 'Robot...
A ja sie doąłcze do tematy i mam pytanie dlaczego rejestry Pin a nie port ja sprawdzałem w swoim ukąłdnie post i działao tak samo jak na pin jaka jest róznica ??
Nie wiem nadal gdzie jest ten błąd. I mam jeszcze pytanie odnośnie schematu. Po podłączeniu modułu wykonawczego do uP wszystkie przekaźniki się załączają i nie dają się wyłączyć programowo. Są włączone niezależnie od stanu portu. Czy zrobiłem jakiś błąd na schemacie? Po odłączeniu wtyczki przekaźniki się wyłączają ale wystarczy dotknąć pinów wtyczki...
janbernat : próbowałem już w różnych konfiguracjach podłączyć diodę do nogi portB.1 zmieniając również konfigurację wszystkich portów B na input, ale w każdym wypadku było tak samo przy prawidłowej polaryzacji diody lekkie świecenie i to wszystko. (próbowałem również na innych portach - to samo), sprawdzałem również na innym procku - to samo. sp3ots...
np: do debounce radio,0,ruch loop ruch: kierunek = not kierunek if kierunek =1 then instrukcje w prawo else instrukcje w lewo endif nie wiem jakie masz to radio ale może można pokombinowac jeszcze coś z krótkim długim naciśnięciem przycisku w pilocie co do aliasa to nie ma on nic wspólnego z portem po prostu wpisując daną do portu ładujesz ją do rejestru...
Witam, mam problem, z którym męczę się już dłuższy czas i poza zasięgnięciem pomocy tutaj, nic innego nie przychodzi mi już do głowy... Mianowicie, do portu A w ATmega32 mam podłączony wyświetlacz 16*2 (zgodny z hd44780), zewnętrzny kwarc 16 MHz. Podłączenia LCD: db4 - portA.4 ... db7 - portA.7, RS - portA.2, E - portA.3. RW zwarte do masy, Vss - GND,...
Zrób sprawdzanie portów do których podpięte są przyciski w pętli głównej, albo w podprogramie obsługi przerwania Timera0 - po wyświetleniu cyferek na wyświetlaczach. Zawsze pozostaje jeszcze Timer2 :D, ale jak zapuścisz przerwania z 3 timerów i do tego jakieś zewnętrzne int to mogą być problemy...
Wykonałem programator do Bascom 8051 - płytka kupiona w AVT - częci osobno. Zlutowałem i nie chce działać. Bascom pisze, że programator not responding. Napięcia zasilajšce na układach sš bo sprawdzałem, kabel do komputera też wydaje się być ok, bo dawałem z komputera sygnały na poszczególne końcówki (D0-D7) portu LPT i na płytce też się pojawiały....
Zależy od tego jak dużo jest "śmieci" przy odbiorniku, jak szybko przebiega transmisja, jakim napięciem zasilany jest nadajnik. Przy 12V-14V można uzyskać 2-10m. Te moduły sprawdzają się lepiej jeśli kodujemy "słowa" przez dowolny port pin. coś mniej więcej jak kod morsa.
Po prostu zapisuj surowe dane. Niesformatowane. Zamiast: 0100010101010001010101000010100100010101... zapisuj: c*GÄ VF „÷“"Z 8 razy przyspieszy Ci się odczyt z karty i pozbędziesz się zbędnego konwertowania tego na postać binarną bo postać od razu będzie binarna. Acha. I ten sposób z załadowaniem większej ilości grafiki oczywiście...
Odbiornik ma limit do 9,6 kBaud więc to może być to, że jesteś na krawędzi. Sprawdzałeś błędy na mniejszej prędkości ? No i co z tą stopą błędów ? Marmur99 Sprawdzałem mniejszą prędkość 1200 Ale i tak nie jest to w 100% stabilne Ta procedurka w bascomie działa w ten sposuv iż Cały czas wysyła string o wartości portu +"0D" A odbiornik tylko słuch i...
Witam ! Output = wyjście input = wejście Pozdrawiam. Stefan To akurat wie chyba każdy. Chodzi o to że każesz autorowi ustawić port jako wyjście o potem sprawdzać stan na jego końcówkach za pomocą PINx.
Witam ! Pokazuję błąd ponieważ sprawdzasz stany portów ! Z tego co wiem stan portów AVR to zero lub jedynka. ! źle jest B=2 . napisz B=1 lub B=0 Może być albo 0 albo 1. Pozdrawiam Stefan Amator
Rozumiem co piszecie ale działać nie chce :-( Jak sprawdzam port na którym jest przerwanie tak ordynarnie IF ... THEN ... to mam sygnał 1Hz. Jak włączam przerwania to nic się nie dzieje i nieważne czy PortD.6 jest Input czy nie i czy jest ustawiony na 1 czy nie.
$crystal = 4000000 $regfile = "8515def.dat" Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 5 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8 Reset Portc.2 Cls Cursor Off Do locate 10 , 10 Lcd "oko" Loop end W.K i Szymtro sprobujcie ten programik, i sprawcie co jest na Portc.2 , bo tam jak sprawdzam woltomierzem...
Program nie będzie poprawny, bo w czasie działania "Wait" procek nie robi nic, a już na pewno nie sprawdza stanu portu.
Jednak proponowałbym koledze zmienić na portb.3 z pinb.3. Pinb użyjemy kiedy np. sprawdzamy stan portu, tzn ....... Jest to tylko (niczym nie poparta) teoria niektorych 'znawcow' srodowiska Bascom. Compiler Bascom dopuszcza uzywanie terminu "PIN" w odniesieniu do configuracji pojedynczego pinu jako czesci wielobitowego portu. Kierunek portu (Input...
Napisane na szybko nie sprawdzałem ale chyba powinno działać. [syntax=basic4gl] $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) '*************************************WA... 'Pamiętać o podłączeniu...
Luty sprawdzałem wsyzstko jest okej. Płytke zasilam tylko z zasilacza!!. GAme portu nie mam w komputerze. Sprawdzałem kabel programujący i jest okej!!. Już sam nie wiem co to może byc... "Sprawdź czy masz jako programator ustawiony jako Sample electronics programmer" TAk mam to ustawione "ustawione port delay na naprzykład 10 " Ustawiłem ale nic to...
Witam. Potrzebuję podłączyć pod jeden z portów DIP Switch i wybierać procedurki zależnie od jego ustawień. Czy można sprawdzić stan wejść portu, tak jak ustawia się stany wyjściowe na porcie? (portB=&B00001010) Jeśli sprawdzam to warunkami [syntax=vbnet] If sw1=0 AND sw2=0 and sw3=0 ... and sw8=0 then [/syntax] , to 16 gołych warunków zajmuje mi grubo...
Najprawdopodobniej to kwestia przycisku dołączonego do PD.1. Konfigurujesz PD.1 jako wejście pływające, bo DDRD.1=0, a PORTD.1=0. Jeśli klawisz tylko podaje +VDD lub rozłącza obwód to gdy nie jest wciśnięty na wejściu pływającym pojawiają się śmieci, bo działa ono jak antena(stan zmienia się przypadkowo). Możesz dodać rezystor 10kohm, który ustali stabilny...
Witam Zaczynam rozumieć... ufff nie trzeba było tak od razu :) Pomysł na podciąganie wziąłem z praktyki (atmega128 / 16MHZ). Nie wiem dlaczego ale gdy nie ustawiam portów jako wyjścia lub wejścia to przy naciskaniu klawiatury czasami zdaży mi się iż co innego zostanie wybrane. Po spróbowaniu i skonfigurowaniu portów 4-ech wyjściowych i 4-ech wejściowych...
Przetestuj ten. Tak go poopisywałem, że aż mi się nie podoba :D [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 '# wyświetlacz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Cls '# timer ' 8000000Hz(8MHz)/256(Prescaler)=...
No to sprawdziłem. Bez biblioteki $lib "Lcd4busy.lib" wszystko się wykrzacza. Ze sprawdzaniem zajętości LCD wszystko chodzi pięknie. Nawet jak zmienię taktowanie na 2MHz. Jak masz wolne piny- to wykorzystaj do sprawdzania Rw. P.S. Wyłącz zewnętrzny kwarc- i masz wolne końcówki na porcie B. Albo wykorzystaj port D do LCD- zostaje jedna nóżka- a resztę...
Witam :) Tak na wstępie brakuje mi działu dla piszących w C i ASM (będzie łatwiej coś znaleźć np szukam 2 DS18B20 i 99.9% wyników to bascom). Potrzebuję odczytać dane z co najmniej 2szt. DS18B20, problem polega na tym że jak adaptuje kod do odczytu 1 DS (z jednego portu) na odczyt 2 DS (z dwóch portów) to zamotałem się w funkcje zmieniające nr portu...
Witam w jaki sposób w bascomie odbierać informacje z rs232 w pętli to znaczy mam w pętli kilka poleceń np a=a+1 pętla leci cały czas dodaje jak zrobić aby pętla działa i jednocześnie sprawdzać czy na port coś dotarło jak dotarło to to odebrać. Męczę się z tym i nie mogę sobie z tym poradzić.
Witam Jakiś czas bawię się programowaniem procesorów-AVR w Bascomie i w Atmedze16 i 32 mam problem z czterema portami. Portc.2 (TCK) , Portc3 (TMS), Portc4 (TDO), Portc5 (TDI) - kompilator wogule nie steruje nimi. Są poprostu wyłączone. Nie da się ich skonfigurować ani jako I/O ani do współpracy z LCD. Sprawdzałem na bascomie ściągniętym z elektrody...
Cześć, mam problem w napisaniu programu w środowisku BASCOM: *W jaki sposób mogę napisać kod, który sprawdzał będzie które PINY(portu.a) mają stan wysoki. przykład: &B00011001 w odpowiedzi chciał bym dostać zmienną "R" w której wyświetli się, że stan wysoki występuje na 3 pinach. Za wszelkie pomoce w naprowadzeniu wielkie THX
http://obrazki.elektroda.pl/1899461000_1... Ostatnio zaprojektowałem na potrzeby dyskoteki switch DMX. Wykonałem 8 sztuk, jak na razie pracują bez zarzutu. Nie publikuję płytki, bo wymaga dopracowania, a nad publikacją wsadów i źródła się zastanowię. Co do PCB, to i tak zaraz dostaną mi się pewnie słuszne baty za zbyt małe odstępy części...
Witam Mam problem z oprogramowaniem wyświetlacza HD44780 i atmegą 16, mam dwa wyświetlacze 2x16 i 4x16, oraz dwa procesory Atmega16, próbowałem gotowce znalezione na elektrodzie i w Internecie, oraz te z dokumentacji HD44780 od Hitachi, ale nie udaje mi się nawet zainicjować wyświetlaczy, a piszę w Avr studio i języku C. Próbowałem również na szybko...
Mam popularny problem z wykryciem przez Bascom'a mojej płytki tzn. Could not identify chip with ID:000000. Procek działa bo uruchamia się program testowy wyświetlacza LED i miernik refleksu. Połączenie z lpt sprawdzałem, luty są ok., chip wybrany dobrze, programator sample electronics. port 378, ale ustawiałem różne, w biosie port aktywny, drukarka...
Sprawa jest taka że porty G w M128 działają u mnie normalnie tylko jako "OUT" z IN niema w ogóle mowy. Natomiast porty F działają poprawnie tylko jako "IN" ale udało mi sie odpalić również jako OUT ale nie zawsze działały poprawnie - pozostałe porty A,B,C,D,E działają normalnie jak w starych atmegach - jak ustawie tak działają - Nadmienię że mam program...
Z ta konfiguracją portów w helpie mamy: CONFIG PORTx = state CONFIG PINx.y = state I w teorii kompilator powinien wywalić błąd jeśli napiszemy np.: Config portb.3 = Output ale tego nie robi. Czy tak działa po zaprogamowaniu to nie sprawdzałem.
Kto podciągnie PINC.0 i PINC.1? Masz rezystory z zewnątrz? Ponadto te sprawdzanie czy A<>4 i A<>0 jest bardzo nieeleganckie. Przy A=4 będziesz czekał 2 sekundy z palcem na klawiszu by zmienić sekwencję? Najważniejsze: Gdzie zjadłeś wcięcia?
Zdecydowałem się na osobne linie dlatego że mam wolne piny jak i nigdy nie bawiłem się w sprawdzanie id ds18b20 a podłączenie każdego do osobnego portu wydaje się prostsze. Nie wiem czy dobrze rozumiem 1WIRECOUNT( ) ale chodzi oto że po sprawdzeniu jednego czujnika mogę tę komendę wpisać i zmienić na inny port 1wire? Pozdrawiam.
Nie ma to jak odpowiadac samemu sobie ;) Ale być może ktoś z tego skorzysta, więc podam przykałd: config portd = &B00000000 'wszystkie piny jako wejście na porcie D portd = &B11111111 'wymuszamy stan wysoki na wszytskich wejściach (podciagamy - port ma wudowane rezystory podciagajace) config debounce = 30 'zwiększamy opóźnienie eliminacji drgań styków...
Hmm , z tym rozpoczęciem programowania poprzez reset to lipna sprawa niestety. Moduły są rozsiane w róznych miejscach i właśnie dlatego założyłem ten temat. Myślałem że już może ktoś to zrobił wcześniej. Ja osobiście wolałbym użyć np. watchdoga do inicjacji wgrywania oprogramowania czyli : wysłać poprzez rs485 polecenie np: firmware_1 i to polecenie...
Dzięki panowie za odpowiedzi. Oczywiście macie rację. Sprawdzałem to tylko raz i musiałem coś źle wpisać bo wtedy te wyjścia portu B (mosi, miso, sck) nie działały tak jak chciałem więc utwierdziłem się (niepotrzebnie) w przekonaniu, że nie mogą one pracować jako wyjścia. Teraz wszystko pracuje tak jak powinno :)
Nie za bardzo rozumiem co masz na myśli mówiąc mikrokomputer. Są mikrokontrolery. Jest to procesor, ram, dysk(w formie wbudowanej pamięci flash) wszystko w jednej kostce. Do tego podpinasz 5V do Vcc i masę do GND i to prawie wszystko. I takie coś nazywa się właśnie mikrokontroler. Ja bym zrobił tak, jeśli to ma być robot z mikrokontrolerem, to najpierw...
Masz tu prosty, sprawdzony, działający program do sterowania portami. $regfile = "m16def.dat" $crystal = 1000000 ' przelicz u siebie te zera :) Dim B As Byte Config Portb = Output Portb = &HFF Waitms 100 Open "comd.1:9600,8,n,1" For Output As #1 Open "comd.0:9600,8,n,1" For Input As #2 Do B = Inkey(#2)...
Ale ja tego nie sprawdzałem-to było na "macanego"! Nie mam ATtiny45 ani ATtiny26 pod ręką. To powiedz CO pomogło-czy odłączałeś kondensatory? Czy tylko zmieniłeś "port delay"? A-nie pamiętam czy ATtiny45 i ATtiny26 ma CLOCK DIV8 i czy ustawione są na podział w fusebitach czy nie? Odpisz- bo jestem ciekawy.
Działa elegancko. Żeby było wiarygodnie to nawet wygrzebałem Ardu Leonardo z m32u4 na pokładzie. Na jedną rzecz bym jeszcze uważał. Twój kod nie jest w żaden sposób synchronizowany. Może się kiedyś zdarzyć, że jedna z wiadomości nie dojdzie. Z nie będzie miało wartości 3 i przy nastepnej wiadomości procesor zacznie przypisywać wartości innych zmiennych...
Zakładam że to co wyżej wkleiłeś działa. Nie używam dawno już Bascoma, ale mam kilka spostrzeżeń. Po pierwsze - czy Porta = &B11111110 daje napewno w bascomie 0 na Porta.0 ? Nie jest odwrotnie? Może najstarsze bity są po prawej stronie? Spróbuj skorygować ten program wpisując Porta = &B00000000 Po drugie spróbuj zamienić sprawdzanie rejestru Porta na...
Po włączeniu programatora do portów USB jest on wykrywany jako Communication Port 4 lub Communication Port 5 (normalka). Do zainstalowania jako port szeregowy wykorzystywałem zarówno sterowniki dostarczone przez producenta, jak również i innych dostawców. Sprawdzałem schemat z tym umieszczonym na podanej przez Ciebie stronie, ale są różnice. Zworkę...
Z tym procesorem czy problem konkretnie jest to nie wiem, ale przy wielu procesorach (m. in. m644p, m1280, m2560) na pewno są problemy z tym timerem. Ale do rzeczy, bo cały program nie ma prawa działać... 1. If W1 = 0 And Portb.i = 0 Then A cio to? rozumiem, że tu mają być sprawdzane stany pinów skonfigurowanych jako wejścia? Jeśli tak to czemu masz...
bascom rodzaje portów bascom podciąganie portów konfiguracja portów bascom
czerwony samochodzik mitsubishi falownik drzwi zmywarki opadają
odkurzacz xiaomi odkurzacz xiaomi
VW T5 błąd 00779 – czujnik temperatury zewnętrznej G17, objawy, naprawa, Climatronic TechniSat DigiCorder HD K2 – format dysku, EXT3/EXT4, struktura TSD, szyfrowanie nagrań