No, ok. Więc musi zatrzymać transmisję, podać ponownie adres rejestru który zamierzasz odczytać i go odczytać. Czyli robisz tak samo, jak podczas odczytu godziny ale nie podajesz adresu rejestru sekund, a adres rejestru z którego chcesz odczytywać swoje dane. A swoją drogą, to przecież takie porównanie możesz wykonać w programie procesora.
Nie słyszałem o takiej możliwości, ale... człowiek uczy się całe życie.
Powtórna inicjalizacja (sygnał START) wymagany jest tylko w momencie w którym Master zapisuje do układu adres rejestru z którego następnie chce odczytać wartość (FIG. 17 z dokumentacji). W przykładzie z pierwszego postu powtórna inicjalizacja podyktowana była "cechą" układów na I2C - automatyczna inkrementacja licznika rejestru. Jeśli wpisujesz wartość...
generator wewnętrzny jest bardzo niestabilny, mocno zależy od temperatury. Daj kwarca albo skoryguj wewnętrzny oscylator rejestrem OSCAL.
Raczej tylko w rejestrach
Nie wiem co masz za Bascoma , ale w pełnej wersji v1.11.8.7 symulator pokazuje w zakładce I/O 60 rej. dla m8 i ... 78 dla m48/88/168. Jeśli chciałbyś poobserwować rejestr , którego nie ma w zakładce I/O, to zawsze możesz wpisać go do ... Variables. Piotrek
Timer 0 w atmedze8 nie ma pwm. Powinieneś użyć Timera 2, czyli rejestrów TCCR2 i OCR2.
Skoro z kompa umiesz to powinienes tez umiec z atmegi... z tego co wiem, bascom ( :/ ) zwraca czas w BCD. Ale mniejsza o to... Musisz zrobic tak: 1) Zdefiniuj wlasnego fonta (cyfry 0..9) 2) Zrób sobie bufor ramki, najlepiej JEDNOwymiarowy 3) Napisz parę funkcji które wyrenderują cyfry do bufora ramki 4) No a jak przeslac taki bufor na matryce to juz...
Przykładowo z innego kodu ;) [syntax=vbnet]TCCR1B = Bits(WGM13 , WGM12 , CS10)[/syntax] Miłego dnia
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...
Nie podam Ci konkretnych. Możesz spróbować od symulatora Yenka. Ja sam jestem jeszcze z epoki książek...
te rejestry (Fuse Bity) ustawia sie przy programowaniu programu a nie w sofcie. wbudowany programator bascoma ma taką opcje jak właczysz okno programowania to w zakładce "lock and fuse bits"
do sprawdzania stanu portu służy rejestr PIN
No tak dwa bity z lewej to rok dalsze 2 to 10 dni i ostatnie 4 to dzień zrobiłem taki program Zapisuje na starcie godzinę 23:59:58 i datę 31-12 dzień wpisuję tak &B00110001 , daję mi to 31 dzień miesiąca , kiedy przechodzi data na 1-01 to zmienną dnia wyświetla mi tak &B00000001 ale bity roku nie uległy zmianie. Jak do tego nie dojdę chyba zmienię...
Mając trochę wolnego czasu napisałem parę funkcji do obsługi układu PCF8583. Funkcja która ustawia godzinę i datę zapisuje też dane potrzebne do obliczenia pełnego roku, dzień tygodnia jest obliczany automatycznie na podstawie daty. Funkcje Pcf8583_write i Pcf8583_read można wykorzystać do zapisywania/odczytywania danych z wolnej pamięci ram. Dostępne...
To znaczy dobrze się przesiąść na C, ale w BASCOM też się da operować na rejestrach - chodzi tylko o konieczność poszperania w karcie katalogowej. A nawet wIELKI przez małe w nie jestem ;-)
W BASCOMie możesz używać wszystkich rejestrów od R16 do R25 bo BASCOM nic w nich nie trzyma (od R0 do R12 w sumie też ale na nich nie działa rozkaz ANDI). Pozostałe to nie wiadomo. Czasami jakiś wskaźnik może się tam znaleźć więc trzeba uważać.
W bascomie można tak: 'zmienna_long = (zmienna_byte & 3) << 10; Zlong = Zbyte And 3 Shift Zlong , Left , 10 'zmienna_long |= (zmienna_byte <<2) & 3; // ???????? Shift Zbyte , Left , 2 Zbyte = Zbyte And 3 Zlong = Zlong Or Zbyte Pozdrawiam Piotrek
Spokojnie- dobrze kombinujesz. Bity w rejestrach w Bascomie ustawiasz pojedynczo. Tak że Set Tccr1a.cs00- jest ustawiony bit cs00. A jak ustawisz Set Tccr1b.7 - to masz 00000111 w tym rejestrze. Sprawdź jak jest on ustawiony wtedy.( tu głupoty napisałem- jak sprawdził Atom) Ustawisz siódmy bit. Dodano po 3 " i tylko czekasz na gotowca." Nie- to jest...
Potrzebuje zrobić obsługe tego układu w bascomie. kompletnie nie wiem, jak go adresować, jestem początkujący, a notka niewiele mi mówi... Pozdrawiam To poczytaj właściwą notkę http://www.e-lab.de/downloads/DOCs/RTC85... Piotrek
Nie wiem jak działa to w Bascomie. Tak działają rejestry w assemblerze. Staram się nie mieszać, ale wydaje mi się że jak zrozumiesz dokładnie do czego jest który rejestr to łatwiej Ci będzie to rozgryźć. Lepiej wiedzieć co do czego i po co.
Kolego, układy AVR mają nogę podłączoną do kilku rejestów. Pisząc słowo PIN konfigurujemy rejestry wejściowe, a słowo PORT rejestry wyjściowe. Chodzi tu o składnie języka Bascom.
No to spróbuj - zmienną wysyłasz jak normalną wartość, w Bascom ustawienie bitów w niej będzie się odbywało tak samo jak majstrowanie z rejestrami PORTn.x.
Tak jest możliwe. Skoro otrzymujesz za duży czas to zmniejsz wartość wpisywana do timer0 (nie znam bascom więc nie wiem za co który rejestr odpowiada wartość wpisana do timer0, aczkolwiek 40kHz otrzymasz bez problemu).
O ile się orientuję, to przebieg 1Hz może być na wyjściu CLKOUT. W rejestrze 0D musi być 0x83, ale nie mam pojęcia jak to zrobić w Bascomie.
Bascom operuje bezpośrednio na rejestrach. Poczytaj DS co i gdzie trzeba poustawiać, a potem czytaj wynik też prosto z rejestrów. Nie używaj getadc. To polecenie działa tylko w trybie single i o ile wiem wykonuje konwersję zawsze dwa razy zwracając wynik drugiego pomiaru. Wtedy o szybkości max nie ma co mówić.
Sekunda.0 to najmłodszy bit bajtu sekunda, taki dostęp do pojedynczych bitów bajtu pojawił się dopiero w jednej z wersji bascoma, stąd nie działa we wcześniejszych. Działa to dokładnie jak w przypadku odwoływania się do pinów portu - piszesz portd.1 - kiedy chodzi o drugi (po pierwszym - zerowym) bit bajtu Portd, w odpowiednim rejestrze
Tryb CTC należy ustawić zgodnie ze stroną 112 PDF. Należy dokładnie przeczytać tę stronę i okoliczne. Potem ustawić odpowiednie bity w odpowiednich rejestrach. W Bascomie robi się to np. tak: set TCCR1B.wgm13 i tak dalej. Bascom nie ma gotowych instrukcji na wszystkie możliwe tryby pracy timerów. Ale pozwala na ustawienie tych trybów "ręcznie"- przez...
Witam, Natknąłem się na problem dotyczący konfiguracji licznika Timer1. Najprawdopodobniej BASCOM zawiera jakiś błąd i używając standardowych instrucji uzyskanie PWM z tego licznika nie jest możliwe. Używając standardowych "Config Timer1..." nie można nawet zmusić Timer1 do zwyczajnego zliczania... Mniejsza o BASCOM, postanowiłem zrobić to samo wpisując...
Po co na rejestrach? W Bascomie nie trzeba operować na rejestrach. Od tego są mnemoniki konfiguracyjne. R
witam jestem poczatkujacym programista i mam maly problem a mianowicie wszedzie gdzie szukam znajduje gotowe wartosci do obslugi tej instrukcju a ja bym chcial obliczyc sam pod swoje potrzeby w ksiazce znalazlem przyklad sterowania dla kwarca 10mhz i jest tylko napisane ze taki byc powiniene bo wtedy wartosc 100 wpisana do rejestru daje nam 1ms jak...
A o nazwę PWM0A się BASCOM nie "rzucał"? Spróbuj wpisywać bezpośrednio do rejestru OCR0A. I usuń te polecenia Start gdyż są bez sensu. W wersji 1.11.9.5 rezultat kompilacji wydaje się być poprawny. Rejestry ustawiane są prawidłowo. W domu znajdę jakiegoś Tiny i sprawdzę.
Witam, Chciałem się zainteresować rejestrem przesuwnym 74HC595 jako rozszerzenie AVR o kolejne wyjścia lecz coś mi to w symulatorze ISIS nie działa. Proszę zerknijcie i wypowiedzcie się gdzie popełniam błąd. Proszę nie krytykujcie małej znajomości obsługi SPI i ISIS ponieważ dopiero się zaprzyjaźniam z tematem. http://obrazki.elektroda.pl/1861876000_1...
Czyżby nikt na elektrodzie nie potrafił mi pomóc?? ;) W końcu uruchomiłem ten program ( w zasadzie napisałem go od początku). Niestety znowu mam problem. Program zapisuje (chyba) poprawnie rejestr konfiguracyjny 0x0a (dioda myszki nie przechodzi w stan uśpienia). Ponadto poprawnie odczytuje zawartość rejestru najjaśniejszego pixela 0x07 i średniej wartości...
Problem jest nieco skomplikowany. Pisząc wstawki asemblerowe należy używać - dla liczb w stałych - notacji bascomowej, czyli: mov r0,#&hff mov r1,#&b10101010 mov r2,#123 można także dla liczb szesnastkowych użyć zapisu: mov r3,#h'AA 'dopiero ten apostrof traktuje jako komentarz ; chociaz takze dziala srednik mov r3,#h'0A ;liczba musi być zapisana dwuznakowo...
No,ale nie podałeś jaki procesor. W Bascomie można ustawić rejestry Timera "ręcznie"- a nie przez config. Zamiast czegoś takiego: "TCCR1A = &H00 'See datasheet for details "TCCR1B = &H0C 'See datasheet for details można ustawić to po "bascomowemu"- patrząc w DS. set TCCR1A.cs12 set TCCR1A.wgm12 Itp. Zamiast config ustawiasz poszczególne bity w rejestrach...
Dim Czas as Word Czas = 850 do Set PortC.1 Wait Czas Reset PortC.1 Wait Czas loop Pozdrawiam P.S. Poczytaj do czego służy Alias. Nadaj alternatywne nazwy rejestrom a nie poleceniom języka.
Jak najbardziej w arduino można operować bezpośrednio na rejestrach tylko trzeba brać pod uwagę skutki tego rozwiązania... Jak ktoś zada sobie trud podejrzeć co kryje się za digitalWrite() to będzie wiedzieć o co chodzi. Niemniej PORTD/PIND/DDRD są jak najbardziej dostępne w Arduino co w niektórych przypadkach może być wygodniejsze przy przesiadce z...
W załączeniu pdf z opisem pcf-a po polsku. Masz tam opisane jakie rejestry należy ustawiać.
A nie lepiej tak ? Przykładowa konfiguracja timera1 w trybie CTC i przebiegiem na OC1a [syntax=basic4gl]Config Timer1 = timer, Prescale = 256, CLEAR TIMER = 1, Compare A = toggle, Compare B = disconnect [/syntax] Potem tylko zmieniać wartość rejestru Compare1a jakimiś przyciskami, pilotem, enkoderem etc. ps. Jak nie zadziała to poustawiać bity w rejestrach...
W sumie tak, możesz wzorować się na bibliotekach z c i przepisać je na Bascom z obsługa przez rejestr 74hc595
To tylko opóźnienie. DJNZ zmniejsza zawartość rejestru R7 i skacze do etykiety Et1, aż wartość tego rejestru będzie równa zero. W bascomie można użyć instrukcji waitus 40 w tym przypadku będziesz miał opóźnienie 40 us
Witam. Jak zapisać do rejestrów i później z nich to odczytać bajt danych? Chodzi mi o Bascoma nie AVR tylko '51. Słyszałem że można korzystać z podprogramu skompilowanego z Assemblera kompilatorami A51, L51 i M51. Ale czy jest jakaś prostsza metoda? Bo potrzebuję zczytać z klawiatury znak poprzez port równoległy. Jak to zrobić po najmniejszej linii...
Te procesory się aż tak nie różnią. Dodatkowe funkcjonalności pinów nie przeszkadzają w niczym dopóki ich nie uruchomisz. (PCINT - Pin Change Interrupt trzeba wiedzieć jak włączyć). Jest duża różnica jeśli chodzi o Timery właśnie. Mega8 ma na przykład tylko jeden rejestr Compare dla Timer2 dlatego inaczej się nazywają. Opisałem to u siebie na stronie...
.Czy ktoś może wie w czym tkwi problem/spotkał się z taką sytuacją? A zmienna, której wartość kopiujesz do OCR3A/PWM3A nie jest przypadkiem zadeklarowana jako BYTE ? Jeżeli to nie to, to spróbuj zapisywać rejestry OCR3 osobno - OCR3AH, OCR3AL.
Witam, to jednak nie wygląda dziwnie ... bo najprawdopodobniej pomimo to, że użyłeś zwenętrznego kwarca do procka to nie przestawiłeś fusebitów tak aby to on taktował procka. W związku z tym procek taktowany jest chyba tak jak fabrycznie ustawione są fusebity - czyli za pomocą oscylatora wewnętrznego o częstotliwości 1MHz. I dlatego masz ten jak piszesz...
Tylko że to ci nie wyczyści wszystkich rejestrów.
Witam, kod kompiluje się pod mega644, a tych mam sporo, co prawda zajmuje tylko 4% więc dorzucę jeszcze obsługę modus. dziekuję za dopowiedź, temat zamykam.
Balu nie wiem co to ddr DDRx jest to rejestr, który służy do określenia kierunku transmisji portu. Input lub Output.
LM317 + sterowanie rejestrem przesuwnym 74164, 74HC595 lub portem I2C PCF8574.
Witam.Wiem jak obsługiwać jeden rejestr przesuwny(przynajmniej ze strony teoretycznej :D). Schody zaczynają się gdy chciałbym obsłużyć dwa układy, żeby zrobić np to: http://www.elektroda.pl/rtvforum/topic16... tylko że w Bascomie. Wiem że do wysyłania służy instrukcja SHIFTOUT. Można prosić o przykład kodu , który jedną zmienną wysyłałby do jednego...
Witam W tym rejestrze tylko dwa bity dadzą się zmienić i przy okazji odpowiadają one za rozdzielczość więc wpisanie do rejestru wartości 63 dzisiętnie lub 3F hexadecymalnie załatwia sprawę. -- pozdrawiam
A co to znaczy nie działa? Może BASCOM ten bit ustawia automatycznie dla większych prędkości UARTa. Zobacz w podglądzie rejestrów w symulacji.
Witam ja powiem ze sie da i to bardzo dokłądnie to wykoanć Potrzeba ci jeden Timerek generujacy przerwanie co sekunde. i drugi timerek to wyświetlania w multplesie. Choć faktycznie te dwa timery moga zaburzyć nieco prace tego całego układu. podłacz sobie jeden ls247 i 4 ledy w MPXie zajmie ci to jeden port. 4 linie to BCD i 4 to załącznie pokoleji LEDów....
problem tkwi w tym, że program masz do obsługi układu DS1820, a podpięty masz DS18 B 20 (różnią się one rozdzielczością i sposobem zapisu temperatury w rejestrach). W internecie znajdziesz masę programów pod BASCOM i nie tylko obsługujących ten termometr.
Sprawdź w symulacji co się dzieje z rejestrem TCCR1B (a szczególnie z bitami CS10 - 12) po komendzie "timer1 = 0".
No rejestrami tak. Ja miałem na myśli BASCOMowe polecenie konfiguracyjne.
Witam czy ktos moze mnie oswiecic w jaki sposob zapisac wartosc do rejestru Counter1 pod bascomem ? Mam taki prosty program i za nic w siecie bascom nie che go lyknac $regfile = "Attiny26.dat" $crystal = 1000000 Config Timer1 = Timer , Prescale = 64 On Ovf1 Czas Enable Interrupts Enable Timer1 Counter1 = 120 Do nop Loop Czas: nop Return...
"Tą" liczbę masz zapisaną w zmiennej Liczba_przerwan_tim0 a nie w ośmiobitowym (czego się chyba obawiałeś) rejestrze timera0 - więc nie ma problemu.
Do odczytu stanu portu służy rejestr PIN. Czyli masz źle zrealizowane warunki w funkcji przerwania.
Zajrzałem do skompilowanego pliku i widzę że kompilator w ogóle nie używa tu R2 i R3 więc mi je zostawił ;) Od pewnego czasu w Bascom do rejestrów można się odwoływać prosto z kodu. Ciekawe którą wersję Bascom masz. Pewnie znowu schody... U mnie program się kompiluje na 96% [syntax=vbnet] $regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 16 $swstack...
Niestety bascom to czasem zgadywanka. On powinien operować na zmiennych a nie na rejestrach
Witam Czy w bascomie jest obsługa 3-go pwma chodzi mi o pwm oc1.Czy trzeba bezpośrednio na rejestrach działac. Dziękuj za informację i pozdrawiam
Moim zdaniem błąd leży w procedurze Bascoma "Config Timer0 = Pwm" - nie wiadomo jak Bascom ustawia poszczególne rejestry. Można by było poustawiać rejestry ręcznie i sprawdzić co się dzieje.
A czy dodałeś plik definicji rejestrów dla procka którego używasz? $regfile = "m8535.dat" dla atmega8535 (nie wiem jakiego proca używasz)
Nie wiem konkretnie o co Ci chodzi, ale pewnie rozwiązaniem było by zastosowanie odbioru w przerwaniu co w bascomie jest niezwykle łatwe za pomocą BYTEMATCH. Mam wersje 1.11.9.0 i wspomnianego BYTEMATCH nie ma. Od ktorej wersji bascoma jest w/w funkcja? Zawsze byłem za tym, by najmniej korzystac z gotowych funkcji, a korzystac bezposrednio z rejestrów...
Zobacz jak dziala kod na jakims debuggerze - masz JTAG? Albo w AVR Studio (nie wiem czy Bascom ma odpowiednik). Sprawdz czy prawidlowo sa ustawiane rejestry odpowiedzialne za wspolprace z XRAM. Moze to jakis blad Bascoma? Swoja droga przy tak duzym procesorze chyba juz warto przejsc na profesjonalne narzedzia? :)
No dobra. Ale co to jest ? Bo nic nie rozumiem. Po co tak wachlujesz tymi zmiennymi ?
Przekaznik Alias Pinc.5 powinno być alias portc.5;) Tutaj mamy 3 rejestry do obsługi portu, nie jak w 51 1;P
Witam!!! Posiadam uC AT89S52 w projekcie na zaliczenie i chcę program pisać w Bascom'ie. Problem z tym, że w ustawieniach Compiler -> Misc -> Register File nie ma żadnego pliku odpowiadającego AT89S52. Który plik z podanych w programie mam wybrać, albo gdzie mogę znaleźć plik z ustawieniami rejestrów do Bascom'a od AT89S52??? Posiadam BASCOM-8051 IDE...
Str. 100 i 101. Rejestr TCCR0, bity COM00 i COM01.
Prosty program zmieniający z częstotliwością 0,5Hz stan końcówki PXY raz jako zwarcie z masą (logiczne zero) wmuszone stanem rejestru PORTX.Y, a po sekundzie wystawiający na końcówkę PXY wysoką impedancję. Fakt, jedynką ustawiasz masę, a zerem ustawiasz wysoką impedancję. Z tym chyba sobie poradzisz. [syntax=basic4gl]PORTX.Y = 0 'Wartość rejestru PORTX.Y...
GPIOB->BSRR=0b00000000000000000000000... //ustawi 1 na PB.0 bez zmiany pozostałych pinów? GPIOB->BSRR=0b00000000000000010000000... //wpisze 0 na PB.0 bez zmiany pozostałych pinów? Jednak wolę Bascom niż zabawę w liczenie 32 bitów To nie Bascom, nic nie trzeba liczyć. Piny mają zdefiniowane nazwy symboliczne np. w odniesieniu do...
Wydaje się ok. Celem programu jest sterowanie wyświetlaniem jednego (lub dwóch obok siebie) segmentów wyświetlacza BAR LED jako cyfrowej skali częstotliwości do tunera 88-108. Stąd, pozycja na "skali" zależy od zmiennej (powiązanej z odbieraną częstotliwością). Kierunek "przesuwania" jest jeden, bo i tak po zmianie częstotliwości przeładowane zostaną...
Proponuję jeszcze otworzyć notę mikrokontrolera. Masz tam rozdział Register Summary. Szukasz "Spmcsr" i całkiem po prawej stronie tabeli jest numer strony na której cały ten rejestr jest opisany. Można nawet w Adobe Reader kliknąć "łapką" w ten numer strony i Cie od razu przeniesie. Tak jest z każdym rejestrem o który pytasz.
Zamaskować nieużywane bity rejestrów przechowujących czas. Nie możesz zakładać, że one mają wartość 0 - w praktyce mają wartość losową.
program pisałem z Polską wersją pomocy tam nic o ctc nie pisze ale poczytam. Może Bascom nie obsługuje tego, choć wątpię, bo CTC to "popularny" sposób obsługi timera. Jeśli nawet Bascom nie obsłuży CTC to można to zrobić pisząc bezpośrednio do rejestrów.
DDR to nie instrukcja tylko rejestr portów np. DDRB - rejestr określający kierunek portu PortB (wejście czy wyjście). W bascomie konfigurujesz np. Config portb.5=output lub np. config portb=input Po szczegóły odsyłam do dokumentacji procesora i języka Bascom.
Witam A można prosić o kod w bascomie?? Pozdrawiam
W trybie power down są zachowywane rejestry procka. Niech WDT budzi procka co 2 sekundy i zwiększa wartość wybranego/wybranych rejestrów.
Temat już trochę przeterminowany ale, BASCOM 51 ma wsparcie do 80c535, jest w nim plik definicji rejestrów 80535.DAT więc nie powinno być z tym problemu w tym kompilatorze Tu trochę info odnośnie 80c535 w PL http://www.imne.pwr.wroc.pl/zne/laborato... pozdr KN
ale po co ci zerować ten rejestr skoro nie używasz uarta? mega 16 nie posiada takiego rejestru.
A jest $regfile "m8515.dat" ? Zresztą może Bascom nie chce rejestru w if. Może tak: Dim moja _flaga as bit moja _flaga= ADCSRA.FE if moja_flaga=0 then
To pozostaje tylko skonfigurować rejestry...
Ciąg "Timer0" faktycznie nie zmienia koloru, ale jest to tylko błąd kosmetyczny. Po kompilacji nie ma żadnych błędów, zaktualizuj sobie program do jakiejś nowszej wersji. A jeśli będą jakieś problemy, to polecam ręczny wpis do rejestrów licznika, z takimi "rzadziej spotykanymi" prockami zwykle są jakieś kwiatki :)
I właśnie do tych asmowych wstawek trzeba znać asma:) PS twój kod się nie skompiluje;) instrukcje immediate nie działają na młodszych 16 rejestrach:)
Aha - w opisie zapomniałem podać, że oczywiście trzeba też ustawić częstotliwość nadawania/odbierania wpisując odpowiednią wartość do rejestru A680h.
W starszych AVR'ach wystarczyło wyłączyć na moment nadajnik/odbiornik UART'u (rejestr UCSRB, lub UCSR0B, UCSR1B, itd.) i włączyć ponownie - może tu też zadziała.
Nie. To działa i na portach (ogólnie rejestrach IO).
Przeczytaj co jest napisane np tutaj to z pewnością pomoże Ci właściwie skonfigurować porty pod bascomem.
Bascom moze tego nie obslugiwac. I ile recznie mozna wpisac do rejestru wlaczenie tego przerwania, to podanie wektora przerwania pewnie bedzie juz problemem - moze edycja pliku z danymi o ukontrolerze. Przerwania zmiany stanu na PCINT przypisane sa do portów, i dodatkowo mozna zdefiniowac które piny maja byc monitorowane (nie musza byc wszystkie).
Bascom jeszcze nie obsługuje PWM w Timer0 z poziomu CONFIG. Trzeba skonfigurować "ręcznie" przez bezpośrednią modyfikację rejestrów sterujących licznika. :(
Ostatnio napisałem program do obsługi żyroskopu i akcelerometru MPU6050 w Bascom. Wszystko chodzi jak trzeba po zaimplementowaniu filtru dolnoprzepustowego pod akcelerometr i fuzji żyroskopu z akcelerometrem przez filtr komplementarny. Kąty mierzy jak trzeba z jednym małym ale, dryf oś "z" musi być stabilizowany kompasem (z tego co czytałem). MPU6050...
Nie rozumiem po co dioda LED ukazująca stan nawiewu jest podłączona do osobnego pinu. Nie ma takiej potrzeby, a nawet jest to nie wskazane. Stan wejściowy pinu portu D, nawet kiedy w DDRD jest on ustawiony jako wyjście, można odczytać z rejestru PIND, natomiast wyjściowy z PORTD - tak, ten rejestr można również odczytywać. Nie programuję w Bascom, ale...
Należy: - zadeklarować zmienną globalną np. LICZNIK i nadać jej wartość zera, - włączyć przerwania od przepełnienia Timer0, - w funkcji przerwania należy zwiększać wartość zmiennej LICZNIK o jeden Aby poznać liczbę impulsów wystarczy pomnożyć LICZNIK*256 i dodać do niego aktualną wartość rejestru licznika timera, czyli jak sądzę counter0 (nie znam BASCOM).
Próbowałeś "ręcznie" napisać obsługę tych przerwań? Czasami trzeba troszkę wyręczyć bascoma. Odpowiedni wpis w rejestrach PCICR i PCMSK0 powinien załatwić sprawę ;)
W RAMie też nie można adresować pojedyńczych bitów. Rozbijaniem na bity zajmuje się BASCOM a robi to już w rejestrach a nie w RAMie.
No to po kolei. W ATtiny26 w masz schemat przetwornika ADC na str.97 i tabelkę na str.104. Na górze tabelki masz które wejścia ustawiasz jako positive a które jako nagative. No i Gain- wzmocnienie może być 1 albo 20. No i dalej-ATMega8, 88 nie ma sprzętowego pomiaru różnicowego. ATMega16- ma, ale nie gwarantują tego w obudowie DIP- tylko w TQFP. No...
Pisałem kiedyś w Bascom'ie 51 program na ADuC836. Stosowałem przerobiony plik .def od ADuC812. Dopisałem i pozmieniałem w nim rejestry według datasheet'u. O ile dobrze pamiętam to Bascom czasem inaczej niż w nocie uC nazywał i wywoływał niektóre rejestry.
To nie jest podstawowy język procesora. To po prostu adresy rejestrów.
bascom rejestr przesuwny wartość rejestr bascom rejestr przesuwny bascom
mplab pickit3 falownik prąd stalego minimalna przewodność
software download software download
MAN 5 04016 - 10: SPN 4016, FMI 10 – czujnik jakości AdBlue, niestabilny sygnał, naprawa MAN SPN 5550 FMI 04, VAG 00550-04 – błąd czujnika NOx, regulacja początku wtrysku