Witam! 1. od początku: pełna deklaracja procesora to: [syntax=vbnet]$Regfile = "m32def.dat" $Crystal = 16000000 $swstack = 16 $framesize = 32[/syntax] "mój" Bascom nie toleruje niepełnych deklaracji. 2. w zakładce WIDOK proponuje włączyć "CodeExplorer", to bardzo ułatwia wyszukiwanie błedów. 3. błędy formalne to: a. cytuję: "[syntax=vbnet]Do If Pina.0...
http://obrazki.elektroda.pl/8267947700_1... Ponad 20 lat temu jako amator hobbysta budowałem proste układy elektroniczne. Studia i styczność z informatyką spowodowały, że porzuciłem hobby pod nazwą "składanie elektroniki" na rzecz "składanie programów komputerowych". W bieżącym roku (2011) dzięki uprzejmości kolegi Jacka.M, który okazał...
Witam Bardziej profesjonalnie jest wszystkie układy potraktować jako slave . Każdy słucha i czeka na przerwanie z uarta , jak je otrzymuje odbiera zawartość z udr porównuje i albo odbiera dalej albo ignoruje i czeka na kolejny adres . Atmel wyposażył układy w tryb multimaster ,który się do tego świetnie nadaje i warto o nim przeczytać w dokumentacji...
Koledzy, o czym Tu rozmawiacie? Po raz kolejny dyskusja na temat a który to język jest lepszy... Chciałbym wszystkim zaproponować zakończenie tego tematu jednym stwierdzeniem - wartość programu i jego funkcjonalność nie zależy od tego czy napisany jest on w C, czy w BASCOM, czy ASM - zależy ona tylko i wyłącznie od warsztatu i umiejętności programisty....
Układ zasilam z zasilacza PS-1502DD regulowany, tak jak napisałem wyżej. Oczywiście 5V. Zasilałem różne układny nim i nigdy nie było problemów. Więc wina na pewno nie leży po stronie zasilacza. Co do rezystorów przy niebieskiej diodzie 68 Ohm a przy czerwonej 150. Co do napięć około 1,75 V ( na wyjściu portu np PB2 ) i pozostałe. Sprawdziłem na NOWEJ...
Jak pojmujesz słowo "zawiesza". Uruchamiasz symulację i program stoi na WAIT? Przecież to normalne... Symulacja działa dość wolno. Wpisując przykładowo WAIT 5 będziesz czekał na jej zakończenie dość dłuuuuuuuugo. Na pasku statusu w symulatorze pokazuje się czas;najedż na niego myszką i ruszaj kursorem w obrębie napisu a zobaczysz, że czas się jednak...
Ruszy bez problemu tylko napisz to porządnie. Kamyczkowi nawet się nie chciało zajrzeć do tego kodu a wydaje jakieś nonsensowne opinie tylko dlatego że mu nie wychodziło. Zobacz, nie możesz skoczyć do gadającego Sub`a na taką wieczność jaką jest gadanie i podwójne czekanie na zakończenie gadania. [syntax=vbnet]Sub Powiedz_czas: '**********************...
Jak większość przedmówców ja również miałem problemy z zestawem dostępnym w ofercie Kamami: ZL11AVR i mikrokontrolerem ATtiny2313. Przeprowadzając kolejne etapy opisane w książce Piotra Góreckiego "Mikrokontrolery dla początkujących" spotkałem się praktycznie z każdym z wymienianych przez innych forumowiczów problemem przy podłączeniu zestawu. Ponieważ...
Witam, cel pozostał ten sam, lecz zmienił się kod, tym razem bez Lcd, więc jako zadanie dostałem opisanie krok po kroku otrzymanego kodu oraz przeniesienie kodu z języka Bascom na kod Asemblera i C. Jako, że programowanie nie jest moją mocną stroną, prosiłbym o pomoc (rady, sugestie najlepiej w sposób tzw. łopatologiczny jak można osiągnąć postawiony...
Mam jeszcze pytanie o maskowanie bitów Będę odczytywał dane z PCF8563, a on wymaga maskowania bitów po odczycie. Jako, że na aktualnie używanej płytce nie mam RTC PCF8563, na razie na "sucho" wymyśliłem coś takiego: [syntax=c] void Czas(){ // definiujemy sobie dla polepszenia czytelności programu typ wyliczeniowy // wskazujący nam później na odpowiednie...
ditomek -> masz rację,że ta dyskusja nie ma celu. Dodatkowo powiedziałbym, że ani kolega Balu ani nikt inny w tym ja nie chce zrobić z ciebie ostatniej "lamy" jak to określasz... .... to raczej ty sam rozbisz z siebie to co oznacza to dziwne określenie, ponieważ już kolega Balu podpowiada ci, że nie można traktować zmiennych eram jak zwykłych zmiennych...
Jeden z If'ów nie zakończony End if'em. Poza tym twoja ifologia jest porażająca.
Tego właśnie się obawiałem, no trudno, zrobię tak jak mówisz, tylko troszkę skomplikuje to program. Pozdrawiam!
Program się zawiesi bo na czas zapisu program jest zatrzymywany w pętli oczekującej na zakończenie zapisu (tak robi BASCOM a domyślam się że mówisz o BASCOMowej funkcji zapisującej a nie jakiejś własnej). Kolejne przerwania od Timera będą wywoływane tuż po poprzednim a więc program główny będzie praktycznie stał w miejscu. O zajeżdżaniu pamięci EEPROM...
uC wykonuje instrukcję po instrukcji. Może w jednej pętli wykonywać różne rzeczy ale nie w tym samym czasie. Napisz program tak jak ma się wykonać po kolei. Twój zakończy się po pierwszym END licząc od góry. Program który napisałeś nie kompiluje się z powodu braku deklaracji zmiennych i niekompletnej pętli Do: Loop. P. S. Dwie niezależne pętle w tym...
Masz zapętlenie wywoływania podprogramów instrukcją GOSUB. każdy podprogram np: Wyswietlanie_alarmu_temp powinien być zakończony instrukcją RETURN. Jeśli tak nie masz to w nieskończoność wywołujesz kolejne podprogramy i po którymś cyklu kończy ci się rozmiar STOSU :( np HW_STACK. Dlatego program zaczyna wariować i gubić wartości zmiennych SOFT_STACK....
Nie bardzo jest co komentować, bo najważniejszej procedury (ISR) nie pokazałeś. Jedno jest pewne: Taka konstrukcja i wywołanie procedury 800_ms zakończy się opóźnieniem programu głównego o parę mikrosekund i tyle. Zmienna Licz_8ms będzie się inkrementować tzw. "sobie a muzom". Co więcej, nawet jakbyś poprawnie skonstruował tą procedurę to dalej zamiana...
Temat zakończony.
caly czas, wybieram 1 program i ma wykonywac go tak dlugo az nie wybiore drugiego programu
na symulacji działa, ja jeszcze wymyśliłem coś takiego przycisk musi być podłączony pod INT. Nie jest dobrze; Aby użyc interrupt należy go najpierw skonfigurować jak ma działać i napisac procedurę co ma być zrobione w przypadku interruptu. np: Config Int0 = Falling ' lub Rising On Int0 Procedura ' "Procedura" jest nazwą etykiety w której umieścisz...
f S1 = 0 Then Stop Timer0 Call L_stop Call P_stop Do Loop End If No i tu program zakończy swoje działanie po spełnieniu warunku S1=0. Nie wyjdzie z pętli Do...Loop do pętli głównej. Aha... i jeszcze Case deklaruje się z dwukropkiem Select Case Stan Case 1: Gosub Pucieczka Case 2: Gosub Tucieczka Case 0: If Namierzony_sharp1 = 1 Then Gosub...
Witam, daj sobie spokój z takim dziwnym skracaniem kodu bo zwykle w takich przypadkach wyłożysz się na plecy i długo będziesz szukał błędu. Po pierwsze - tym GoSub-em chcesz skakać do procedury obsługi przerwania, która wprawdzie w Bascomie kończy się dla programisty podobnie jak np zakończenie podprogramu bo rozkazem "Return" - ale to nie to samo w...
I na tym należałoby zakończyć ten temat zamiast 'ciągnąć' go 10 lat(!) Było kliknąć "oko" dziesięć lat temu zamiast się dzisiaj miotać!
tego nie wiem, ale tak długich opóźnień tą instrukcją nie stosuje się ponieważ procesor zajmuje się tylko tym. poza tym jak wspomniałem nie masz możliwości zmiany czasu. musiałbyś dokładnie trafić na zakończenie odliczania. Mówiąc krotko zła koncepcja programu.
Poi pierwsze. Do BASCOM-a jest pomoc - także po polsku, której to zresztą jestem autorem. Wersję on-line (beta) znajdziesz na mojej stronie WWW. Jak one działają? Zliczają impusy. Albo z prescalera, albo z zewnątrz. Patrz nota katalogowa. W którą stronę zliczają? Zwykle liczą w górę. W trybach PWM liczą też w obie strony. Patrz nota katalogowa. Jak...
Mam nadzieję że poprzednie moje uwagi przyczynią się do rozwiązania problemu ale zasugeruję jeszcze jedną rzecz. Zanim jeszcze cokolwiek zrobisz z samym układem, wywal z programu wszystko oprócz konfiguracji wyświetlacza i oczywiście ustawienia typu procesora i taktowania. Następnie wyświetl sobie na wyświetlaczu dowolny napis. Nie zapomnij też wrzucić...
w tych programach sa straszne bledy. jezeli zaczynasz if to musisz zakonczyc end if kurde ludzie paczcie w helpy
Witam , temat zakończony , zmieniony procesor na sprzętowy uart i gra , za pomoc dziękuje i pozdrawiam
Napisz pętlę, która wykona się tyle razy, żeby odliczyć te 5 sekund (np 5000 razy z waitms 1 w środku). Jeśli jakikolwiek przycisk zostanie wciśnięty, to idziesz do ich obsługi, jeśli nie, to pętla się zakończy i program wróci do głównej pętli.
Wlaśnie przestudiowałem przerwania INT0 i INT1 no i wychodzi na to, że raczej nie da się tak zrobić jak chciałem. Ponieważ moje pod programy są w pętli, a przerwanie czeka na zakończenie podprogramu...
Ma być: [...] If Pina.6 = 1 Then [...] Mieniłem tak jak napisałeś, faktycznie ruszył dalej wykonuje pomiar ale dzieje się to samoczynnie bez pojawienia sie na pinie 6 stanu wysokiego, chociaż w kodzie jest zaznaczone żeby robił pomiar dopiero gdy pojawi się '1' na pinie 6. Owszem, ja też przeczytałem że zmieniłes, ale nie jest wiadomo...
Cała ta wojna wokół języków (narzedzi) programistycznych trwa od lat. Wrogowie Basica zarzucali mu niestrukturalność i tę niefortunną instrukcję GOTO. Ale Panowie te czasy (spektruś, commodore, atari) już dawno minęły. Basic również ewoluował i jest teraz strukturalnym kompilatorem aż do bólu. Jest powszechnie wykorzystywany przez wielu programistów....
Na zakończenie tego sporu dodam jedno: Basic jest teraz, był i będzie zawsze.A Ty nie mów że piszesz w bascomie, Ty piszesz w basicu...... Jest wiele programów do basica, nie tylko bascom,VB6 to też basic. Jakby nie było napisany przez Microsoft !!!! a za parę lat będzie coś nowszego. ________________________________________... za 50...
ja tez mialem ten sam problem. porostu jest to chyba jakis blad samego procka bo program pisalem w asmie i nie moglem za cholere doprowadzic do wyszwalania zboczem. jak ustawilem wyzwalnie zboczem to wlasnie reagowal tak samo jak u ciebie w koncu zmienilem troche program i zrobilem wyzwalanie poziomem.
No O.K. To super, że jeszcze nad tym pracujesz i nie skończyłeś, ale czy poinformowałeś o twoich zamiarach kompilator ? On nie wie, że nie skończyłeś i wyświetla Ci błędy. Kompiluje się zwykle zakończony (chociaż niekoniecznie skończony;)) program. Dopisz ENDIF-y i program się skompiluje.
A co to za nawias na końcu programu (zakończenie pętli "loop]) ?? Kompilator Bascoma czasem wskazuje na problem tam gdzie go nie ma, a jest gdzie indziej niestety.
Ja bym zamiast IF... then.... else użył WHILE warunek komenda WEND powinno uprościć sporo. Natomiast w Twoim programie nie ma prawa wracać do mccp2 bo siedzi gdzie indziej. Przez zakończenie RETURN z podprogramu mccp2 wychodzi wcześniej.
A mnie chodziło o to, że nieumiejętne obchodzenie się z podprogramem może spowodować nadmierny rozrost stosu i w konsekwencji crash programu. Np. w sytuacji kiedy skaczemy do podprogramu1, a w nim do podprogramu2, a potem skaczemy do miejsca gdzie nastąpił pierwszy skok nie dając tak naprawdę szansy na zakończenie podprogramu przez Return.
Witam. Postanowiłem wykonać swój pierwszy projekt na uC i jak narazie niezbyt mi się to podoba.Mam programator ispSTK200/300 i żadna z ponad 20 prób nie zakończyła sie powodzeniem.bascom wyświetla komunikat "could not identify chip with FF FF FF" każdy inny program także nie rozpoznaje procesora.Proszę o pomoc.
No i wciagnelo mnie , posciagalem troche przykladow zrobilem sobie programator do Bascom-a , nawet zaprogramowalem go ze zapalam i gasze diode , ( napewno banalnie proste) :) , no i teraz napewno zaczna sie moje pytania , ale chcenajpierw zakonczyc sprawe programu ktory juz byl wczesniej omawiany , poprawilem go troche zrobilem uklad elektroniczny i...
wpisz osiem 0 bo port d ma 8 pinów - &B00000000. I na samym końcu wpisz End (zakończenie programu) Dodano po 33 A spróbuj tego kodu(z szybko migającą diodą) : $regfile = "m32def.dat" $crystal = 1000000 Config Portd = &B11111111 : Portd = &B11111111 do waitms 100 toggle portd.0 loop end Masz poprawnie ustawione fuse bity? Spróbuj użyć taktowania...
Mam zaznaczone takie pozycje: Binary file, Debug file, HEX file, Report file, Error file, AVR Studio Object file Dodano po 2 Temat zakończony - problem rozwiązany - był błąd w programie i dlatego nie chciał robić plików BIN
Masz żle napisany program. Po co czekasz w przerwaniu na zakończenie przetwarzania pomiaru. Zapewne program napisany w Bascomie a pomiar na DS1820. Dlatego czekasz ok 1s na zakónczenie przetwarzania pomiaru. Przerwanie służy do wykonywania ukreślonego programu nie zaklucając dziłania programu głównego. Zrób tak: zdefiniuj zmienna pomiar, Włacz w przerwaniu...
A co z tymi parametrami, o które pytałem ? Podłącz LCD i wyrzuć zmienne na ekran dla pewności, może nie wystartowałeś ADC i pozbądź się tych dwukropków dla świętego spokoju, bo tak jak mówiłem, dwukropek najprawdopodobniej powoduje, że następne linia przechodzi pod ciągłość poprzedniej i jeśli uczepi się coś do jakiegoś warunku który zakończyłeś ":"...
Oto program, wstawiam go gdyby ktoś miał podobny problem. Tu przychodzą ludzie z bardziej poważnymi problemami.. Czy ten twój 'ukończony' program w ogóle się kompiluję (?), czy ma on wykonywac jakieś konkretne zadanie (?) czy tylko zabierac miejsce i czas czytelników tej grupy? Zwróc uwagę na fragment twojego programu umieszczony w pętli Do...Loop...
W trakcie tworzenia programu ile razy wkładałeś 2051 do podstawki? Kilka razy. No nie chciało zadziałać za pierwszym razem :) Bascom nie był taki zły jak go malują. Tutaj przykład termometru na ATTiny2313 z DS18B20. http://mirley.net/minitermometr_uniwersa... Ten projekt jest też na elektrodzie o ile pamiętam. Hmm, ja jednak zrobiłem obsługę błędów,...
szukałem właściwego tematu, ten uznałem za najbardziej odpowiadający, tym bardziej że podobny problem opisany jest stronę wcześniej. Atmega16, programator przez USB A mianowicie - wczoraj programowałem atmege kilka krotnie, czasem AVRDude wyrzucił error, ale wystarczyło odpięcie programatora od usb, i po ponownym podłączeniu wszystko wracało do normy....
Halogeny też będą zabronione ?? a co do projektu, właśnie zakończyłem projekt na uczelnie gdzie wykorzystuję sterowanie halogenem. jest to zrealizowane w ten sposób, że mam 100 poziomów jasności (0-100%). Sterowanie fazowe oczywiście i triak załączany impulsem. Logicznie, program działa tak: 1) system detekcji zera (transoptor) wykrywa moment w którym...
a w jaki sposób jest zakończony ten ciąg 32 bajtów? czy to <CR> czy <CR>+<LF> czy moze jeszcze coś innego? czy potrzebujesz zawsze tylko danych z paczki B2? Czy znasz zasady obliczania sumy kontrolnej?
Rozwiązałem program i problemy Tylko do czasu przepełnienia stosu, a później maliny! Nie wychodzi się z podprogramu poprzez Gosub Wyl do pętli głównej. Podprogram musi się zakończyć przez Return! Wyjdź z pętli Do: Loop przynajmniej za pomocą Exit Do i wstaw na końcu podprogramu Return. Etykieta Wyl nie będzie potrzebna. End przestaw pod Loop pętli...
arduino zakończenie programu bascom programu ds18b20 bascom wykonanie programu
błąd wskaźnik cisnienie piecu zwarcie światło
ESP32 Arduino – przykład obsługi karty SD, SPI i SD_MMC, kod, podłączenie, formatowanie FAT32 BMW X3 E83 2.0i 150KM LPG – check engine po 100 km, błędy na gazie, benzyna OK