Witam. Zamiast Config Portb = Input Wstaw Config Pinb.6=Input To w zasadzie jest bez znaczenia wystarczy otworzyć skompilowanego hex'a np: w AvrStudio i zobaczysz coś takiego: +00000011: E080 LDI R24,0x00 Load immediate +00000012: BB87 OUT 0x17,R24 Out to I/O location +00000013: EF8F SER R24 Set Register +00000014: BB8A OUT 0x1A,R24...
układ raczej dobry ale niestety z programem jest chyba problem... :) zastanów się co może być źle gdy bascom AVR nie widzi problemu (bo go oficjalnie nie ma) a układ nie działa... naprowadzę troszkę (ustawienia portów/pinów) :) pozdrawiam i życzę sukcesu :) $regfile = "attiny26.dat" $crystal = 1000000 Config Porta = &B00000011 Porta = &B11000011...
Uczę się pracować z ADC. Procek Attiny26. Podłączenie: - Vcc = 5V - AVcc = 5V - PA0 (ADC0) - wejście - PORTB - wyjście. Program napisałem na podstawie tutoriala. Obecnie chcialem zrobić termometr na dwóch wyswietlaczach LED i LM35. Program nie działał w ogole jak powinien. Po dłuższym dochodzeniu okazało się, że przy wyłączonym procesorze na wyjściu...
Prawie nie znam asemblera, ale czy zamiast: sbi PORTB, PORTB0 nie powinno być: sbi PORTB, 0
Musisz zastosować sterowanie multipleksowe albo jakiś długi rejestr przesuwny (np. 4 układy 4094) żeby obsłużyć 4 cyfry wyświetlacza. To może być coś takiego: $regfile = "attiny26.dat" $crystal = 8000000 Config Portb = Output Config Portd = Output Config Adc = Single , Prescaler = Auto , Reference = Avcc Dim V as Word Dim V_real as Single...
...Czy jakaś dobra dusza pomogłaby mi zrozumieć, o co tu chodzi? A skąd Ty wytrzasnąłeś POTRD , w attiny26 :?: Ja w tym uC widzę tylko PORTA i PORTB ;) Piotrek
Wiadomości przyswaja się najlepiej jeśli trzeba włożyć trochę pracy w ich zdobycie. Przedstawiony "program" to sterownik mostka H ze zmienną częstotliwością i wypełnieniem impulsów. $regfile = "attiny26.dat" $crystal = 2000000 Config Portb.2 = Output Config Portb.3 = Output Tccr1a = &B00010001 Tccr1b = &B10000011 Ocr1c = 30 'wartość przykładowa...
Witam! LJMP START ORG 100H START: CLR P1.0 SETB P1.1 LOO: LJMP LOO No fajny program szkoda tylko, że to asembler 51 a attiny26 to avr, to zupelnie inne asemblery. w tiny26 nie ma portu 1 jest portb i porta Dodano po 1 Dodatkowo w avr musisz ustawic dla kazdego portu 2 rejestry ddr i port, a jesli chcesz uzywac jako wejscia to czytasz z rejestru pin...
Tak, podłączyłem do masy. A czy może być przyczyną że PORTB.7 wykorzystuję jako linię RS, a PB.7 jest RESET-em uC?
a gdzie config output. ja napisalem to tak i mam podobny error, wiec nie wiem w czym blad. Moze w regfile ? $regfile = "attiny26.dat" $crystal = 8000000 Config Pinb.7 = Input Config Portb.1 = Output P1 Alias Porta.7 Do If P1 = 0 Then Waitms 25 If P1 = 0 Then Gosub Sony End If End If Loop Sony: Do Sonysend &HA91 Waitms 85 Loop Until P1...
Nie wiem jak to jest w BASCOMIE, ale jak chces ustawiać port wyjścia w C albo asm, to nie PinB, ale PortB. Moze w BASCOMIE jest podobnie O prosze: http://www.edw.com.pl/ea/prog001.html
[syntax=basic4gl]$regfile = "attiny26.dat" $crystal = 1000000 Tccr1a = 11111111 Tccr1b = 82 Ocr1b = 0 Ocr1c = 255 Config Porta = &00000111 Config Portb = Output Set Porta.4 Set Porta.1 Reset Porta.2 Reset Porta.0 Do If Pinb.4 = 1 Then Pwm1b = 200 End If Loop End [/syntax]
Witam. Kupiłem sobie ATtiny26 i programator ISP STK200/300. Na płytce uniwersalnej umieściłem tylko podstawkę i złącze ISP. Podłączyłem układ do komputera, uruchomiłem BASCOMa (wersja 1.11.8.7) i napisałem prościutki programik: $regfile = "attiny26.dat" $crystal = 1000000 Config PORTA = Output Config PORTB = Output PORTA = &B11111111 PORTB...
Tak, może być ustawione w makefile. Należy wybrać pomiędzy 1-3, 0 - to brak optymalizacji kodu. Tak jako ciekawostka, kod który miga diodą można skrócić do: while(1) { PORTB ^= _BV(PB2); for(i=0;i<50;i++) _delay_ms(20); }
Witaj. Skądś znam ten problem, ktoś mnie o coś takiego prosił. Tyle, że wartości częstotliwości i wypełnienia były ustawiane potencjometrami. Programik był napisany na ATtiny26, wartości częstotliwości i wypełnienia nieco sie różnią, ale możesz sobie to zmienić. Programik testowałem (ale bez oscyloskopu). W razie błędów proszę o łagodny wymiar kary...
Config Pinb.0 = Input Config Pinb.1 = Output Config Pinb.2 = Input Config Pinb.3 = Input Config Pinb.6 = Input Config Pina.0 = Output Reset Mcucr.6 P1 Alias Pinb.0 P2 Alias Pinb.2 P3 Alias Pinb.3 Zasil Alias Porta.0 Podsw Alias Portb.1 Syg Alias Pinb.6 Set Podsw Reset Zasil Set P1 Set P2 Set P3
Hmm... tak już robiłem i to nie pomogło... ale już poradziłem sobie z problemem ;D Wina była zakłóceń, bo po dolutowaniu na wejście pomiarowe ADC8 kondensatora, diody przestały szaleć. Dodatkowo brakowało przesunięcia bitowego (bo na port podawało 8 bitów młodszych z 10). Miałem na celu zrealizowanie sterownie PWM za pomocą ADC (napięcie z potencjometru)....
Witam, Jestem początkującym w C (AVR GCC). Przez całe lata programowałem w Bascomie, i przyszedł czas na przesiadkę. Na warsztat wziąłem Attiny26 i chciałem zaprogramować jakiś programik z przerwaniami (od Timer 0). Niestety, jak ustawię przerwania, to nie chce wykonywać nic w pętli głównej. W dodatku kompilator pisze ostrzeżenie, ze zastosowany uchwyt...
Witam wszystkich po świętach. Korzystając z wolnego tygodnia, napisałem na szybko programik, który jest mniej uniwersalny od poprzedniego. Wysyłanie prezentuje się następująco: put_char: LDI R16,10 COM R18 SEC put_char_loop: BRCC skacz_bo_c_0 NOP CBI PORTB,PORTB1 RJMP PC+4 skacz_bo_c_0: SBI PORTB,PORTB1 NOP NOP RCALL UART_delay RCALL UART_delay...
Witam, w ATtiny26 mam problem z właściwą inicjalizacją Timer/Counter1, tak aby na wyprowadzeniu PB3 (OC1B) pojawiła się fala prostokątna o zadanej programowo częstotliwości. Zaprogramowałem procka takim kodem: ... ldi R16,0x80 rcall TC1Init ... ;* ;TIMER/COUNTER 1 init * TC1Init: push R16 sbi DDRB,3 cbi PORTB,3 ;na wszelki wypadek ldi R16,(1<<CS10)|(1<<CS11)|(1&l...
Cześć, Tez właśnie zaczynam zabawę z uC, i właśnie stoję przed wyborem pierwszego procka (AVR). Waham się między: Attiny 12, 13, 15 Attiny 26 Attiny 2313 Atmega 8 (którą posiadam) Atmega 16 i więcej Mam dosyć ambitne plany, potrzebuję min. 16 we/wy I/O, Attiny26 wydaje się być fajny ze względu na PortA i PortB od 0 do 7, lubie porządek a nie jak w np....
Witam Mam taki problem przy wgraniu poniższego programu do attiny45 dioda zamiast świecić z odpowiednią jasnością miga z dużą częstotliwością. Dodam że ten sam program na attiny26 działa tak jak powinien czyli dioda świeci z odpowiednią jasnością bez widocznego dla oka mrugania. Oby dwóch przypadkach fusy przestawione na taktowanie wewnętrzne 8MHz....
wstaw proszę kod w formacie [code], a nie jako obrazek. Tak na szybko: OUT PORTB,R16 (0xFF) - cały port B jako wejście? A nie powinno być DDRB ? A procedura opóźnień chyba nie jednak dobra, skoro z niej nie wychodzi. Spróbuj napisać ją z ograniczeniem ilości skoków np ldi r21,250 c2: ldi r20,250 c1: dec r20 brne c1 dec r21 brne c2 RET Da Ci to 250x250...
Witam. Po podłączeniu wyświetlacza do mikroprocesora i wgraniu do niego programu: Config Pinb.0 = 0 Lcd "LCD DZIALA" Portb.0 = 0 Lowerline Lcd "WITAJ" Wait 2 Cls Portb.0 = 1 Lcd "KONIEC PROGRAMU" End na wyświetlaczu widzę cały czas: http://obrazki.elektroda.net/31_11614482... Po kilku sekundach zapala się dioda podłączona...
Witam Utworzyłem nowy temat ponieważ nie widziałem żadnego podobnego tematu na elektrodzie. Otóż potrzebuję pomocy odnośnie wyświetlania znaków na wyświetlaczu LCD. Jest on zgodny z HD44780 (jego numer to: WC1602ASFYLY...). Chodzi mi o kod programu napisany w języku Assembler tylko, że bez dołączanych do niego bibliotek oraz przypisywania innych nazw...
trzeba najpierw zewrzeć któreś z wyprowadzeń - do masy (przez rezystor szeregowy) a plus podłączyć do zasilania (najlepiej trnzytsorem którego baza przez rezystor szeregowy do portu uC) Ostatnio w dziale mikrokontrolery ktoś pokazał swój kod do 2 cyfrowego wyświetlacza i koledzy troche go zweryfikowali. Generalnie aby było prosto te 7 minusów podpinasz...
Witaj. Pod ręką miałem ATtiny26 i płytkę ZL4AVR, więc na szybko "popełniłem" programik, który spełnia Twoje założenia. Zmieniłem częstotliwość impulsów (około 2Hz), abym mógł sobie wizualnie sprawdzić prawidłowość działania programu. Programik w poniższej postaci generuje 8 impulsów, potem ma 2 okresy przerwy itd. Dioda LED podłączona do B0 miga w takt...
Witam, przysiadłem do USI (TWI) raz jeszcze i korzystając ze schematu opisanego w: void I2C_Delay_Short(void) { asm volatile(\ "delayus8_loop%=: \n\t"\ "nop \n\t"\ "dec %[ticks] \n\t"\ "brne delayus8_loop%= \n\t"\ : :[ticks]"r"(10... ); // DEC -...
oczywiście użyłem układu z dopisem "L". Sprawdzałem nadruk na scalaczku - jest to z całą pewnością wersja L. Dwie diody dodałem do ładowania akumulatora GP 3,6V 60mAh. Rezystor 1k został usunięty (ten obok diód), ponieważ z jego użyciem akumulator ładował się do napięcia 2,6V. Po jego usunięciu co prawda tuż po rozruchu prąd ładowania wynosi 50mA, ale...
To co na schemacie jest VO, powinno być GND. A potencjometr do regulacji kontrastu jest - zapomniałem wstawić go na schemat. Jeśli chodzi o program, to przed procedurą LCDinit(); rejestr PORTA ma wartość 0 (chodzi mi o bity DB), następnie w pętli jego wartość podlega jedynie operacji AND - zatem nie zostanie ustawiony ani jeden jego bit Wiem, ale zrobiłem...
1. oszczędź sobie tę oszczędność baterii bo w takim wykonaniu i tak niewiele to zmieni, a mniemam, że urządzenie po zakończeniu pracy będzie wyłączane z zasilania (najlepiej wyłącznikiem) 2. źle zrobiony układ resetu - rezystor R2 powinien być do VCC, kondensator C4 do GND i wyłącznik zwierający do GND 3. możesz pominąć kwarc - do takiego zastosowania...
Po pierwsze trzeba odpowiednio ustawić porty, a więc rejestry DDRB i PORTB - wyjście PWM musi być skonfigurowane jako WYJŚCIE i to z odpowiednim stanem początkowym. Następnie ustawiamy rejestry Timer'a 1: - TCCR1A - bity COM1x0 i 1 - patrz tabelka na str. 50, oraz PWM1x - załączenie trybu PWM dla T1. (x= A lub B zależy które wyjście chcesz użyć). -...
Mam ATTiny26. Do portu A przypięta jest linijka diodowa, a do portu B przycisk. Naciśnięcie przycisku ma powodować zwqiększenie o 1 wartości rejestru (r17) i wyrzuceniu tego na port A. W AVRStudio wszystko działa tak jak powinno, ale w praktyce przy zbliżeniu palca do procka diody szaleją. Jak przycisk jest wciśnięty to jest ok, przy zbliżeniu palca...
Witam serdecznie, mam banalny problem heh siedzę od paru dni i nie mogę go rozwiązać , a mianowicie gdy wykorzystuję przerwanie zewnętrzne INT_0 ustawiam sei gimsk oraz mcucr na stan niski i wywołuje przerwanie lecz program nie chce z niego wyjsc , nie wiem o co chodzi , program praz pętle czasowe sa na 100% napisane dobrze bo dgy używam warunków sbic...
fakt namieszałem :/ no więc tak: zrobiłem sterownik, który zaświeca, gasi 3x pasek led (na 3 przekaźnikach). Przy każdym z pasków znajduje się 1x microswitch. Microswitche 2 i 3 mają po 2 funkcje, krótkie naciśnięcie zaświeca/gasi odpowiedni pasek led, natomiast długie przytrzymanie 2 lub 3 ma zaświecić/zgasić wszystkie paski led. Z kolei microswitch...
hej mógłby ktoś zerknąć na ten programik krytycznym okiem co jest nie tak, dodam tylko że w debuggerze śmiga ;) wyciąłem z programu obliczenia stąd niektóre zmienne są tu niepotrzebne, ale jak je dołożę (obliczenia) to się przydają, efekt jest taki jakby przerwanie startowało tylko raz, na wyjściu jest stały pwm, nie zmienia się przy zmianie sygnału...
Witam Mam pytanie w sprawie programowania ATtiny26L a mianowicie jakie bity nalezy ustawic przy programowaniu BASCOM-em gdy chce uzywac wewnetrznego oscylatora (to sa Fuse Bits..moze jeszcze jakies inne????), czy trzeba cos dodawac w kodzie ($crystal ???). Podprogram programowania rozpoznaje ATtiny26L, zczytuje, zapisuje i niby jest weryfikacja OK....
... Napisałem w BASCOM'ie programik do migania led'a i nic. Albo się zapala , albo gaśnie , zależy co zrobię pierwsze reset lub set portb.6. Nie chce wykonywać żadnych komend po WAIT. Dlatego się pytam czy komuś to działa. Powiem krótko: dla ATTiny261 , skorzystaj z pliku ATTiny461.dat , bo na m16def.dat , daleko nie zajedziesz - jeśli w ogóle ruszysz...
Witam, Mam do zrobienia prędkościomierz/ obrotomierz z zastosowaniem aTTINY 26, Hallotronu TLE4905L Mam problem z zerowaniem poprzedniego odczytu, aby wyzerować ustawiam i=0, ale kasuje to tylko cyfrę jedności, a cyfry dziesiątek i setek zostają nietknięte. Czy macie jakiś pomysł aby ominąć ten problem. Dodatkowo mam problem z hallotronem, ponieważ...
Witam Forumowicze Mam taki problem..... Napisałem sobie programik w C, sterujący diodami z przycisków.... Układ zbudowany jest na ATtiny26L 5 diod połączonych jest do portu PA0-PA4, połączone do zasilania 2 przyciski połączone są do portu PB4 (SW1) i PB5(SW2), połączone do masy Jesli nastąpiło naciśnięcie przycisku SW1 to do portu PB3 wpisywany jest...
Witam Próbuje od dłuższego czasu uruchomić UART'a w układzie, ale nie bardzo wychodzi. Z rozpędu kupiłem sobie ATTiny26, który go nie posiada, płytka i układ jest zaprojektowana (i już zlutowana) pod niego, więc w pewnym sensie zmusiłem się do napisania obsługi komunikacji. Nie chce tego już zmieniać, a programowanie chciałem potraktować jako kolejne...
Rozumiem. Napisalem program w C na mastera i slave. Kod wyglada tak: MASTER: #include <avr/io.h> void SPI_MasterInit(void) { PORTB|=1<<PB4; //podciagam /SS do plusa przez pull-upa DDRB|=(1<<PB4)|(1<&... dla SCK i MOSI SPCR|=(1<<SPE)|(1<&...
Może tutaj mi ktoś życzliwy pomoże. Przepraszam, że robię kopiuj - wklej z innego forum, ale nikt mi tam nie pomógł, a zależy mi na czasie bo urlop się kończy :) ".nie zajmujmy się całością, a tym, że na wyprowadzeniu nr 1 ATTINY26 powinien być generowany przebieg o częstotliwośći 100Hz i czasie trwania stanu niskiego 70us. Chcę zmienić te parametry...
Akurat Ja nie chcę speed400 tym ganiać, ale może ktoś spróbuje. Mam drugi nieco lepszy kod, ale tych if'ów nie da rady chyba wywalić ze względu na to że w PPM nie mamy punktu zerowego który pwm by zrozumiał odpowiednio więc taka konwersja chyba musi zostać. To nowy kod: $regfile = "attiny26.dat" $crystal = 8000000 Config Porta.0 = Input Config...
tutaj jest cały kod: [syntax=c] #include <avr/io.h> #define F_CPU 10000000 #include <util/delay.h> int main() { int8_t i; int8_t k; int8_t m; int8_t n; unsigned char liczba_LED [10]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}; DDRB = 0xFF; DDRD = 0XFF; DDRC = 0xFF; for(;;) { for(i=0; i<=9; i++) { PORTC = 0xC0; _delay_ms(10);...
Przykładowy fragment kodu ze strony Atmela dotyczący obsługi USI jako TWI. Jak widać trzeba pogrupować "podobne" grupy układów i zdefiniować co tam jest potrzebne. #if defined(__AT90Mega169__) | defined(__ATmega169__) | \ defined(__AT90Mega165__) | defined(__ATmega165__) | \ defined(__ATmega325__) | defined(__ATmega3250__)...
Hej Już teoretycznie wiem o co chodzi. Odwiedziłem FAQ i znalazłem coś takiego: //PWM dla wyjscia PB3 (OC1B). //PB3 wyprowadza sygnal PWM, ktory nalezy podac na uklad calkujacy RC, aby otrzymac sinusoide. //Zastosowano AVR ATtiny26. #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/pgmspace.h>...
układ zlutowany już po małych przejściach 2 razy padły mi tranzystory ale mam nadzieję że to już się nie powtórzy. Mam natomiast problem z procesorem ATtiny26 dziwna sprawa bo na porcie A stan Zerowy czyli logiczne 0 wynosi około 2.5 V napięcie to jest niestety na pograniczu wykrywalności bramek NOR i układ wariuje na wyjściu podaje różne sygnały lub...
Napisałem taki program i sprawdziłem go z ATTiny13 (nie mam ATTiny25): $regfile = "ATtiny13.DAT" $crystal = 1000000 Config Pinb.0 = Input Portb.0 = 1 Przycisk Alias Pinb.0 Config Pinb.1 = Output Portb.1 = 1 Led Alias Portb.1 Do If Przycisk = 0 Then Waitms 100 Bitwait Przycisk , set Gosub Praca End If Loop End Praca: Led = 0 Wait 1 Led...
Prosty "mrygacz" nie działa na procku ATTiny10. Procesor się programuje, wszystko OK i nic się dalej nie dzieje. Zmieniałem piny, manipulowałem całym portem. O czym nie wiem? Dodano po 1 Zauważyłem, że programator ma problem ze zmianą fusebitów (chciałem testowo włączyć clkout). Poza tym wgrywałem gotowce np ten: https://www.elektroda.pl/rtvforum/viewto...
Ok dzięki wam za szybka reakcje na mój problem. Może to będzie mały off top ale proszę podajcie mi jakiś programator równoległy do avr na usb bo nie potrafię znaleźć. AVR dragon podobno jest taka opcja ale ja nie potrafię stwierdzić tego czy tak na prawdę jest. Pozdrawiam Paweł.
Wydajność prądową to on zasadniczo ma. Ale ty wymagasz, aby przy pełnym prądzie dodatkowo miał napięcie wyjściowe równe pełnemu napięciu zasilania. To nierealne oczekiwanie. Użyj LEDa, który ma napięcie 1.65V Wlasnie dlatego podpialem led przez tranzystor. Aby prad bazy byl jak najmniejszy (0,0002A), czyli jak najmniej wplywal na napiecie. A mimo to...
zobacz to: $regfile = "attiny25.dat" $crystal=8000000 Config Portb = Output Portb = &B00001110 Config Timer0 = Pwm , Compare A Pwm = Clear Up , Compare B Pwm = Disconnect , Prescale = 1 Pwm0a = 125 'zamienić jeśli nie dziala na Ocr0a Do Loop End
$Regfile = "attiny 25.dat" $Crystal = 8000000 config pinb.1 = input config pinb.2 = input config pinb.4 = output set pinb.1 set pinb.2 reset portb.4 Do If pinb.1 = 0 Then set portb.4 end If If pinb.2 = 0 Then reset portb.4 end If Loop End
Witam. Napisałem program do sterowania pompą i na Atmedze8 działa bez problemu a gdy go przerobiłem pod ATtiny25 to nawet nie moge go skompilowac bo wywala jakieś błędy nie wiem jak to uruchomić prosze o pomoc. przy próbie kompilacji wywala Error 46, Error 31, Error 350 Program dla Atmegi8 $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.2...
no fakt to przeoczyłem , ale to nic nie pomogło, już wcześniej próbowałem różne konfiguracje tego rejestru, ale bez skutku, coś jeszcze nie gra. nie działa zwykłe wprowadzenie portu b.0 w stan niski, nie mogę zaświecić LED , PORTB=0 nie działa, cbi(PORTB,0); nie działa
Wiam. Oto kawałek kodu. #define CZEKAJ_ 100 // Ilosc petli oczekiwania podczas przepełnienia timera T0 volatile uint8_t czekaj = CZEKAJ_; ISR(TIM0_OVF_vect) // ATTINY25 { if(czekaj < 50) PORTB &=~ (1<<PB3); if(czekaj > 50) PORTB |= (1<<PB3); if(czekaj == 0) czekaj = CZEKAJ_;...
Sorry, mój błąd. Faktycznie Tiny10 to takie małe badziewie :) Ok, problemem jest to: PORTB &= (0 << pin); efektywnie prowadzi to do PORTB&=0, co jak rozumiesz powoduje wpisanie 0 do PORTB, przy okazji zerując PB0. Powinno być PORTB &= ~(1 << pin); Swoją drogą weź pod uwagę ograniczone zasoby tego procesora, co powoduje że programowanie...
No tak, tylko że w tym twoim attiny13 nic się nie zmieści, żadna deklaracja zmiennej. Dodano po 1 Masz tu: $regfile = "attiny25.dat" $crystal = 1200000 Config Portb = &B001000 Portb = &B110111 Dim X As Integer X = 0 Do Debounce Pinb.0 , 0 , Czas1 , Sub Debounce Pinb.1 , 0 , Czas2 , Sub Debounce Pinb.2 , 0 , Czas3 , Sub Loop End Czas1:...
Kod wyżej poprawiłem, kompiluje się również na ATmega16/32, bo na takich w tej chwili mogę testować. W twoim przypadku spokojnie się zmieści na ATtiny24... BTW. Jeśli będziesz kiedykolwiek chciał kod przenieść na inny µC, to trzymaj się raczej oznaczeń typu LED_PORT niż PORTB...
Witam. Mam problem z uC ATtiny25, który podaje błędne odczyty z ADC, wszystko wcześniej było testowane na ATmega8 z wyświetlaczem i odczyty się zgadzały, teraz dysponując tylko jedną LED'ą, sprawdziłem, że odczyty się nie zgadzają, cała elektronika w przypadku ATmegi i ATtiny się nie zmieniają, jedynie drobne zmiany w kodzie. Witam. Ostatnio również...
Kurcze co do tego PWm myślałem, że mam Phase Correct PWM Mode a wtedy dzieli się poprzez 510 a nie 256. Co do negatora to oczywiście masz rację :| w "innych" miejscach miałem poprawione (podczas testów #define k1_off PORTB&=~_BV(k1) ) #define ... kiedyś o tym pamiętałem...
Ok walczę dalej. Przepisałem trochę kod. Przerwanie od int0 działa i chyba tylko tyle. Coś chyba nie tak z timer. Niby zrobiłem wg. przykładu powyżej ale działać mnie to nie chce. [syntax=c]#define F_CPU 8000000UL #include <avr/io.h> #include <avr/sleep.h> #include <avr/interrupt.h> #include <util/delay.h> #define STAGE1 PB0...
Tak więc widzisz kolego Krampek, że TAGI w temacie o których tyle razy była mowa są bardzo przydatne bo bez dodatkowych słów opisu byłoby wiadomo z takiego tematu: #include <avr/io.h> #include "soft_uart.h" .global sputchar sputchar: pushR16 pushR17 pushR18 mov R18, R24 ; przekazanie znaku do nadania z parametru funkcji sputchar...
Ponieważ zrobiło się śmieszno i straszno (a może na odwrót) więc poprawiłem program (mam nadzieję że o takie działanie autorowi chodziło) '======================= $regfile = "attiny25.dat" $crystal = 1000000 Config Pinb.3 = Input 'konf.portów Config Pinb.4 = Output Config Pinb.0 = Output Portb.3 = 1 'podciągnięcie tasty do + Portb.4 = 0 'jw.,...
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...
Dorzucę coś od siebie. W tiny24 PortB jest czterobitowy tymczasem kompilator w najnowszej wersji (2.0.2.1) u mnie bez problemu łyka coś takiego nie generując żadnego błędu. $regfile = "ATtiny24.DAT" $crystal = 1000000 Config Pinb.7 = Input '??? P1 Alias Pinb.7 '??? Set Portb.7 '??? Config Porta.7 = Output Led_red Alias Porta.7 Led_red = 0...
Witam. Mam wyświetlacz TID samochodów Opla. Wyświetlacz ma połączenie sda, scl, mqr (i2c). Chcę, aby mikrokontroler za pomocą Attiny25 wyświetlał tekst. W tym celu napisałem kod w Bascom. Kod działa, ale ma pewien problem. Kiedy włączam Tid, tekst pojawia się po 3-5 minutach i znika po 5 sekundach. Trzeba czekać kolejne 10 minut, aby tekst się pojawił....
Nie znam się na asseblerze, ale tym: Config Portb = &B10000 ustawiasz 4 piny jako wejście, a czwarty to wyjście. Czyli Twoje: Config Pinb.0 = Input Config Pinb.1 = Input Config Pinb.2 = Output Config Pinb.3 = Output Config Pinb.4 = Output Nie ma sensu, bo je kasujesz komendą Config Portb = &B10000. Gdzieś mnie uczono ze lepiej wejście podcągnąc wewnętrzne...
Przerwanie musiałoby wyglądać coś w tym stylu : [syntax=cpp] ISR(ADC_vect) { switch(kanal) { //Obsługa ADC dla fotorezystora case 1: adc1 = ADC; if ((adc1 >= (gr2 - hist)) && (adc1 < (gr2 + hist))) {buf[2]=1; buf[3]=1;} else if((adc1 >= (gr1 - hist)) && (adc1 < (gr1 + hist))) {buf[2]=0; buf[3]=0;} ADMUX = _BV(MUX0) | _BV(MUX1);//...
Witam. Zlutowałem układ do motocyklowego wyświetlacza biegów takiego jak w tym linku: http://www.elektroda.pl/rtvforum/topic24... i mam pewien problem. Mianowicie zastosowałem tam attiny2313 a nie attiny25 ponieważ nie znalazłem takiego w sprzedaży. Zmieniłem również oprogramowanie dla mojego uC w programie win avr, a jako że jestem początkujący...
Witam Zbudowałem układ wg schematu - po małych korektach http://obrazki.elektroda.net/41_11992945... A następnie wgrałem program (zamieszczony poniżej) do ATTINY25. Po podłączeniu zasilania uruchamia się demo (miganie diody na PB3) oraz demo2 (miganie diody podczerwonej na PB0). Po zakończeniu dema2 dioda podczerwona podpięta do PB0 świeci...
Witam. Gdzie zmieniasz swój stan SS (USI_SS_PIN)? W moim przypadku zmieniłem tak (slave): [syntax=c]void SendData(void) { PORTB &= ~_BV(SS); USIDR = 247;//0b11111011; while (!(USISR & (1 << USIOIF))){} PORTB |= _BV(SS); }[/syntax] no i [syntax=c]void PortSettingsSPI(void) { DDRB |= _BV(D0); DDRB &= ~_BV(USCK); DDRB &= ~_BV(DI);...
Witam zaczynam zabawę z AVR GCC w AVR Studio 5. Wcześniej programowałem trochę w assemblerze i w C dla procesorów PIC. Zdecydowałem pobawić się trochę AVR Studio 5 bo ma wbudowany kompilator. Napisałem/zmodyfikowałem program z jakiegoś tutoriala online. Program ma na celu zapalać i gasić diodę na linii 0 portu B co określony czas. LED jest podłączony...
Witam Jestem początkującym w dziedzinie programowania AVR w C, jednak postanowiłem zrobić lampke RGB. Zasada działania prosta, a jednak... Od początku: Wciskamy przycisk PB4 zapala się kolejny kolor, wciskamy PB5, zapala się poprzedni kolor. TAkie jest założenie... Obecnie gdy wciskam PB4 nie dzieje sie nic a gdy PB5 to dioda gaśnie na moment. Nie wiem...
Pracuje nas sterowaniem małego serwomechanizmu: http://www.rctrax.pl/product/Serwo-HXT50... Programuje w Bascom AVR i do tego celu wykorzystuję jedynie Timer0. Nie mogę wykorzystać dodatkowego timera1 bo ten będzie służył do odliczania czasu. Instrukcji Serwos() także nie chce wykorzystywać...jakoś nie mam do niego zaufania...
Program który zamieszczam ma działać w następujący sposób po załączeniu na stałe S0 ( S0 wyłączy się po czasie sterowny z Budzika ) , S1 ma wyłączyć Radio , i nie włączyć ponownie. Program teraz działą tak że S0 załączy a S1 nie wyłącza Radio. [syntax=vbnet]$regfile = "attiny24.dat" $crystal = 4000000 'Ustawienia portow Config Pinb.0 = Input : Portb.0...
Witam ! Piszę program do sterownika oświetlenia, napotkałem się na następujący problem , oto kod : [syntax=c] #include <stdio.h> #include <stdlib.h> #define PIN_TRIAC (0) static struct { volatile enum States {ON,OFF} state; // stan wlaczony czy wylaczony volatile char pval; // wartosc mocy w % od 0 do 100 void (*TurnOn)(void); //wlacz void...
Niestety pojawil sie problem... chcialem miec attiny realizujace odbior kodu rc5 i wystawiajace odpowiednie stany na wyjsciu portu....tak zebym na innym kontrolerze mogl odczytac co nacisnalem na pilocie...zeby uniezaleznic sie od synchronizacji miedzy odczytaniem danych a nacisnieciem przycisku zatrzaskuje wartosci na porcie zmieniajac jeden bit na...
Witam Przy próbie skompilowania pokazuje się taki błąd: http://obrazki.elektroda.pl/3448979900_1... [syntax=vbnet] $regfile = "attiny24.dat" $crystal = 1000000 Config Pina.0 = Input Set Porta.0 Config Pina.1 = Input Config Pina.2 = Input Config Pinb.0 = Input Set Portb.0 Config Pinb.1 = Input Set Portb.1 Config Pinb.2 = Output Config...
Witam Potrzebuję zrobić regulator do silnika komutatorowego DC ze sprzężeniem zwrotnym w postaci enkodera optycznego (ENC, PA.0). Rozdzielczość enkodera to 32 imp/obr. Napisałem program w Bascomie, ale ten zdaje się nie działać. Założenia są takie: W zależności od tego, który pin uC (PB.0, PB.1) są aktywne, silnik ma kręcić się z dwoma różnymi prędkościami....
Witam, mam problem z prawidłowym skompilowaniem programu. Środowisko Code::Blocks na aktualnym Xubuntu. __ticks_dc , które występuje we wskazanej przez kompilator linijce. Na życie zarabiam pisaniem w językach interpretowanych, C nieco tylko liznąłem na studiach, mikrokontrolerów nie programowałem nigdy. Z Linuxem jestem obyty. Eclipse to dla mnie ostateczność....
Witam Mam ja sobie taki oto kod : #include <avr/interrupt.h> #include <avr/io.h> #define XX 10 int pomiar=0; int ilosc_pomiarow=XX; int temp; int main(void) { //PORTS DDRB = (1<<PB0 )| (1<< PB1 ); //ADC ADMUX=2; ADCSRA= ( 1<<ADPS0)|(1<<ADPS1&... | ( 1<< ADPS2);//ADC...
Dzięki wszystkim za opinie :D W odpowiedzi na wasze pytania, płytki robię metodą termotransferową z użyciem folii, projektuje w Eagle'u, serwa tak jak ktoś napisał na allegro chodzą po 23zł i właśnie na allegro je kupowałem, niezła cena jak za takie małe i dość silne serwo. Tolerancja odstępu puknięć układu jest wystraczajaca, na początku opracowałem...
Stworzyłem taki kod ale najczęściej odbieram zero. Czasem wyśle dobrze temperaturę. Podpowiedzcie co jest źle bo już nie mam pomysłów. Odbiornik: $regfile = "attiny2313.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości oscylatora Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4...
Witam Oto mój program :) Rozumiem, że w tej sytuacji będą 4x N-channel lub 4x P-channel, jeśli nie to po co 4 kanały pwm? Nie. będą albo 2 N-Mosfety, albo 2 P-Mosfety. KArol
No to może pokaże jak to wszystko teraz wygląda. Przede wszystkim po długich zabawach z programem i róznymi wersjami stwierdziłem, że ....nie ma sensu pakować się w różne cuda. Bawiłem się z kontaktronem i wyłączaniem "kluczem magnetycznym", ale porzuciłem temat. Powód prosty....w zasadzie wszystko co było mi potrzebne do zbudowania pierwszej wersji...
Wiem że czas zabrać się za Asembler Piotrze nie trzeba, w AS7 można pisać w C na attiny10 co właśnie przed chwilą zrobiłem :) kod migacza: [syntax=c] #include <avr/io.h> #include <util/delay.h> #define wyjscie PORTB,0 #define TOGGLE_(p, m) (p ^= (1 << (m))) #define TOGGLE(x) TOGGLE_(x) int main(void) { DDRB=0xFF; while (1) {TOGGLE(wyjscie);...
Cześć. Buduję teraz mały skaner RGB. https://obrazki.elektroda.pl/6350028400_... Lusterko ma ganiać za zmienną "pozycja". Czasem działa normalnie 15 min, a czasem gubi pozycję. Zębatki czyste, kręcą się luźno. Myślę, że to silnik się przycina w niektórych momentach. Mógłby ktoś rzucić "świeżym" okiem, czy wg programu wszystko powinno...
Witajcie, mam taki problem, który zapewne jest jakąś głupotą, na którą nie potrafię wpaść. Mam zestawiony układ (a właściwie dwa - jeden nadawczy i jeden odbiorczy) z ATtiny24 i RFM22-868S2. W trybie nadajnika udało mi się coś już z niego wydusić (pobiera spory prąd, bo ma ustawioną maksymalną moc wyjściową), o tyle z odbiornikiem "zawisłem". W trybie...
Witam chętnie kupię uC Attiny22 lub też proszę fanatyków - elektroników o edycję programu do obsługi RC5 (*.asm w załączniku). Więcej na temat układu, który chcę uruchomić jest na http://www.elektroda.pl/rtvforum/topic79... ps. hex pomyślnie zaprogramowałem na Attiny13, niestety nie działa to. (nawet nie zapisuje kudu RC5 w EEPROM) ASM - RC5 ;****...
Witam, znalazłem ciekawy sposób na w miarę dokładny pomiar napięcia baterii: http://www.ikalogic.com/avr-monitor-powe... Chcę go zaadoptować do Bascoma, a ponieważ nie doszukałem się sposobu na pomiar za pomocą jego instrukcji to sam operuje na rejestrach przetwornika. Niestety po porównaniach z artykułu i po zmianach rejestrów...
Cześć Przede wszystkim musze powiedzieć że nie znam sie ani odrobine na asemblerze . Mamy tu koder do 4kanałowego sterowania proporcjonalngo w asm'ie na attiny 15. teraz pytanie -czy da sie przerobić kod tak ,aby miał ich 7 lub 8kanałów i wrzucić go do Attiny 26 ?? I czy to koder PPM?? PS niestety nie przypomnę sobie strony z której wziąłem ten schemat...
bascom portb atmega162 portb atmega128 portb
indukcyjność łuku indesit instrukcja pralka zestaw naprawczy pompa
ogrzewanie basenu eliminacja zakłóceń
Weldman ARC250 - Rzeczywiste parametry spawarki Grzejnik Ravanson nie działa - diagnostyka i naprawa