mam problem z atmega16 smd - port C nie działa zmieniłem płytkę, kupiłem innego scalaka, lutowanie jak z jajkiem bo myślałem że pierwszy przegrzałem - objaw ten sam port c zachowuje się jak padnięty w programie (Bascom) nic nie ma (pomijam poniżej część definicyjną) config pinc.0 = output do portc.0 =0 wait 2 portc.0=1 wait 2 loop w fusebitach zmieniłem...
Witam Mam kilka pytań odnośnie tego uk oraz wyświetlacza LCD 2x16: 1. Słyszałem, ze ta kość posiada wbudowany oscylator wewnętrzny (chyba RC) który normalnie (po zakupie i nie grzebaniu w fuse bitach) jest domyślnie ustawiony. Nie umiem zmieniać fuse bitów a płytke mam wykonaną już z zewnetrznym oscylatorem 8MHz. Czy będzie to przeszkadzać w normalnej...
Hej! Jeśli rozwiązanie tego konkretnego problemu jest gdzieś na forum to z góry przepraszam za dublowanie tematu, ale niestety nie udało mi sie znaleźć konkretnego rozwiazania. Odkąd mam laptopa to nie mogę w bascomie ustawić fusebitów. Posiadam atmegę16 smd. Z tego co wiem fabrycznie ustawiona jest na wew rc 1MHz. Chcę wrzucić już istneiejący program...
Cześć, chciałem się dowiedzieć czy dobrze rozumiem, że zaznaczony na zdjęciu element to oscylator? Z definicji jego zadaniem jest wytwarzanie drgań elektrycznych, ale jaką funkcję spełnia to w mikrokontrolerze. Ciekawi mnie też, co robi mikrokontroler kiedy już go uruchomimy. Mamy zasilanie i podłączenie do komputera, ale nie wgraliśmy jeszcze żadnego...
Witam, Pracuję na ATmega16 taktowanym wewnętrznym oscylatorem RC. Chciałem wykorzystać Timer1 do odmierzania czasu np. 1s lub 1min (po zastosowaniu preskalera 1024), a Timer2 razem z przerwaniem zewnętrznym do wykonania regulacji fazowej. Kiedy chce tylko odmierzać czas, albo tylko regulować fazowo to wszystko działa poprawnie. Jednak kiedy chcę połączyć...
Tak, dzięki, zgadza się. Chwilę po opublikowaniu postu rzuciłem okiem do datasheeta, gdzie jest sprecyzowane ustalenie dzielników prędkości magistrali. Teraz wszystko śmiga jak trzeba. SCL_freq = (CPU_freq) / (16 + 2(TWBR) * 4^TWPS) rejestr TWBR - bit rate, w 8 bitach rejestru TWBR w rejestrze TWSR, bity "0" i "1" w kombinacjach : "1"__"0" 0__0 - 1...
Mam problem z taktowaniem procesora Atmega16A-AU. Mam wykonane dwie identyczne płytki, na których zamontowane są dwa jednakowe (mogłoby się zdawać po odczycie na obudowie procesora) Atmegi16A-AU. Program realizuje między innymi cykliczne miganie diodą - po którym to miganiu stwierdzam, że obie Atmegi z wgranym takim samym programem charakteryzują się...
I wcale nie trzeba go zaraz fusami wyłączać bo po co? ... Wyłączyć go po prostu trzeba programowo. W takim razie nie bardzo rozumiem treści tabelki ze strony 53 Safety Level 2 In this mode, the Watchdog Timer is always enabled, and the WDE bit will always read as one. A timed sequence is needed when changing the Watchdog Time-out period. Ja to rozumiem...
Jestem na tej grupie pierwszy raz, wiec Wszystkich goraco witam!!! Witamy na FORUM... ;) FAQ Działu Mikrokontrolery przeczytane ? ;) Chciałbym zaznaczyc, ze przejrzalem wszystkie archiwalne posty na tej grupie zwiazane z tym i podobnymi problemami i niestety nie znalazlem rozwiazania. Teraz do rzeczy: Jest to mój pierwszy projekt i mam problem z jego...
Cześć, to mój pierwszy post na tym forum. Na wstepie powiem tyle, ze na elektronice to sie za bardzo nie znam raz tylko zlozylem na Atmelku 2051C prosciutki ukladzik sterujacy swieceniem 8 diod. Byla to praca na studiach. Teraz znowu na studia mam kolejna robote do zrobienia. Sesja sie zaczela a ja mam dopiero zasadnicze czesci całego układu, ktore...
Witam, Będę naprawdę bardzo wdzięczny za pomoc... Moja ATmega168 pracuje z dokładnie 8 razy mniejszą częstotliwością, niż powinna. Kod: [syntax=c]int main() { DDRD = 0xFF; PORTD = 0x01; DDRB = 0xFF; TCCR1A = (1<<COM1A1) | (1<<WGM11); TCCR1B = (1<<WGM13) | (1<<WGM12) | (1<<CS11) | (1<<CS10); ICR1 = 31250; OCR1A = 15625;...
Podłączyłem kwarc 10Mhz do Atmega168(3.3V) następnie do pinu XTAL2 podpiąłem układ MBI5031. Moje pytanie brzmi ile układów scalonych pociągnie jeden kwarc 10Mhz? Przy jakiej liczbie amplituda będzie za niska? MBI5031 taktowana z XTAL2 atmegi168 działa perfekcyjnie (oczywiście full swing rail to rail). Natomiast chciałbym podpiąć 3 x MBI5031 pod pin...
Nie mogę tego uruchomić :/ Czy wiesz, że Twoja ATMega162 jak wychodzi z fabryki, to jest taktowana wewnętrznym oscylatorem RC 8MHz(CKSEL:0010) i że ten sygnał jest dodatkowo podzielony przez 8 (CKDIV8:0) :?:
Ciężko stwierdzić jaka jest różnica na wejściach wzmacniaczy (wyjściach czujników) gdyż napięcie to zmienia się w zakresie kilku mV, a aktualnie mam tylko zwykły miernik, którego rozdzielczość jest zbyt mała. Chyba zmniejszę wzmocnienie wzmacniaczy zmieniając rezystory R2 i R3 na mniejsze, boję się że stracę na dokładności ale coś za coś a to jest jak...
Skoro wcześniej przy niskich temperaturach było dobrze to przy nowym układzie tez powinno być dobrze, zimne luty sprawdziłem, kondensatory też, poza tym jak wspominałem podgrzanie samego układu przywraca pracę, dlatego tak obstaję za winą układu. To, że układ zaczyna prawidłowo działać po podgrzaniu świadczy o tym, o czym pisałem - jednym z parametrów,...
Hey ! Właśnie napisałem program do częstościomierza, ale nie jak nie może pokazać wyniku - cały czas pokazuje zero. Zasada jest taka, że T/C0 służy do wyznaczenia czasu bramkowania 1s, T/C1 działa tu jako licznik impulsów, których liczba ma się pojawić na wyświetlaczy LED, T/C2 zastosowałem do multipleksacji. Jest to zrobine na ATMega8 z oscylatorem...
Witam, postanowiłem umieścić na Elektrodzie mój kod do obsługi wyświetlacza. Składa się z dwóch części: 1. W katalogu avr_studio - projekt AVR Studio 4. Przerobiony kod Christiana Kranza z dodaną kalibracją częstotliwości wbudowanego oscylatora (nie udało mi się znaleźć w moim mieście kwarcu 7,37 MHz) oraz prostym protokołem transmisji. Wymaga dopracowania,...
Witam. Próbuję nawiązać łączność z zegarkiem pcf8583 poprzez interfejs I2C,ale interfejs nie generuje nawet znacznika przerwania TWINT po wyslaniu bitu startu.Poniżej zamieszczam kod, który to realizuje (tak myśle:). #include <avr/signal.h> #include <avr/interrupt.h> #include <avr/io.h> #include <stdlib.h> #include "lcd.c"...
Witam, na poczatku chcialbym uprzedzic ze moja zabawa z uP zaczela sie b. niedawno :) Moj problem polega na tym, ze chcialbym uruchomic modem gsmowy na tej atmedze. Jednak mam pewne problemy z komunikacja. Ktos poradzil mi, zebym zwarl tx i rx po wyjsciu z max232 zeby sprawdzic ustawienia transmisji (odbior - wysylanie). I faktycznie uczynilem tak jak...
jest 8MHz poniewaz tyle moze pracowa przy wewnetrznym oscylatorze.
Z dokumentacji wynika jasno co nastepuje: Ustawiamy jednoczesnie I/O=0, CE=0, CLK=0 . Nastepnie CE=1 ( tu dane zapisywane sa do shift registru i wystawiane na pin DATA ). dalej czekamy co najmniej 470ns po czym ustawiamy CLK=1 . W tej chwili powinnismy miec na 100% bit 0 danych gotow do odczytu na pinie DATA. Czekamy nastepne 470ns po czym ustawiamy...
ok. nie maproblemow z zaprogramowaniem. config porta = output to znaczy, ze sa wejsciami? nastepna linia porta= &B00000000 oznacza wejscia ? bo w/g mnie to powinny byc jako wyjscia. jesli sie myle to prosze o podanie informacji jak je ustawic. pozdrawiamMarek p.s. potrzebuje by smigal na wewnetrznym oscylatorze.
Witam Piszę w starym temacie żeby nie robić nowego. Uruchomiłem zegar na Atmega32 , kwarc zegarowy podpięty pod PC6 i 7. Wszystko działa ok , ale czy mogę podłączyć pod XTAL kwarc np 16Mhz ? czy procek musi działać na wewnętrznym oscylatorze. Pozdrawiam.
Po prostu to jest takie dziwne że pytam. A nie ma takiej możliwości żeby programu nie mozna było wgrywać? Zamówie dwa nowe procesory i sprawdzę. Firma chce za wgranie z przesyłką 160zl. A za 150zl kupić można mlodszy używany sterownik. Jak juz przyjdą procesory to dam znać. A zapytam przy okazji. One mają wewnetrzny oscylator na 1Mhz?
Spokojnie, nie mogłeś zablokować programowania ISP, nie da się tego zrobić w PonyProgu programując przez ISP. Zapewne źle ustawiłeś oscylator. Podłącz mu na nóżkę XTAL1 generator zrobiony np. z bramek 74HC14 (na elektrodzie jest gdzieś schemat) i wtedy spróbuj programować. Zapewne wszystko będzie OK :)
tak dla ścisłości - wewnętrzne to są wbudowane ale oscylatory a nie rezonatory, za co "płaci" się pewną małą nidogodnością jaką jest to, że nie generują one tak stabilnej częstotliwości taktowania jak właśnie rezonatory zewnętrzne. Jednak do znakomitej większości szczególnie amatorskich ale i zaawansowanych projektów taka dokładność wewnętrznych oscylatorów...
Być może dotykając śrubokrętem nóżki uszkodziłeś wejście oscylatora. Możesz jeszcze spróbować z zewnętrznym generatorem podpiętym pod wejście oscylatora. Niemniej wartość 0x80 w rejestrze ASSR jest mocno nieprawdopodobna.
Witam, od paru dni walczę z postawieniem komunikacji po modbusie RTU, przez RS485 przy pomocy biblioteki freemodbus v1.5. Po wielu próbach i przeglądaniu forum w poszukiwaniu informacji udało mi się poprawnie skompilować i wgrać program, jednak przy próbie skomunikowania się z atmegą (odczytania rejestru o adresie 1000 lub 1001) albo nie odpowiada wogóle...
Witam. Dziękuję za zainteresowanie. Zanim wezmę się za program muszę uporać się z kilkom małymi problemami :( Niestety nigdy nie wykorzystywałem ani przerwań, ani timerów. To niestety sprawia, że nie wiem do końca jak się zabrać za ten program. Nie mogę do końca zrozumieć czym się różnią przerwania od znanych mi już funkcji (void), które wywołujemy...
Czy aby "Ext. RC Osc. ..." to nie jest zewnętrzny oscylator - ale RC a nie kwarc? "For 12 MHz frequency of external crystal, CKSEL [3:1] is set to 111." ze strony
Przepraszam, popełniłem błąd przepisując z książki. Powinno być: Config Adc = Single, Prescaler = Auto, Reference = Avcc Portu nie musisz dodatkowo konfigurać jako wejście, tylko to co powyżej. Jedyne co musisz dodatkowo skonfigurować to wyświetlacz i częstotliwość oscylatora taktującego mikrokontroler. Mam nadzieję że teraz będzie działać, sprawdziłem...
Dodaj na początku programu następujące dyrektywy: $regfile = "m16def.dat" $crystal = 7372800 $hwstack = 128 $swstack = 128 $framesize = 128 Rozmiary poszczególnych stosów ustaw według własnych potrzeb. Wpisz również odpowiednią częstotliwość zegara taktującego (rezonatora, wewnętrznego oscylatora, itp.). Pozdrawiam...
Witam, Kiedyś obiecałem, że napiszę dla potomnych... i zapomniałem :> void RoboInit() { TCCR1A = 0b10100010; // ustawienie pinów i trybu fast PWM TCCR1B = 0b00011001; // ustawienia z brakiem preskalera DDRD = 0b00001100; // piny 2 i 3 na wyjście ICR1 = 20000; // bez preskalera wyjdzie w us ICR1 na 20ms RoboCenter(); //OCR1A = CENTER_FRONT;...
Witam. Nie wiem czy to nadal aktualne ale ustaw wewnętrzny oscylator na 8MHz. powinno pomóc.
Najprościej to jest użyć RC5SEND, tylko chyba nie da się użyć z 2 kanałami. Gdy budowałem pilota to też początkowo nie mogłem odebrać sygnału. Okazało się że problem był w konfiguracji oscylatora. Jeśli chcesz żeby to wszystko działało wystarczy użyć gotowych komend z RC5 Możesz zbudować nadajnik, odbiornik lub kilka i żaden nie będzie miał problemu...
Taki mi się urodził problem. Mam tutaj M162, w dość prostym układzie (TQFP 44). Programator USBasp. Kłopot jest taki - spod mkAVRCalculator ustawiłem sobie fusy na : lfuse FF, hfuse D9, extended FF. Mam kwarc na 11.059 MHz. I teraz tak - zarówno spod avrdude, jaki i spod mkAVRCalculator mam poprawną komunikację. Mogę sobie odczytać fusy, flash itp....
Witam Mam taki problem. Grzebiąc po archiwach elektrody znalazłem gotowe funkcje do inicjalizacji USART i transmisji danych. Niestety, w HyperTerminalu wyskakują mi "śmieci" zamiast tego, co chciałem przesłać. Domyślam się, że może być problem z dobraniem argumentów przy inicjalizacji. Dodam, że komunikacja odbywa się prawidłowo, gdy piszę w Bascomie,...
niestety, ale nie będę instalował eagle'a (jak pewnie większość użytkowników chcących Tobie pomóc) żeby obejrzeć Twój schemat - na przyszłość umieszczaj je w jako obrazki albo pdf'y. Jaki czas podtrzymania chcesz uzyskać? Ja zastosowałem kiedyś u siebie Gold Capa przy PCF8583. Z tego co pamiętam dało to około 12h podtrzymania (było to obliczone, nigdy...
1. Skoro za czas odpowiada zewnętrzny RTC, to po co MCU ma swój kwarc? Z jednej prostej przyczyny, jak już wspominałem uczę się programować w C i ten układ będzie mi służył nie tylko do wyświetlania godziny itp. mogę na nim pisać wiele innych programów które będą wymagały zastosowania zewnętrznego oscylatora. ... i masz tam diody (swoją drogą wygodniej...
Kiedyś miałem podobny problem z Atmega168. Wlaczylem jej taktaktowanie na wewnetrzy 128kHz i byl wlaczony podzial przez 8 (div8)- czyli "chodzila" na 16 kHz. Z atmega juz nie moglem sie polaczyc;( Nie dało sie zczytac ani ustawic fusebitow. Problem rozwiazalem przez program Bascom. wystarczylo ustalic opoznienie portu LPT na 500. Atmega powróciła do...
? nie wiem co to za koslawy kod. Po 1, nie uzywa sie goto. 2, Ja na twoim miejscu bym uzyl timera 2 w trybie asynchronicznym, z zegarkowym oscylatorem. Ustawil przerwanie z timera na 1 sekunde. Pozniej w przerwaniu dodal bym zliczanie do 30 sekund. Gdy nie ma 30 Sekund osiagnietych flaga=0, gdy jest powyzej 30 flaga=1. Przycisk 1 by startowal odliczanie...
Witam, Korzystając z ostatnich wolnych dni przed studiami chciałbym zaprezentować moją ostatnią konstrukcję. Jest to mały przenośny barometr. Konstrukcja powstała na potrzeby osoby wrażliwej na zmiany ciśnienia oraz spełnia jej wymagania tzn. mały rozmiar( 20x40x9mm) oraz co się z tym wiąże - mobilność. W krótkim czasie planuję rozbudować urządzenie...
a moze musisz w programatorze okreslic rodzaj oscylatora i inne kluczowe elementy ustawiane poprzez LOCK albo FUSE BITS ??
Procesor to atmega16L z wewnętrznym kwarcem 8Mhz (dodefiniowałem F_CPU 8000000L). bardzo ciekawe to co napisales, bo domyslnie ta atmega ma ustawiony oscylator 1MHz, a nie 8. do tego na porcie C ma cos takiego co sie zwie JTAG, co wypadaloby najpierw wylaczyc, jesli tego uzywasz. nie mam ochoty na wiecej zgadywanek, bo ani nie dalej schematu, ani calosci...
Dioda ma migać średnio ok. 70 razy na minutę. Zastanawiam się czy komunikacja (np. po I2C) z driverem PWM do diod LED nie będzie zbyt wolna? Dodatkowo chciałam uśpić ATmegę, żeby zaoszczędzić na poborze prądu. A do komunikacji trzeba by ją ciągle budzić. Uśpienie jest możliwe, jeśli wykorzystuję tylko Timer2 w trybie asynchronicznym (taktowany z zewnętrznego...
Czyli kolega ma kwarca 8MHz i pisze $crystal=8000000 ... $baud=9600 I nie bascom źle działa tylko nie czyta sie instrukcji i pdf od megi a tam jest jak byk napisane że nowa mega działa na oscylatorku wewnętrznym 1MHz czyli 9600/8=1200 jak kolega nie wierzy prosze wylutować kwarca a program i tak bedzie działał bo mega pracuje na wewnętrznym oscylatorku....
Pisząc 8MHz (wewnętrzny kwarc) miałeś chyba na myśli wewnętrzny oscylator ? tak? i że przy takiej konfiguracji szwankuje ci ATmega16 ???? Jeśli tak to mogę się podzielić moimi spostrzeżeniami. Otóż nie wiedzieć czemu też często a w zasadzie zawsze gdy biorę Atmega16 na wewn oscylatorze 8MHz to na 9600 nie chce mi działać zbyt dobrze podczas gdy ATmega8...
Witam z tej strony znów ja i znów z durnym problemem. Otóż w przypływie weny napisałem prosty programik który obsługuje programowe kanały PWM (do kilku taśm led) i w ramach mojego zboczenia php chciałem to napisać tak by potem nie musieć przekopywać 50 linii kodu by dodać lub usunąć jeden kanał. Jednak po wszystkich moich wojażach kod zaczął sie strasznie...
W zasadzie temat wielokrotnie wałkowany i powinieneś użyć opcji "szukaj " jednak jesteś tu nowicjuszem w ilości postów ;) więc troszkę ci pomogę . Jeśli programator nie rozpoznaje procesora ani przez spi , ani przez Jtaga pozostaje HVPP czyli wysokonapięciowy programator równoległy lub układ który w taki sposób ustawi prawidłowe "fusy" możesz jeszcze...
jakim napięciem powinien być zasilony konwerter mirekk36'a? Na tej płytce zastosowany jest konwerter do poziomów TTL, zatem zasilanie płytki co chyba powinno być oczywiste to standardowe +5V i można podłączać cały układ spokojnie także do procka zasilanego z +5V Dodano po 2 piotr411, jak to niepotrzebny? Wręcz przeciwnie. Bez kwarcu przy transmisji...
Witam kolegów, Jak napisałem w temacie mam problem z komunikacja Atmegi162 z czujnikiem ciśnienia i temperatury scp1000-d11. Generalnie problem w tym, że muszę zasymulować I2C bo ATmega162 nie ma sprzętowego, ale do rzeczy. Próbowałem skorzystać z gotowej biblioteki void I2C_SCP1000() { unsigned char ret1; unsigned char ret2; i2c_init();...
Udało mi się odpalić RC5 :) wszystko ładnie śmiga. Musiałem zmniejszyć oscylator na 8MHz tylko. Dorzucę jeszcze tylko bibliotekę z przykladowym programem, który na LCD wyświetla komendę i adres. Do zamknięcia !
Witam. Mam problem z podłączeniem atmegi z komputerem przez rs232. Nie wiem gdzie popełniam błąd w połączeniu czy w programie. Podłączałem bezpośrednio 3 pin pod pod Rx, 2 pod Tx, a 5 pod masę uC. Podłączałem tez według schematu [url=] lecz dostaje w odpowiedzi krzaczki, <0>, bądź nic. Kod programu znalazlem jakis gotowy [syntax=cpp] #include...
Witam, jako całkowicie początkujący w mikrokontrolerach - jak zwykle, mam problem (a tego słowa nie wolno używać w tytule). Zakupiłem Atmegę168, zaprogramowałem programem (wsadem) typu miganie diodą (który sam napisałem), wszystko OK. Kolejna próba się nie powiodła... AVRdude wywalił błąd sygnatury/błąd komunikacji. I tak zostało. Z powodu braku siły...
zrobiłem test z pętlą, w której program zwiększa wypełnienie o 1 mikrosekundę powtarzając od wartości 700 do 2200 mikrosekund. Wszystko działa płynnie i ładnie do 765, po tej wartości nagle serwo wykona ogromny skok i idzie znów dalej płynnie (jakby nie było zakresu ustawienia 765-1500). Akurat wczoraj też odnalazłem przykład kodu z wewnętrznym oscylatorem...
nie działa tak jak zakładasz. To się wykona raz po czym procesor wejdzie w martwą pętlę. Zgadza się, u siebie mam oczywiście poprawnie tylko tutaj zapomniałem umieścić pętli while(1), już poprawiłem w pierwszym poście. Druga sprawa - jeśli odbierasz śmieci to znaczy, że masz źle ustawione baudrate. Jak taktujesz MCU? Baudrate jest raczej ok bo tak...
Cześć, postanowiłem zmienić swój stary model Atmegę16A na nowszą wersję więc zakupiłem Atmegę168A-PU. Problem w tym, że za żadne skarby nie mogę zrobić na niej choćby prostego mrugania diodami za pomocą przerwań. Połączenia są zrobione dobrze, konfiguracja również. Ustawiony jest preskaler, uruchomiona globalnie obsługa przerwań, ustawiona jest odpowiednia...
Witam, pracuje nad małym systemem modułowym do sterowania w domu. Na ten moment mam : -klawiaturę Matrix do wpisywania kodu do drzwi (atmega88pa) -manipulator do temperatury (atmega164pa) -czujnik temperatury (attiny84a) Zamówiłem wszsystkie części i własny projekt płytek pcb. Klawiatura działa bez żadnego problemu, program wgrywa się i działa w 100%...
[syntax=vbnet] $regfile = "m16adef.dat" 'mikrokontroler $crystal = 8000000 'częstotliwości oscylatora taktującego mikrokontroler Poziom Alias Pina.7 : Config Poziom = Input : Set Poziom 'wew podciągnięcie do VCC Obudowa Alias Pinc.5 : Config Obudowa = Input : Set Obudowa 'wew podciągnięcie do VCC Led_p Alias Portc.4 : Config Led_p = Output 'po starcie...
Panowie jest rozwiązanie :) załączam screen... to raczej nie powinny być ustawienia nowego procka, prawda? nie pasuje mi tu zewnętrzny oscylator... Dodano po 1 PS. po podłączeniu zew. rezonatora + kondensatory...
źle. #define F_CPU 1000000UL musi być ustalone przed linią #include <util/delay.h> bo inaczej dostałbyś warning kompilatora: # warning "F_CPU not defined for <util/delay.h>" Spójrz w źródła pliku WinAVR\avr\include\util\delay.h, aby się przekonać, że makro F_CPU musi być zdefiniowane: [syntax=c]void _delay_ms(double __ms) { uint16_t __ticks;...
Moge podac ci moj kod ktory kiedys dzialal #define DS1337 0xD0 //1101 0000B- adres hardware'owy zegara DS1337 #define NOERROR 0 #define ERROR 1 //--------------------- // Adresy w DS1337 //--------------------- #define DZIEN 0x04 #define MIESIAC 0x05 #define ROK 0x06 #define GODZINA 0x02 #define MINUTA 0x01 #define SEKUNDA 0x00 **************** Procedura...
Moja koncepcja: - Mikrofon. - Wzmacniacz. - Filtr antyaliasingowy w okolicy 660Hz (struna e) np. MAX29x. - ADC, próbkowanie 2kHz (więcej nie trzeba, a i liczenia mniej będzie). - Mieszacz kwadraturowy (programowy), sinus i cosinus generowane na zasadzie DDS. - Filtr dolnoprzepustowy na wyjściach I i Q mieszacza, pasmo przenoszenia małe, może z 10Hz,...
Wyczytałem, że w1_init() zwraca zero, gdy po sygnale reset na szynie nie ma odpowiedzi od urządzenia podpiętego. Sprawdź, czy podana w codevision częstotliwość taktowania uC jest zgodna z tym co masz na pcb. Sprawdź też fuse bity, czy na pewno taktujesz procka z kwarcu zewnętrznego a nie z wbudowanego oscylatora. Na koniec sprawa podstawowa - czy masz...
Dopasuj prędkość transmisji po rs do nowej częstotliwości-miałeś wewnętrzny oscylator 8MHz i włączony dzielnik-przez 8 a nie przez 16-a teraz masz 16MHz bez dzielnika. Jak diodka ci szybciej miga-to częstotliwości rs w procesorze i w komputerze Ci się "rozjechały".
To musi zadziałać ;) nie ma, że jakieś czary-mary. W nocie masz jasno napisane jak są domyślnie fuski ustawione to nie może być inaczej - czyli wewn. oscylator 1MHz. Tak więc o ile wszystkie połączenia są dobre to może właśnie warto z jakikolwiek innym programatorem sprawdzić żeby wpaść na trop co tu nie gra
Wew. oscylator? I czy dużo danych wysyłasz na raz? Jaka prędkość? Jaki kwarc?
Witam. Mam problem z następującym kodem /fragment: Do Call Wezczas If Menu = 0 Then 'glowny program Call Wyswczas Waitms 300 If Przeszlo = 0 Then 1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 End If Incr Przeszlo If Przeszlo > 3 Then 1wreset 'reset 1wwrite &HCC 'rozkaz adresowy SKIP ROM 1wwrite...
Jeśli cały z wyświetlaczem i podświetleniem pobiera 28mA to nie jest źle. Jeśli sam procesor to tragedia. Jak go taktujesz? Podłącz pod timer zewnętrzny oscylator 32768Hz, z niego możesz też taktować procesor. Pomiędzy wyświetleniami dawaj go w sleep, przerwanie timera go wybudzi. Sam procesor powinien brać <1mA (mówię o jakimś z serii A lub low...
Podłączyłem rezonator zewnętrzny pod atmegę 162. Rezonator 8MHz. Fuse zaprogramowałem następująco: LOW: 0xFD HIGH: 0xD9 Extended: 0xFF Jednak teraz po przetestowaniu poprawności poprzez program echo miedzy PC a tym uC, wystepują krzaczki, tak jakby coś nie bardzo ten kwarc pasował. Ten kwarc jest w porządku czy mniejszy (wiekszy) dac i wtedy jeszcze...
Dziękuję za CKOUT Fuse- odpowiedź na wszystko. Oscylator swoją drogą. Mam teraz z czego wybierać. Rozwiązuję temat. Pozdrawiam.
To jest całkiem normalne, że przy fabrycznym taktowaniu 1MHz programator USBASP bez założonej zworki SLOW_SCK nie zobaczy procka. Ja tak mam w 98% przypadków a tylko w 2% przypadków mi widzi. Dlatego m.in ja zawsze pracuję na wyższym taktowaniu, minimum 8MHz. Na tyle od razu przestawiam fabryczny wewn. oscylator o ile nie potrzebuję kwarca oczywyście....
Fusebity nie ruszane. Atmega taktowana wewnętrznym oscylatorem. I ponoć do tego zastosowania, do którego ja używam zewnętrznego oscylatora, fusebitów ruszać nie trzeba.
Pewnie, że nie ma (jeśli chodzi o wewn. oscylator RC) i zresztą bardzo dobrze ;) po co takie żółwie tempo ? Ale jak się uprzesz i jednak będziesz chciał żeby na siłę ci procek tak wolno śmigał to zawsze możesz ustawić sobie fusy na zewnętrzny rezonator kwarcowy i podłączyć do procka kwarc 2MHz - no i będziesz miał taktowanie 2MHz .... więc możliwość...
Oscylator pracuje? Jeśli nie masz jak sprawdzić (oscyloskop z sondą 1:10 z odrobina wiedzy 1:1) to przestaw na generator RC. Jeśli nic się nie zmieni to uszkodzony LCD lub błąd w połączeniach pomiędzy LCD a AVR (nie muszę pisać jak sprawdzić). Aby wyeliminować problem kontrastu ustaw go tak aby "prostokąty" były słabo widoczne. Jak program ruszy to...
Dobra, uwierzyłem Panu Mirkowi, ale to było kiedyś i dziś bym nie popełnił tego błędu. Teraz mam drugi problem do rozwiązania, w mkavr procek atmega168 jest wykrywany bez problemu, za to w eclipse wyskakuje mi klasyczny rc=-1. Wszystko jest podłączone na tip top z programatora. Dodam ze do MC jest podlaczony jeszcze wyswietlacz lcd
Witam, mam problem ze stworzeniem w języku C generatora, który będzie mi zmieniał stan niski na wysoki (stan niski 10ms, stan wysoki 0.32ms) przez czały czas działania programu niezależnie od pętli głównej programu. Czy jest to wogóle możliwe? Liczę na pomoc w dojściu do rozwiązania tego zagadnienia. ATmega 168 taktowana wewnętrzym oscylatorem 8MHz....
Kwarcu nie mam ustawiony mam na wewnętrzny oscylator RC 4Mhz, ale nie wiem czy to ma duży wpływ, gdyż doświadczenia są wykonywane w przyjaznych temperaturach. A oto mój program $regfile = "m16def.dat" $crystal = 4000000 config 1wire= portb.7 $baud = 2400 Do 1wreset 1wwrite &HEE 1wwrite &HAA wait 1 t=1wread (1) print t Loop End Na wyświetlaczy...
Witam Mam kilka pytań odnośnie tego uk oraz wyświetlacza LCD 2x16: 1. Słyszałem, ze ta kość posiada wbudowany oscylator wewnętrzny (chyba RC) który normalnie (po zakupie i nie grzebaniu w fuse bitach) jest domyślnie ustawiony. Nie umiem zmieniać fuse bitów a płytke mam wykonaną już z zewnetrznym oscylatorem 8MHz. Czy będzie to przeszkadzać w normalnej...
a używasz rezonatora kwarcowego do procka? czy oscylatora wewnętrznego? - bo jak oscylatora to może się prędkość "rozjeżdżać" i transmisja może głupieć. jeśli masz kwarca i tracisz komunikację z modmem w telefonie to spróbuj po takiej utracie wysłać do telefonu na siłę kilka poleceń AT&F - reset modemu - ja to stosuję gdy tracę rzadko bo rzadko ale...
Witam. Od dłuższego czasu siedzę nad komunikacją USART synchroniczną pomiędzy ATmega16 i AT90CAN128 i nie potrafię dojść dlaczego nie działa. ATmega16 taktowany jest zewnętrznym kwarcem 3,686400 MHz, a AT90 z wewnętrznego oscylatora RC 8MHz. Docelowo będzie taktowany z pinu OC1A w atmedze, dlatego zdecydowałem się na transmisję synchroniczną. Atmega...
$regfile = "m162def.dat" $crystal = 8000000 Config Portd.1 = Output $lib "glcdKS108.lbx" Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Porta , Ce = 7 , Ce2 = 6 , Cd = 3 , Rd = 4 , Reset = 5 , Enable = 2 Cls Showpic 0 , 0 , Plaatje2 Do Set Portd.1 Wait 1 Reset Portd.1 Wait 1 Loop Plaatje2: $bgf "fo.bgf"...
ok. Więc mam kolejne pytania, a mianowicie czy uruchomienie zew. kwarcu spowoduje bardziej precyzyjne odliczanie czasu i jak ustawić te fusbity. Wiem że na temat fusbitów jest dużo na forum, ale również jest dużo postów typu " ustawiłem fusbity i nie mogę zaprogramować", więc się trochę boię bo nigdy tego nie robiłem. Naturalnie! Dokladnosc wewnetrznego...
To może teraz ja zapodam przykład... oscylator wewnetrzny 1MHz i chce uzyskac 1s tak więc: 1000000/64=15625 później 15625/125=125 no i reszta trzeba programowo zbić... No dobra i mam program: na pewno jest to dla was banalne, jednak dla mnie, kogoś kto ma styczność z avr-ami około tygodnia nie jest to łatwe moje pytania są zaznaczone strzalkami <--...
Na moje oko źle ustawione źródło sygnału zegarowego i mikrokontroler pracuje na wewnętrznym oscylatorze RC z prędkością 1MHz lub pozostał zaprogramowany CKDIV8 i sygnał oscylatora jest podzielony przez 8 ! Proszę sprawdzić ustawienie bitów cksel i prescalera. Wystarczy odłaczyć kwarca jeśli układ dalej nadaje to problem leży właśnie w tym .
Opanowane, o 4:00 rano niestety nie myślałem już racjonalnie. Okazało się że musiałem na programatorze włączyć generator żeby procek ruszył bo przecież zmieniłem na zewnętrzny oscylator. Niestety AVR Studio 4 nie udało mi się poprawnie zaprogramować procka, musiałem użyć MkAvrCalkulator. Teraz zegar działa prawidłowo.
Jeszcze chwilka i połamie nogi w ATMedze :) wszystko na początku działało, układ sie programował, zczytywał ogólne wszystko OK... Chciałem wysterować diody z portu C no i trafiłem na wyprowadzenia odpowiedzialne za JTAG'a. Zacząłem kombinowć z FUSE bitami i przy kolejnym programowaniu PonyProg poinformował mnie, że nie rozpoznaje układu i koniec......
Witam Mam bardzo dziwny problem otóż atmega16 z dodatkowym kwarcem 32,768khz nie chce poprawnie działać. Uruchamiam ten timer2 w bascomie i próbowałem już róźnych ustawień, także zastępowałem komendy bascoma bezpośrednimi wpisami do rejestru i ciągle jest tak samo. Jeżeli przełącze na wewnętrzny kwarc ten timer2 to oczywiście działa, na zewnętrznym...
Oscylator może mieć +-3% dla 1MHz i 25stopni zgodnie z notą katalogową (ATMEGA16, str. 27), więc do dokładnego odmierzania czasu zaleca się używanie zewnętrznego kwarca. Podobno może uzyskać +-1%.
Z jaką częstotliwością rezonatora pracujesz? Wszystko co dotyczy konfiguracji liczników masz w help'ie (również w b. dobrym polskim tłumaczeniu autorstwa Zbigniewa Gibka) przykład: CONFIG TIMER0=TIMER, PRESCALE=64 'ustaw timer/licznik0 jako timer z podziałem częstotliwości zegara /64 (...) ON TIMER0 wyswietl 'po przepełnieniu licznika skocz...
Witam Kolejny raz Dallasy i Bascom. Miałem już ten sam problem pół roku temu ale projekt wylądował na półce i powrócił teraz. Podłączam DS18B20 do ATmega16, QD do zasilania przez 4k7, reszte zwieram i do masy. Za nic nie chce mi to działać. Próbowałem już chyba wszystkich programów z forum i nic mi to nie daje. Wiem że są problemy z fuse bitami i taktowaniem...
no to masz dobrze ustawione skoro na external crystal/ceramic resonator - tego się tylko chciałem upewnić, więc u ciebie to nie będzie problem bajtu kalibrującego wewn oscylator. Schemat wygląda jak pisałem już chyba cacuni/OK więc - naprawdę coś dziwnego się dzieje u ciebie Dodano po 5 napisz mi jeszcze potwierdź tylko, to znaczy że po odłączeniu STK...
Witam! Mam płytkę drukowaną z atmega16 TQFP, zwykły zasilacz 12V, na płytce stabilizator wyfiltrowany kondensatorami na we i wy, do tego kondensator na każdą parę zasilania do samego uP. Oscylator wewnętrzny. Programuję go programatorem stk200, programowanie przebiega bezbłędnie, weryfikacja w porządku. W programie zapisane miganie diodą co 1sek. #define...
Wewnętrzny oscylator można pięknie sobie wykalibrować, szczególnie pod kątem właśnie transmisji RS232. Służy to tego jeden bajt, którego wartość można odczytać a potem zmieniać (w górę lub w dół) i sprawdzać jak się zachowuje transmisja RS232. Gdy się złapie jego odpowiednią wartość (taką "po środku") - to można przy starcie programu ją zawsze ładować...
Witam Buduje urządzenie zasilane bateryjnie oparte na atmega169p. Procesor jest zasilany z około 2.6V i pracuje na zewnętrznym oscylatorze 1.8432MHz. Procesorem wysterowuje wyświetlacz LCD (4 wspólne + 12 segmentów). Problemem jest pobór prądu w czasie uśpienia procesora. Nie mogę zejść poniżej 100uA w power save mode. Brownout i debug mode wyłączone....
Witam! Sprzęt: - ATmega16 (PDIP40), taktowanie - wewnętrzny oscylator 8MHz - cyfrowy termometr na magistrali 1-Wire DS18B20 (narazie jeden, później 3 ) podłączony 3-przewodowo, - LCD 2x16 na sterowniku HD44780, Soft: - WinAVR (avr-gcc 3.4.3). Zaznaczam, że w tej dziedzinie jestem raczkujący - parę lat już się za to zabieram. Chciał bym zbudować na początek...
Trzeba, nie trzeba to zalezy jak zostaly ustawione FUSE BITY. Musialbys je odczytac i sprawdzic czy procek ma hulac na zewnetrzym kwarcu czy moze jet ustawiony na dzialnie z wewnetrznego oscylatora RC. No ale odpowiedz na pytanie: Aby zaprogramowac ATmega16 nie potrzeba zewnetrznego kwarcu o ile nic nie pozmieniales w FUSE'ach.
#define MYUBRR FOSC/16/BAUD-1 jest dokładnie przepisane z przykładu w datasheet ATmega16, więc to chyba nie to. Poza tym wyrażenie FOSC/16/BAUD jest chyba równoważne FOSC/(16*BAUD), bo wydaje mi się, że najpierw wykonywane jest działanie FOSC/16, a następnie wynik dzielony jest przez BAUD. Moim zdaniem większe znaczenie może mieć fakt, że przy BAUD=9600,...
Witam. Zablokowałem przez przypadek Atmege8 podczas próby zmiany funkcji pinu RESET na I/O w bascomie. Robiłem to pierwszy raz i chyba coś jeszcze zmieniłem przy okazji bo momentalnie układ przestał odpowiadać. Mam programator równoległy. Czytając o takich przypadkach możliwe że przyczyną blokowania jest przejście układu na zewnętrzny oscylator, niestety...
Jak masz ustawione fuse bity ? Nie masz przypadkiem włączonego dzielnika zegara przez 8 ? Możliwe że używasz wewnętrznego oscylatora RC 8MHz podzielonego przez 8 czyli układ pracuje na 1MHz wyślij coś na próbę z AVR i sprzwdź czy prędkość jest 9600 a nie 1200