Dla ciebie to proste a ja nadal nie qmam tych rejestrów. Mcucr... Itp...
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...
Coś masz popsuty uC, bo właśnie wgrałem tę moją wersję do procka (do tiny13 dla jasności :D ) i dioda podpięta do pb.4 miga. Jak spowolniłem zegar do 128kHz to wyraźnie widać, że to mignięcie to w rzeczywistości jakiś kod, bo składa się chyba z ośmiu mrugnięć i przerw między nimi. Jak będzie działać i u ciebie, to jesteś mi winien piwo, przynajmniej...
W bascomie tez mozna to poustawiac bez ASM. Bascom pozwala na operowanie na rejestrach, wiec mozna robic przypisania typu MCUCR = &b10101011 MCUCR.1 = 1 itp.
henryxxl Ale w programie ma napisane Config Int0 = Falling spróbuj ustawić ręcznie bity ISC01 ISC00, może bascom coś miesza. Dodano po 5 Zamiast Config Int0 = Falling wpisz MCUCR.1 = 1 MCUCR.0=0 (tej lini nie musisz bo domyślnie jest 0)
Bo bascom uparcie twierdzi, ze ATmegi przerwania generuja wyłaczie dla LOW LEVEL. Nie wiadomo czemu tak jest, ale jest. Ale dobrze wymysliłes z tym MCUCR. Ja tez tak to ustawiałem w mega8 i działało. Tylko dal zbocza opadajacego jak pamietam MCUCR.1 trzeba ustawić na 1, a nie )0. Z resztą sprawdź jeszcze w dokumentacji.
Przykładowy program. Nie robi nic ciekawego tylko wybudza procesor z power-down przez int0 i miga diodami. $regfile = "attiny13.dat" $crystal = 9600000 Config Portb = &B011000 Portb = &B000010 $hwstack = 24 $swstack = 8 $framesize = 24 Dim X As Bit Dim Y As Byte Config Int0 = Low Level Enable Interrupts On Int0 Go Nosave Set X Do If X = 1...
Wychodzi na to, że szybciej sie dogaduję z uC, PC niż z ludźmi :D Jest kod w Bascom i działa. Gość pyta jak to zapisać w Asm to dostaje tłumaczenie każdej komendy Bascom do Asm i dalej nie widzi zależności? Może zanim komus pomożemy powinniśmy zapytać czy OT wie ile jest rejestrów albo czy wie co to R23 :D Otóż Bascom jak ma działać na zmiennych to...
Niestety sprawa rozbija się o składnie bascom'a ale dzieki A co , w Bascomie nie można zapisać danych bezpośrednio do rejestru :?: Po konfiguracji ADC i przerwań usypiamy proca w trybie ADC Noise Reduction Mcucr = Mcucr And &H0F ' na wszelki wypadek ;) zerujemy 4 najstarsze bity Mcucr = Mcucr Or &H90 'ustawiamy bit SE i SM0 sleep 'instrukcja assemblera...
Nie wiem jak to w bascomie nie wnikałem w kod, ale można to zrobić tak że deklarujesz aktywację przerwania jednym zboczem, a po jego wywołaniu zmieniasz tą konfigurację na drugie zbocze (zmiana w rejestrze MCUCR). Albo wywołanie przerwania ustawiasz na dowolną zmianę sygnału i w jakiejś zmiennej przechowujesz stan wcześniejszy i porównujesz
Sygnał przychodzący podłączasz do dwóch wejść: INT0 i ICP1. Rejestry MCUCR i GICR konfigurujesz tak, żeby na zbocze narastające na wejściu INT0 timer startował, a na opadające na INT1 zatrzymywał się...
Po pierwsze to zmniejsz mu częstotliwośc zegara o ile jest taka możliwość, po dugie uC ma dwa tryby obniżonego poboru mocy - usawiane bitami w rejestrze MCUCR, bit SM i SE. Szczególy - manual str. 27
Jak zwykle miałeś rację :), i znowu pasuje powiedzieć "diabeł tkwi w szczegółach". Wiem że nie nie powinno używać się GOTO, ale w moim przypadku, po naciśnięciu przycisku POWERDOWN, przy instrukcji CALL wyświetlacz "zamarza" i po ponownym naciśnięciu dopiero przechodzi w PWDN. Instrukcja CALL wykonuje się tylko raz i wraca prawda? W dodatku całe moje...
On Urxc Rs_rx_ok On Utxc Rs_tx_ok '---------------------------------------... Dim Rs_tx_bufor(7) As Byte Dim Rs_tx_licznik As Byte Dim Rs_tx_ograniczenie As Byte Ddrd = &B00000010 'TXD = wyjscie, reszta wejscia Portd = &B00000010 'TXD = stan wysoki, reszta HI-Z Ddrb = &B00001000 'PB3 = wyjscie,...
Na razie mam pytanie, dlaczego użyłeś Nosave i potem Pushall i Popall ? Czy jest różnica gdyby nie użyć Nosave ? Załadowanie rejestrów na stos , trochę trwa , a ja chcę jak najszybciej wyłączyć zasilanie bramki triaka ... Int0_int: 'wykonuje się w 146 taktach sbi Portb,1 'wyłączamy bramkę triaka jak najszybciej ;) 'sbi nie modyfikuje SREG ,...
Na wait-ach to był prototyp do potwierdzenia teoretycznej wiedzy o regulacji fazowej :D już zrobiłem na przerwaniach i śmiga nic nie przycina podczas odbioru danych z pilota wystarczyło trochę pomyśleć i działa. Ciekawe dlaczego w bascomie nie ma możliwości skonfigurowania przerwania INT1 tak żeby reagowało na każdą zmianę stanu jeżeli procek ma taki...
wisiena daruj sobie złośliwości względem bascomowców, bo nie o to chodzi na tym forum. Zgadzam się, że są lepsze narzędzia od Bascoma, ale sam Bascom nie jest klapą programową, tylko trzeba wiedzieć jak go urzywać i gdzie szukać informacji. Po skompilowaniu projektu wciskasz ctrl+W i masz raport kompilacji, gdzie jst między innymi podany błąd baudrate...
czesc Jaki procesor programujesz? AVR-y nie maja resestru tcon, w 2313 dla int1 wyzwalanie ustawaisz w MCUCR a dokladnie bity ISC11 i ISC10. Ale jak piszesz w bascomie to wystarczy napisac config int1 rising/faling rising - narastajace, faling opadajace, stan niski low lewel zreszta zajzyj do helpa, bo moglem sie w pisowni walnac A jak chcesz recznie...
Ustawiłęm port jako wejście z podciągnięciem do + i nic to nie zmieniło. #include <avr/io.h> #define F_CPU 8000000UL #include <avr/interrupt.h> #define SETBIT(ADDRESS,BIT) (ADDRESS |= (1<<BIT)) #define CLEARBIT(ADDRESS,BIT) (ADDRESS &= ~(1<<BIT)) // SIGNAL(SIG_INTERRUPT0)...
Koledzy, Jestem szczęśliwym posiadaczem impulsatora i walczę żeby go obsłużyć w C... Paranoja tkwi w tym, że w bascomie impulsator działa, a praktycznie ten sam program przepisany do C nie działa... Impulsator mam podłączony środkiem do GND jeden PIN na INT0(PD2) trzeci na(PD7). Na porcie C linijka diod. Poniżej listing programu: #include <avr/io.h>...
witam Mam pewien problem ze skonfigurowaniem przerwania w Atmega8. Program ma wysyłać dane przez UART w zależności od stanu na końcówce PD2 ( INT0 ). Jeżeli ma stan niski to sprawdza jedną zmienną i w zależności od niej wysyła dane. Jeżeli ma stan wysoki to tak samo. Ale tylko jednorazowa zmiana powinna powodować wysłanie danych. Wymyśliłem, że obsłużę...
Przecież nigdzie nie ustawiasz przerwań. ;konfiguracja przerwań zewnętrznych .EQU ISC0 = 2 ;ISC00 i ISC01 aktywne zbocza opadające dla INT0 i INT1 .EQU ISC1 = 2 ;ISC10 i ISC11 .EQU MCUCR_ = 4*ISC1 + ISC0 .EQU PIN_INT0 = 1 ;zezwolenia na INT0 i INT1 .EQU PIN_INT1 = 0 .EQU GICR_ = 128*PIN_INT1 + 64*PIN_INT0 To definiuje tylko wartości zmiennych To nie...
Da ale M32 to staruszek. Pierwsze co bym zrobił to wymienił na Mega324. Programator pewnie masz, więc można programować przez SPI,choć M32/M324 mają JTAG ale Arduino, Bascom itp wynalazki,nie potrafią skorzystać z dobrodziejstw debugowania. Dlaczego? Nie wiem, dla mnie jest to chore. JTAG zajmuje 4 bity portu C. Aby używać tych linii musisz wyłączyć...
Teraz nie rozumie juz nic. Z tego co bascom robi w powerdown.Wygląda jakby tylko włączał zezwolenie na tryby uśpienia. Czy ja coś źle odczytuje? Czy kolega Zumek mógłby napisać w ASM przejście do ST-BY dla tego Attiny? Bo według mnie było by to tak: $asm !IN R24,mcucr !ORI R24,0x20 !Out mcucr , R24 !IN R24,mcucr !ORI R24,0x50 !Out mcucr , R24 SLEEP...
spi_transfer(RF12_PMC | RF12_DC); spi_transfer(RF12_TRWC | 0xaa); rfm_sreg = spi_transfer(RF12_SRC); 1. Wyłączyć wszystko (ewentualnie zostawić to co potrzeba, ale wyłączyć nadajnik). 2. Przesłać do kolejki nadajnika bajt danych (tutaj jest fragment preambuły, wyśle się po ponownym uruchomieniu), to powoduje że nadajnik przestaje...
Mam problem z portami a Attiny26 mianowicie ustawiam: Ustawiam piny portu b jako wejście ustawiam na nich stan wysoki nawet na wszelki wypadek zeruje bit MCUCR.6 żeby było wszystko zgodnie z tabelką z dokumentacji tak aby były włączone pull-up. Gdy pisze prosty program to wejścia zachowują sie jakby nie były podciągnięte wewnętrznymi rezystorami, jak...
No to coś napisałem na AVRStudio 4.05.0.181 (na kolanie) :) . Co prawda na ATmega8 , ale przeportowanie to pestka(niektóre wektory przerwań do skasowania/zmiany nazwy i "2313def.inc" zamiast "m8def.inc" , prędkość kwarcu Xtal też do poprawki...), raczej tu chyba nie ma rozkazów niezaimplementowanych w AT90S2313 . ;included in next file - line ".device...
Avrdude chyba sam to robi. Dodano po 1 Zmieniłem kwarc i kondensatory przy nim, bez rezultatu. Dodano po 8 Podejrzałem też fusy innym programatorem dla pewności (STK200) pod bascomem i wszystko jest tak jak powinno. Jtag wyłączony, tryb zgodności wyłączony i kwarc zewnętrzny a mega pracuje jak chce. Dodano po 45 Portc odblokowany. Winowajcą jest obsługa...
Wertuje sporo stron ale co do Bascoma niewiele znajduje na temat stawień UART (USART). Sprawdziłem, że wpisanie Ubrr = 5 zamiast $baud = 38400 prawidłowo przesyła dane czyli można to zamiennie stosować czy lepiej podać oba? (choć piszesz, że nie ma potrzeby ale podanie dodatkowo UBRR nie powinno zaszkodzić?) Jedyne co udało mi się znaleźć to taki kod...
SIGNAL(SIG_INTERRUPT0){ //LED wylaczona PORTD|=_BV(0); //odczyt rc5 delay_us(445); if bit_is_set(PIND,2) rc5data|=_BV(0); else rc5data&=~_BV(0); char i; for(i=1;i<14;i++){ delay_us(1334); if bit_is_set(PIND,2) rc5data|=_BV(i); else rc5data&=~_BV(i);...
Witam Właśnie zaczynam pisanie programu do sterownika. Jako że jest to jeden z moich pierwszych programów w C to już potrzebuję pomocy.. Dodam że oczywiście nie chcę żadnych gotowców bo się w ten sposób niczego nie nauczę ale. Pierwszy problem związany jest z wykrywaniem zewnętrznych przerwań. Otóż pod piny obsługujące wykrywanie zewnętrznych przerwań...
Witam Zacząłem pisanie programów na AVR w C (Atmel AVRStudio 4) i natrafiłem na problem z obsługą przerwań zewnętrznych, a mianowicie procesor nie obsługuje przerwań zewnętrznych. Użyty kod poniżej [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> unsigned char stan0 = 0; unsigned char stan1 = 0; unsigned char licznik1 = 0; unsigned...
-------------serdecznie dziekuje za pomoc,podpowiedzi! i prosze o wyrozumialosć ----------- wklejam caly kod (napisany w Bascomie) i bylbym wdzieczny za pomoc w przeanalizowaniu jego dzialania, czesc kodu odpowiedzialna za dzialanie przetwornikow AC i sterowanie wyswietlaczem LCD nie istotna dla mnie w tym momencie ----------------------------------------...
Witam Na początek napisze ze jestem początkujący w C. "Napisałem" program który czyta czas i datę z PCF8583 i pokazuje to na LCD.I wszystko byłoby ok gdyby nie to ze dla testu na przerwaniu procesor ma generować krotki sygnał dźwiękowy co 1 sek. i "prawie" jest ok TYLKO raz na jakiś czas nie chce piknąć na mijającą sekundę, tak jakby gubił te sekundę....
Witam Jak doczytałem tryb powerdown powinien ustawić wszystkie porty w tryb wysokiej impedancji więc spodziewałem się, że gdy wejdzie w ten tryb to wyświetlacz zgaśnie. Niestety reakcji brak. Attiny ma wyłączony bit podziału Fosc/8 ma wyłączony watchdog oraz jest ustawiona na wewnętrzny oscylator 8MHz. Jakikolwiek wybrany tryb "Sleep Mode" nie zmienia/ustawia...
Witam. Chciałem w celach edukacyjnych zrobić częstotliwościomierz. Ponieważ nie mam za bardzo skąd wziąć zewnętrznych impulsów postanowiłem, że jeden pin procka będzie je generował, a przerwanie int0 będzie liczyć ile tych impulsów było. Do odmierzenia czasu posłużył timer1, który ma odliczyć sekundę (więc wynik od razu w Hz). Po upływie sekundy ma...
chyba jako timer? Tak, jako timer, drobne przejęzyczenie a zmienia całą postać rzeczy... ;) I jeszcze jedno mi się przypomniało, w bascom'ie, przynajmniej w wersji w której ja piszę, nie ma opcji ustawiania reakcji dla przerwania zewnętrznego, trzeba ręcznie ustawić bity w rejestrze MCUCR (cztery ostatnie bity, dokładny opis w dokumentacji). Dla przykładu...
Witam Przesiadłem się z bascom na C i wymodziłem taki programik do sterowania wyświetlaczem led. W/g mnie wszystko jest w porządku, kompiluje się bez żadnych ostrzeżeń (avr-gcc), a symulator (AVR Studio 4) nie wystawia nic na portc alabo wystawia głupoty. Poniżej zamiszczam fragment kodu, może ktoś rzuci na to nowe światło. #include <avr/io.h>...
Witam wszystkich, Stworzyłem schemat do zapłonu motocyklowego z użyciem dwóch transoptorów, wyświetlaczem LCD na sterowniku HD44780 a także dwóch tranzystorów do sterowania cewką (BU931). Jako kwarcu użyłem 24Mhz. Pierwsza prośba to czy ktoś może mi sprawdzić czy schemat jest prawidłowy. http://obrazki.elektroda.net/64_12688419... Teraz mam...
no troche sie pospieszylem :p Pprogram działa płytka nie :p źle zrobiłem drivery i płytke robie jeszcze raz. Wstawiam program w C narazie i prosze fachowców o ocene mam dopieor 18 lat i programuje 3 lata w bascomie raz napisalem program w asm a od kilku miesiecy w C ale to były chyba 3 programy. #include <avr/io.h> // dostęp do rejestrów #include...
witam, od jakiegoś czasu walczę z dekodowanie sygnału RC5 TSOP1736 <--> PD2 (INT0) dioda nadawcza IR <--> BC516(PNP) <--> PB1 układ na 100% działa ponieważ przetestowałem go w BASCOMIe rc5send i getrc5(); działają znakomicie. pilot philips 100% rc5 - sprawdzone problem mam taki, że w terminalu dostaje przedziwne rzeczy. np. dla tego...
a takie coś napisałem [syntax=basic4gl] $regfile = "m644pdef.dat" ' specify the used micro $crystal = 16000000 $baud = 19200 ' use baud rate $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 ' default use 10 for the SW stack $framesize = 40 ' default use 40 for the frame space $lib "glcdKS108.lbx" 'First we define that we use a graphic...
Witam. Jestem początkującym programistą AVR ;) Grzebałem i szukałem "trochę" po forum ale nie znalazłem nic co by mi pomogło. Próbuje zbudować obrotomierz do motocykla na układzie Atmega8 który wynik wyświetla na panelu LED a nie jak większość projektów na LCD 2x16. Dodatkowo mam takie Ciśnienie by napisać program w języku C który dla mnie jest mniej...
Witam wszystkich bardzo serdecznie. Z okazji ukończenia szkoły elektronicznej postanowiłem zrobić sobie zegarek/wyświetlacz widmowy. Niestety utknąłem na funkcji, która ma odczytywać znaki z tablicy w pamięci i wyświetlać je w zrozumiały dla ludzi sposób ;). I tu zwracam się do was z prośbą o pomoc w poprawieniu tej funkcji abym mógł wyświetlić jakąkolwiek...
Mówisz masz :] #include <avr/io.h> #include <avr/delay.h> #include <stdlib.h> #include <avr/interrupt.h> #include <avr/signal.h> #include "scancodes.h" volatile uint8_t flag,flag2; #define S_CLK PORTD|=(1<<2) #define C_CLK PORTD&=~(1<<2) #define CLK bit_is_set(PIND,2) #define...
Czyli dam sobie spokój... A możesz polecić jakiś układ który by miał do 10 "przycisków" dotykowych? Lepiej zrobić Twój układ na jakimś większym uC czy na jakimś scalaku do tego przystosowanym? (głównie chodzi o sprawne działanie, ale i o cenę) Czytaj ze zrozumieniem cały temat, a nie tylko jeden post. W drugim poście masz przykład. Czytam ze zrozumieniem...
Wiem ze w PHP operatory sa takie same jak w c, dlatego ucze sie C na uC, a nie np BASCOM'a ;] (choc C lepsze ;]). Dzięki za pomoc, teraz jest ok. Dodano po 14 A jednak nie, wystąpiła jeszcze bardziej komiczna sytuacja. Scislej: Gdy nacisne przycisk, do pamieci zapisywany jest czas wciscniecia, gdy w krótkich odstepach czasu nacisne kilka razy, mam po...
[syntax=basic4gl] Report : noname3 Date : 10-21-2014 Time : 20:42:39 Compiler : BASCOM-AVR LIBRARY V 2.0.7.5, DEMO Edition Processor : M8 SRAM : 400 hex EEPROM : 200 hex ROMSIZE : 2000 hex ROMIMAGE : 546 hex -> Will fit into ROM ROMIMAGE : 1350 dec FLASH USED : 16 % BAUD : 9600 Baud XTAL : 16000000 Hz BAUD error : 0.16% Stack start : 45F hex Stack size...
Niestety, tak nie działa - config PIN ustawia pin jako wejście tak czy siak, i później nic nie można wysłać tam... Wymyśliłem rozwiązanie "zastępcze" - konfigurować pin jako wyjściowy dopiero tuż przed realnie potrzebnym resetem MCU2. No ale to jest takie sobie :)
Witam, Posiadam czujnik odległości HC-SR04. Mam problem z obsługą tego czujnika na atmedze32. Napisałem bardzo prosty program który powinien moim zdaniem działać ale nie działa :) Siedzę na nim już 3h i nic... Wszystkie kabelki są dobrze podłączone (sprawdzone 5 razy), czujnik jest dobry bo sprawdziłem go programem z bascoma znalezionego na forum [url=http://www.elektroda.pl/rtvforum/to...
Witam, swojego czasu zrobiłem sobie wyświetlacz widmowy, jednak po zabawach w bascomie stwierdziłem że ma to większy potencjał i postanowiłem z niego zrobić zegarek :) Tu zaczęły się schody w ramach testu stworzyłem tablice dla znaków od 0 do 9 plus ":" jako oddzielenie godzin od minut. Jednak program nie wyświetla poprawnie cyfr od 0 do 4 reszta wyświetla...
Potrzebuję pomocy przy zamianie kodu "RFID Reader", tzn. żeby zamiast wyświetlania kodu karty na LCD uzyskiwać odpowiedni poziom na wyjściu 1z10 i czy jest to możliwe do zrealizowania na atmega8? Chciałbym użyć 8 ostatnich cyfr kodu karty. Posłużyłem się gotowcem, który był już na elektrodzie (dopiero uczę się bascoma i nie wiem jak się do tego zabrać):...
Musze zaprogramować mikroprocesor AT89C2051 zeby diody na płytce pokazywały coś w rodzaju kalkulatora binarnego. Mamy 4 przyciski: - przycisk 1 odpowiada 2^0 - przycisk 2 2^1 - przycisk 3 2^2 - przycisk 4 2^3 suma wynikow jest pokazywana na diodach w postaci mnozenia i dodawania; maksymalny wynik: 4 x 3 + 1 Mam program napisany w C, jak sie okazało...
atmega8 mcucr bascom projekt bascom bascom bascom enkodera
zamiana pojemność kondensator przestać działać włącznik światła matryca ramki
blokada konta google solix słuchawki
Manitou 634 - Problemy z włączaniem biegów Czy płomień świeczki rozgrzeje spiralę grzejną?