nie dość, że w przerwaniu dajesz opóźnienia waitms o czym wspomniał kolega powyżej - to jeszcze wyświetlasz coś w przerwaniu na LCD a to już msakra. do tego wszystkiego daj nie tylko dyrektywę informującą jaki zegar ale co najważniejsze dyrektywy ustawiające stos sprzętowy i programowy - dodatkowo zmień wtedy ich wartości na większe niż domyślne bo...
Jeśli Call to wywołanie funkcji z odkładaniem adresu powrotu na stos, to doprowadzasz do przepełnienia stosu.
zgadza się to co napisał poprzednik. Przewija ci się stos i dlatego. Przekonstruuj na coś takiego: procedura_01: ... jeżeli warunek to goto procedura_02 ... goto procedura_01 procedura_02: ... jeżeli warunek to goto procedura_03 ... goto procedura_02 To coś nie odkłada nic na stosie więc to co masz teraz nie wystąpi.
Jedno z wyjść połącz do linii RESET i sterując tym wyjsciem z poziomu programu, możesz zrobić reset procesora.
Tak, też to występuje po resecie procesora.
Jak skonfigurować nóżkę RESET procesora w Bascomie jako zwykłe wyjście?
Jak to wygląda w Bascom to nie mam pojęcia. W C deklaruje się sekcję NOINIT i wszystkie zmienne przypisane do niej podczas startu procesora (czyli np. po resecie od WDT) nie są inicjalizowane, więc mają swoją poprzednią wartość. Trzeba je za to niestety zainicjalizować ręcznie podczas startu procesora po włączeniu zasilania (trzeba analizować jaka była...
Z tego samego 7805. Zasilanie do nich idzie tym długaśnym kablem. Napięcie na rozwidleniu wynosi 4,99V. Nie ma tam żadnego filtru. Dodam jeszcze, że na te wariactwa nie pomaga reset procesora.
Czy ten schemat masz tylko poglądowo czy jest to schemat ideowy ? Te dwie diody LED D1 i D2 są jakieś specjalne czy zapomniałeś o opornikach szeregowych. A jak jest podłączony RESET procesora ?
Działa to tak, że zmiana stanu na tej końcówce resetuje mi procesor. PD2 podciągnięty do VCC a jak ma to działać , skoro nie masz procedury obsługi przerwania? Program się kasuje i to jest naturalne.
w jaki sposób masz podłączony programator do procesora? masz jakieś podciąganie PDI RESET?
Programator nie potrafi wprowadzić procesora w tryb programowania. Do sprawdzenia poprawność połączeń i czy linia RESET nie jest zbyt obciążona (kondensator do masy, rezystor do VCC o zbyt niskiej wartości). I przede wszystkim czy procesor jest w ogóle zasilany.
Witam ! Przetestowałem ten kod: $regfile = "m8def.dat" $crystal = 1000000 Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc , E = Portc.4 , Rs = Portc.5 Lcd "witam!" Fourthline Lcd "4" End i wszystko jest OK, program się kompiluje Prawdopodobnie powodem nie kompilowania...
Witam ! Źle ! Do Set P1.7 WAIT 0.5 Reset P1.7 Loop Kod na miganie jednej diody powinien wyglądać tak: $regfile = "89c2051.DAT" ' tę linię można zadeklarować w opcjach $crystal = 8000000 ' tę linię można zadeklarować w opcjach do set p1.7 waitms 250 ' 250 to chyba max w Bascomie 8051 waitms 250 ' 2x250ms około 0,5sek reset p1.7 waitms 250 '...
Mozesz sprobowac za pomoca watchdog'a. Wada jest to ze reset nastapi dopiero po min. 16ms Config Watchdog = 16 Start Watchdog watims 20 'oczekiwanie na reset z watchdoga Masz do dyspozycji jeszcze polecenia: Stop watchdog - zatrzymanie Reset watchdog - kasowanie Zamiast 'waitms 20' mozesz tez dac jakies polecenie "usypiajace" procesor (IDLE, POWERDOWN)
Funkcje wait (waitms) w BASCOM nie blokują i nie resetują watchdoga. Wyłączanie watchdoga w czasie odczekania może prowadzić do sytuacji, gdy wchodzące w tym czasie zakłócenie zablokuje nam na stałe procesor. Dlatego lepiej wstawić pętelkę z resetowaniem watchdoga i zostawić watchdog włączony: for i=1 to 3 reset watdog wait 1 next
Z tego co mi wiadomo nie ma takiej możliwości bo nie ma takiego rozkazu w asemblerze AVR. Też kiedyś z tym walczyłem i ostatecznie wymyśliłem rozwiązanie sprzętowe polegające na podłączeniu pinu reset do jakiegoś innego pinu procesora :)
przenies trzy linijki: Cls Lcd "PROGRAM GLOWNY" Do o 3 linijki w góre albo dodaj jakies opóźnienie po set enter ogółem rzecz biorąc to takie coś (detekcja przycisku zaraz po resecie) też nie chciała mi działać (AT89C4051) zawsze trzeba było dawać opóźnienie lub zapętlić
W Bascom jakim poleceniem zatrzymać program , tylko reset procesora uruchamia ponownie program od początku , może tez być polecenie uśpienia układu.
Bo pewnie już zablokowało Ci procesor (wyłączyło RESET, programowanie ISP).
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 +...
A więc tak: Mój pomysł z wykorzystaniem $Noramclear działa, ale go nie chcę, bo nie jestem pewien czy nie wyczyszczona pamięć nie namiesza mi w programie. Konstrukcja If Mcucsr.wdrf = 1 Then Info = 1 End If nie działa. Nie wiem dlaczego po resecie ten bit nie jest ustawiany ?? A to by było rozwiązanie najlepsze. Co zaś do $Timeout, to owszem można by...
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...
Wyłapałem że wcześniej deklarowałeś $regfile = "m16def.dat" zamiast $regfile = "m16adef.dat" (mimo że procesory różnią się jedynie poborem prądu i rezystancją podciągania pinu RESET to warto było sprawdzić ten trop), jeśli dioda LED podłączona jest poprawnie do PORTA.0 to niestety nic więcej (poza samym komputerem) nie przychodzi mi do głowy... Ostatni...
Wykorzystaj pin Reset procesora to nie będziesz musiał nic dopisywać.
Jeśli masz kondensator w obwodzie reset procesora to go usuń.
Witam. Sprawdź miernikiem napięcie na procesorze. A jak podłączyłeś pin od reset ?. Może tu jest problem.
Mój programator to STK200/300. Programuje prosto z BASCOMA. Sprawdziłem programem,który poleciłeś ale też wyrzuca błąd. Coś mi się wydaje że procesor jest ubity. Zasilanie jest OK, reset podłączony, reszta lini też i nic nie działa.
"Czy jak zmienię fusebit i nie dam write tylko program (bascom), to programuje również fusebity? Czy możliwe jest, że się sam przeprogramował?" Tego na pewno nie wiem. Ale po 10 latach pracy w serwisie wiem że procesory(i zwykłe bramki) się psują. Czasem w bardzo dziwny sposób.
Na oko gosub Przedpetla: wygląda na podprogram , ale nie znalazłem "declaresub Przedpetla" Z podprogramu wychodzi się przez "end sub" , a z przerwania przez "return" ( chyba, bo dawno w basicu nic nie pisałem) , ilość Loop do DO jest przerażająca tak się tego raczej nie robi i ogólnie chaos. Lepiej przemyśl program jeszcze raz. .. .. Declare sub podprogram1...
najprościej to będzie użyć większego procesora np. atmega16
To ciekawe co piszesz. Właśnie klecę układ na ATMega16 i identycznej aplikacji jeśli idzie o podłączenie LCD. Procesor nie ma żadnych pojemności na resecie, wyłącznie 10k do VCC. Fuse ustawione na zewnętrzny kwarc 8MHz i najszybszy reset. LCD inicjuje się przed procesorem bez żadnych dopisków w Bascom (wyłącznie config lcd) a cały układ wstaje bez problemów...
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...
ale procesor sie prawidlowo uruchamia i programuje...mimo to na reset jest stan 0
Tak, procesor reaguje na RESET. Cóż.. korzystam z Bascom AVR. W ręcznym programowaniu procesora można ustawiać zabezpieczenia i fusebity. Z fusebitów znalazłem KLA987 i z listy wybrałem to co podałem powyżej. Nie pamiętam tylko jak było z SUT, czy 01, czy też 10. Z mojego logicznego rozumowania wynika, że procesor powinien dać się programować... a Bascom...
pin reset procesora jak masz podłączony ? przez rezystor np. 10k podciągniętu do U+ ?
Chwile mnie nie było :D Napisałbym to inaczej, ale wracając do pytania z pierwszego postu . Jeśli chcesz by procesor zawsze był tak samo zajęty to każ mu w tych innych Case`ach także nadawać Pulseout tylko na pin Reset. Bascom to przełknie bo ten pin może pracować jako normalny I/O ale jak jest resetem to nic mu się nie stanie jak napiszesz Pulseout...
Da się zrobić to bez resetu - praktycznie zawsze da się, tylko trzeba zmienić ideę działania program. Reset jest mało eleganckim sposobem rozwiązywania takich problemów. Przeznaczenie: Konfiguruje opóźnienie zadziałania układu WATCHDOG. Składnia: CONFIG WATCHDOG = czas gdzie: czasczas w milisekundach po jakim układ WATCHDOG uaktywni sygnał...
Mam małe doświadczenie w tych sprawach, ale czy nie wystarczy zwykły skok w asemblerze (sprawdzi się też w bascomie) typu JMP $000 ? Przy takim skoku nie są zerowane rejestry procesora. Czasami to nie przeszkadza, ale pamiętać o tym trzeba.
Nie podałes symbolu wyświetlacza. Niektóre potrzebują ujemnego napięcia dla kontrastu, natomiast jeszcze inne mają zamienione + z - np. WM-C1602 A i jeszcze jedno napisałes ze dałes ok.5V - mało to precyzyjne. No i ten reset na schemacie mi się nie podoba, ja bym to podpioł do +5V przez rezystor 10kΩ. Napisz czy udało ci się prawidłowo zaprogramowac...
Chyba nie bardzo zrozumiałes o co chodzi. Program ma własnie zakonczyc prace na petli do..loop a procedura "info:" jest tylko po to by pokazać ze instrukcja CLS ktora nie bierze udziału w programie jednak przeszkadza i przeciaga ponowny start procesora o dodatkowe 270ms.
Zajżał bym tylko mam problem z angielskim, które fusbity trzeba przestawić aby wyłaczyć reset? Można procesor zapogramować a potem wyłaczyć reset? Czy operacją wyłaczenia resetu jest odwracalna za pomocą Bascoma i programatora ISP?
Mam pewne obawy związane z tym ,że coś mogę podłączyć źle (to znaczy nie do tych pinów mikroprocesora co trzeba). Czym mogłoby to skutkować? Procesor przeżyje, nawet jak go odwrotnie włożysz w podstawkę. Co do SPI do nie trzeba podciągac pinów rezystorami, tylko musisz pomiędzy programatorem a procesorem wstawic do każdej z linii (MISO, MOSI, RESET,...
poczytaj troche masz dosyc postow na temat avr. i kwarc nie jest powodem ze ci nie dziala (chyba ze masz uzywany procesor i ktos przestawil fusebity, jak masz nowke ze sklepu to ma ustawione na wewnetrzny oscylator). Gdybys poczytal tematu tutaj lub dokumenacje to bys to wiedzial. Jak chcesz tylko zaprogramowac procesor musisz podlaczyc vcc gnd mosi...
... Problem błahy, ale rozkładam ręce, pewnie zapomniałem o jakiejś oczywistej rzeczy ... Witam Tak, problem jest błahy i wynika ze specyficznego sposobu konfigurowania portów w bascom-ie. O ile instrukcje: Config Pinc.2 = Output Config Portc.2 = Output dają równoważne wyniki (chociaż poprawny zapis w/g helpa to PINx.y dla konfiguracji pojedynczego...
Tak na pewno wszystko jest dobrze podłączone. To płytka od kolegi i na jego programatorze (STK200) wszystko działa. Próbowałem tego typu program. Nic nie działa Na nóżce reset procesora jest 4.75 V. Czy to normalne ?
XrootX, napisałeś że twój programator programuje wszystkie atmele. Ale nie wiem czy wiesz że AT89s8252 ma odwrotny niż np. w 89c2051, sygnał reset. Sprawdż na stronie Atmela. AT89s8252 użyłem w pracy dyplomowej i programowałem go przez ISP( ale w assemblerze więc co do bascoma to ci nie pomogę). To banalne odkrycie trochę mi zajęło czasu. jesli używasz...
ustalam w ten sposób podciąganie pinu do stanów wysokich i niskiego(**) . Zakładałem, że po to jest alias (zawiera nazwę pinu), który sprawę rozwiąże. Co gorsza przyznam się, że taka była moja praktyka więc nie wiem jakim cudem błędy wyszły dopiero teraz. Podsumowując, właściwe jest podciąganie do VCC i GND poprzez SET i RESET a nie jak ja to zrobiłem....
CONFIG WATCHDOG = czas Start Watchdog i w kodzie: RESET WATCHDOG Czas w milisekundach po jakim układ WATCHDOG uaktywni sygnał reset procesora. Możliwe są wartości: 16, 32, 64, 128, 256, 512, 1024 oraz 2048. wszystko jest w helpie
Ponieważ jesteś zielony w temacie, to zacznij od książki w ZIELONEJ okładce, podanej na końcu :))) wyjaśni ci wszystko od początku. -Jaki mikrokontroler najlepiej kupić? Taki jaki jest potrzebny do konkretnego projektu. :)))) (żeby można było go programować bascomem AVR, żeby miał wbudowany oscylator, więcej niż 4KB pamięci,żebym mógł do niego alfanumeryczny...
Witam 1.Diody D1 D2 1n4148 od elektrozaworów w obecnym połączeniu nie spełniają swojej roli, chyba że zostaną zamienione na diody zenera. 2.Nieodfiltrowane zasilanie mikrokontrolera, brak chociażby prostego filtru LC na zasilaniu 3.Nóżki mikrokontrolera nieodsprzęgnięte za wyjątkiem jednej? 4.Brak kondensatora na nóżce reset 5.Płytka pcb jest do przeprojektowania...
Żeby dłużej nie komplikować: $crystal = 1000000 $regfile = "m8def.dat" config pinb.1 = output ' tu pin diody config pinb.0= input ' tu pin mikroswitcha (klikacza) set portb.0 do if pinb.0 = 0 then waitms 25 if pinb.0 = 0 then set portb.1 wait 2 reset portb.1 powerdown end if end if loop i twój schemat: http://www.elektroda.pl/rtvforum/files-r...
Co za zbieg okoliczności. Właśnie miałem założyć temat o tym samym tytule. Włączam forum i zdziwienie - "juz napisałem?" :) Do rzeczy: Buduje układ zapłonowy i muszę zrobić teraz nową płytkę z atmegą 128 (wcześniej atmega48) do procesora muszę podłączyć pamięć z mapami zapłonowymi - co najmniej 1MB. Wydaje mi siię, że najlepiej będzie użyć at45* W jaki...
SJA traktujesz jako zewnętrzną pamięć RAM, tak tez go podłaczasz do procesora i przesyłasz dane. Podaje przykładową procedurę inicjalizacji w Bascomie dla 8051 na 100kbit/s, CAN 2.0A, akceptuje wszystkie ID : [syntax=asm]Head_sja: Reset P2.7 'Reset sprzetowy Waitms 10 Set P2.7 Waitms 5 Reset P2.4 'ChipSelect Adres_sj = 0 'control Danaa_sj = &H1B Gosub...
Masz rację DiTus . Nie miałem do czynienia z tym procesorem i odpowiedziałem automatycznie.A może tak jak w załączniku używając ASM Pozdrawiam!
Chodzi mi o bascom. Dodam, że jak dubluję tą procedurę wewnętrz procedury przerwania to jest wszystko ok. Problem jest wtedy, by odwołuję się do innej zadeklarowanej wcześniej.
Do Autora wątku: Proszę. Nie taki diabeł straszny. Nie napisałeś jaki to procesor więc napisałem przykład dla Mega8. Funkcja odczytuje ADC(0-5) z włączony ADLAR czyli tylko osiem bitów. Wynik od 0 do 255. Zapewne działa nawet w symulatorze. To taki podstawowy. Można nie czekać a ustawić przerwanie, ale to pewnie jeszcze nie dla Ciebie :D Wpisz w Google...
Tak się zastanawiam, a może konfiguracja sprzętowa (zworki) tworzy "opcode" dla procesora ? Light-I
Ok, jestem - nie miałem w ręku tego procesora więc musimy poczytać datasheet. Znajdź go i wklej tutaj link. Uwagi do schematu: 1. masy masz podłączone bo na schemacie nie :) 2. nie widzą filtrowania zasilania patrz tutaj: http://mikrokontrolery.blogspot.com/2011... 3. błędy filtrowania ADC akurat się przydadzą do liczb...
Może zanim zapomnę o czym chciałem napisać a nie jest najważniejsze, ale dla Ciebie ważne. Tak w telegraficznym skrócie -> USART w AVR ma możliwość włączenia jakby podwójnej prędkości/próbkowania (to samo SPI). Bit ma skrótowa nazwę U2X. Przy taktowaniu 16MHz, jak prawie każda płyta Ardu, to bez U2X predkość 115200 miałaby za duzy błąd który niby maksem...
witam mam taki problem kupilem cos takiego http://www.propox.com/download/docs/ADPm... z procesorem atmega128L, podlaczylem programator (zailanie 5v, reset, mosi,miso, sck) i probowalem odczytac konfiguracje w bascomie jednak nie wykrywa mi tego procesora (wyskakuje mi ze nie moze zidentyfikowac procesora id:ffffff) uzywam programatora zrobionego...
W Bascom to parę linijek. Proszę bardzo: [syntax=vbnet] $regfile = "m32def.dat" 'wybor typu procesora $crystal = 8000000 'ustalenie czestotliowsci taktowania Config Pina.1 = Output ' diody Config Pina.2 = Output ' diody Config Pina.3 = Output ' diody Config Pina.4 = Output ' diody Config Pina.5 = Output ' diody Dioda_1 Alias Porta.1 'Wygodne aliasy...
[syntax=vbnet] ...... Do Debounce S1 , 0 , Pr1 ,Sub Loop End ' koniec pętli Pr1: Waitms 100 Serwo(1) =150 Waitms 150 Serwo(2)=250 Waitms 200 Serwo(2)=50 Waitms 250 Serwo(1)=50 Wait 1 Serwo(1)=150 Waitms 100 Serwo(1)=50 Wait 1 Serwo(1)=150 Waitms 100 Serwo(1)=50 Return [/syntax] Przy takim kodzie serwa działają jak bym chciał tylko procesor wykonuje...
Kolega czytał helpa ? W trybie Power Down, zewnętrzny oscylator zostaje zatrzymany. Użytkownik może przywrócić działanie procesora tylko za pomocą: układu WATCHDOG, zewnętrznego sygnału reset lub za pomocą zewnętrznego sygnału przerwania. (c) Zbigniew Gibek, 2002-2005 (c) MCS Electronics, 1999-2005
To pewnie dlatego miałem wcześniejsze problemy z zawieszaniem sie procesora i dziwnymi resetami co opisywałem i pytałem . Dzięki za cenne uwagi ,wezmę to pod uwagę
na pewno diode do plusa poprzez opornik kilkaset omow zwroc szczegolna uwage na reset on jest bardzo wazny przy tego typu procesorze jak nie bedzie chcialo cos dzialac - wystartowac to prawie zawsze jest to problem resetu , kwarc kosztuje 1-2 zl , do 16 mhz chodzi przy praktycznie kazdym zasilaniu (od 3,6v ) ale powyzej tych 16 mhz napiecie trzeba podniesc...
Diody migają po dwa razy, kolejne dwa razy zawsze po naciśnięciu przycisku, tak w kółko. Jak nie naciskam to nic się nie dzieje. Zdaje się że taki zamiar był tego programu... Niemniej jednak spróbuj ten code: [syntax=basic4gl][/syntax ... $regfile = "attiny13.dat" $crystal = 9600000 Config Portb = &B011000 Portb = &B000010 $hwstack...
Bascom sam się nie zajmie resetowaniem Watchdog'a, jak słusznie zauważył Holy . Żeby z niego skorzystać najpierw trzeba go skonfigurować (ustawić stopień podziału - od tego zależy czas potrzebny na przepełnienie jego licznika) poleceniem CONFIG WATCHDOG = czas , później uruchomić: Start Watchdog . Teraz w newralgicznych punktach programu musi zostać...
Miałem tak samo jak nie odpiąłem programatora od układu. Rozwiązaniem było w ogóle zrezygnowanie z uzycia portu B (mega128 także duzo wolnych pinów) Sprawdź jeszcze fusy czy nie masz JTAG włączony A i jeszcze popraw piny LCD=Procesor CS1=Ce, CS2=Ce2, D/I=Cd, R/W=Rd, E=Enable, RES=Reset
ale w bascomie niema komendy "inc" tylko "incr" chyba ze to tylko literowka ?
Dokładnie jak pisze przedmówca ;) .... RESET na płytce podłączony jest tylko do procesora a nie do układów na LCD. Zresztą LCD nie ma nawet wyprowadzonego takiego sygnału RESET. Zatem ma on możliwość zresetowania swojej zawartości albo programowo CLS albo poprzez wyłączenie zasilania.
No to ktoś nakombinował :D !!!!!! 1. Płytka bazowa - Procesor w standardowej konfiguracji z programem w pamięci zewnętrznej (U3). Zworką JP4 ustalasz czy ma wykonywać program z pamięci zewnętrznej czy wewnętrznej. Kiedy ustawisz na pamięć zewnętrzną powinieneś zworkę JP1 ustawić na adres 0000h aby procesor szukał programu na początku eprom'u. Istnieje...
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...
Nie rozumiem "włączyć zasilanie i2C". I2C działa gdy wstanie procesor. Próbowałem już podpinać VCC oleda po odpaleniu procesora, ale się nie inicjuje. Oled pozostaje ciemny. Dopiero po resecie proca dalej świeci. Program naskrobałem w bascom i dołączona jest biblioteka do tych oledów więc i2C działa z automatu.
Witam zauważyłem dziwny objaw. Mianowicie odbieram dane przez sprzętowy uart z atmegi pochodzące z klawiatury. Klawiatura wysyła znak w momencie nacisnięcia i puszczenia przycisku. Zauważyłem że naciskając około 21 razy klawisz (wysłane 42 znaki w hexie) to resetuje mi się program i mikrokontroler... Teraz pytanie czym to jest spowodowane. Pomijam tutaj...
Kiedy próbuję zapisać ROM, pin RESET rzeczywiście przechodzi w stan niski. Fusebitów nie ustawiałem z całą pewnością, bo nigdy się w to nie bawiłem. EDIT: Po zlutowaniu na pająka złącza do procesora i attina nadal wyskakuje ten sam błąd... Nie pomaga rezystor na resecie i kondensator na zasilaniu...
Witam! Po pierwsze to z reguły przyciski powinny zwierać piny wejściowe do masy a nie do zasilania. Wynika to z faktu posiadania przez procesory AVR wewnętrznych rezystorów pull-up podciągających wejścia do +vcc, czyli panuje na nich stale stan wysoki (oczywiście gdy zostaną uaktywnione). Po drugie to akurat sygnał CLK ma się zmieniać, podczas narastającego...
Umieść kod programu, to może ktoś pomoże. Ja akurat z Bascomem nie miałem doczynienia. Pozdrawiam Adam P.S. Na tym pinie masz również przerwanie zewnętrzne INT5, może to jest przyczyna.
Chciałem sobie wgrać program do atmegi przy użyciu BASCOM-AVR 1.11.9.8. Atmega jest na płytce uruchomieniowej, do tej pory programowałem ją przez FT232RL aplikacją MegaLoad poprzez wciśnięcie przycisku reset. Uruchomiłem Bascom, wziąłem Program -> Send to Chip. I tutaj zamiast Autoprogram wcisnąłem Write buffer to chip. I na lcd pojawiły się czarne...
Bo płytka jest źle zrobiona. Złe luty, ściażka ma mikropęknicia itd. Posprawdzaj wszystko dokładnie, najczęściej problem jest z kwarcem (jak go używasz) i resetem.
Zasilam go zewnętrznie z 4 akumulatorków (dają jakieś 5,20V, nie wiem czy nie za dużo u coś się nie upiekło) zresztą widać je na zdjęciu. Podłączyłem diodę miedzy MOSI a VCC i dioda świeciła podczas próby programowania ale jak podłączyłem pomiędzy MISO to nie świeciła (wychodzi z tego że procek nie odpowiada) napięcie ok ale trochę mnie zastanawia...
Nie ma co się załamywać drobnymi niepowodzeniami. Trzeba się po prostu zastanowić co jest nie tak. Po przyjrzeniu się bliżej temu programowi nasuwają się takie uwagi: 1 - nie pisze się programów oddzielając linie pustymi wierszami bo można od tego dostać oczopląsów 2 - nie wiem jak program się kompilował bo w tym co tutaj zamieściłeś jest jeden błąd...
To nie w bascomie tkwi problem, tylko w kompilatorze C, według symulatora na wyjściu powinien być stan wysoki, czyli 5V, wygląda to tak jakby port był w stanie wysokiej impedancji. Sprawdź częstotliwość na tym pinie, bo podejżewam że procesor nie wchodzi prawidłowo w pętle i się resetuje co chwile, najlepiej byłoby to zrobić na oscyloskopie, ale częstotliwościomierz...
Witam. Spróbój zrobić na początku programu najlepiej przed główną pętlą "do loop" Reset P3.2 Reset P3.3 i powinno wszystko być ok. Acha jak byś miał symulator to ten programik do generowania pwm nie śmiga na nim (źle interpretuje instrukcję not - negację). A z czasami w bascomie jest różnie zależy od procesora w twoim komputerze choć mniejwięcej się...
Ściągnij sobie z tej strony program kalkulator avr http://www.elportal.pl/index.php?module=... [syntax=basic4gl] $crystal = 1000000 $hwstack = 80 Config Timer1 = Timer , Prescale = 64 Dim Sek As Byte 's Enable Timer1 Enable Ovf1 On Ovf1 Czas Stop Timer1 Enable Interrupts Sek = 0 Do If pinc.0 = 0 then Load Timer1 , 49911...
No to tutaj się zaczyna polemika;) Akurat co do 100nF się zgadzam, daję 1 na parę nóg, plus jakieś dodatkowe też się zgadza... kwarc... a to nie zawsze daję - jak uważam że jest potrzebny (krytyczne czasowo aplikacje etc). Ale co do resetu się nie zgadzam że jest to konieczne i koniec:) Jest to ZALECANE, jakkolwiek świadomy elektronik godzi się na pewne...
A więc na życzenie kolegi wstawiam kod pilocika IR który zrobiłem z myślą o sterowaniu nim piórnikiem elektronicznym który mam zamiar wykonać . W moim pilocie w celu oszczędzania baterii która jest "pastylka" taka jak ta na płytach głównych to po wciśnięciu jednego bądź drugiego guzika zostawało podawane plus albo minus zasilania procesora i od razu...
hmmm no tak, ale dla mnie największą niewiadomą tego programu jest miejsce, w którym "mówię" które wyjście ma np. świecić na 50% (czyli przyjąć wartość 128). Dowolne miejsce w pętli głównej programu (do...Loop) gdzie przypisujesz zmiennym R, G, B konkretne wartości. R, G, B są zwykłymi zmiennymi, w żaden sposób nie są przypisane do konkretnych pinów,...
:arrow: Matkas Nie podłączone piny 22 i 20 procesora, reset też sobie dynda w powietrzu. Czy jest jakiś problem żebyś wstawił schemacik połączenia, cały schemacik. Bo to co wstawiłeś to tylko rysunek poglądowy.
Kwarc 7.3728MHz kondensatory 27p. Kurcze zwarć zimnych lutów nie ma. Według mnie też powinno działać. Pin reset na bank nie wyłączony. Zresztą procesor resetuje się poprzez STK200 pod bascomem.
Zrobiłem jeszcze pare prób i otrzymałem taki wynik, że układ nie zawiesza się tylko podczas włączenia świateł pada komunikacja miedzy wyświetlaczem lcd a procesorem. Jest jakieś polecenie które mogło by postawić wyświetlacz na nogi po jakimś błędzie? jakis programowy reset?
Witam państwa mam problem ponieważ chce do mojego układu gdzie zastosowałem mikrokontroler załączyć kwarc 12MHz jak przestawiam w fusebitach na External RC i wciskam Write FS blokuje mi sie cały procesor i wyświetla się komunikat Redlab not found (BASCOM). Fusebit 0.SPI mam Enabled External Reset też jest Enabled już zmarnowałem 2 mikrokontrolery. Proszę...
Witam! Zaczynam swoją przygodę z procesorami AVR. Posiadam procesor AT90S2313. Do układu podłączyłem elementy zgodnie z schematem poniżej: http://www.obwodypcb.com/avr/avr.jpg Do programowania układu używam programatora STK200, a programuje w BASCOM AVR. Aby sprawdzić działanie napisałem prosty program: --------------------------- Do Reset Portb.4...
Kondensator przy resecie nie jest wymagany, a i uwierz mi - jeden kondziol na ten procesor to za mało, kondensator powinien być przy każdym pinie zasilania.
Jedyne o czym trzeba pamiętać to żeby nie przełączyć zegara na 128kHz (bo nie będzie można zaprogramować procesora przez SPI oraz żeby nie wyłączyć fusami pinu RESET bo skończy się tym samym i bez programatora HV nie da się ponownie zaprogramować 128-ki.
W pierwszym podejściu może to wyglądać tak, jek w załącznikach. Kondensatory na zasilaniu po 100uF - tantalowe, zasilanie 5V lub po wlutowaniu stabilizatora 7805 9-24V. Można też zastosować wersję drivera RS232 nie wymagającą zewnętrznych pojemności, co zredukowałoby układ do trzech elementów. Dla zwiększenia stabilności zegara procesora można dodatkowo...
No dobra. Wywal wszystko na linii Tx telefonu do Rx procesora. Ma być połączenie bezpośrednie. Na drugim kierunku zostaw tak jak masz. Poniżej kod do testów. Powinien działać. [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 $baud = 19200 Config Lcd = 16 * 2 Config Serialin = Buffered , Size = 100 Enable Interrupts 'Declare Sub Oproznij_bufor...
Witam Czy ktoś ma doświadczenie z przerwaniami w bascomie. Napisałem sterownik temp. I cyklicznie za pomocą przerwania wywołuje podprogram który odczytuje temperaturę niestety często zdarzają się kaszaki na LCD poczym reset procesora zazwyczaj w ekranach parametrów po wyłączeniu przerwania wszystko jest ok. Domyślam się że przerwanie zatrzymuje działanie...
Jeśli procesor nowy to domyślnie ma ustawiony wewnetrzny oscylator RC (9,6MHz lub 4,8MHz - tego akurat nie jestem pewien na 100%), ale dodatkowo procesory te mają programowo ustalany podział tego taktowania ustalany poprzez rejestr CLKPR i w układzie nowym (można to wyłączyć w fuse bit) jest dodatkowy podział /8. Można to zmienić także programowo zaraz...
nie rozumiem co ten link ma oznaczac ale spoko. Ja polecam dla poczatkujacych programator stk200/300. Mozna zrobic prostesze programatory, na paru rezystorach ale nie gwarantuje to bezpieczenstwa nie przepalenia portu lpt. Tutaj masz pokazane wyjscia wtyczki programatora (na zdjeciu sa bardziej wyjscia gniazdka do programatora!) http://www.oxisso.com/Microcontrollers/I...
bascom procesor bascom reset reset bascom
motogodzina zetor myjki ultradzwiękowej netgear repeater
krups ea897 mikrokomputer cobra1
Wzmacniacz Rotel: Cichy lewy kanał, jak podłączyć tuner? Schemat podłączenia selektora sygnału w Rotel