Po krótkiej lekturze MSDN wygląda na to że IRDA jest obsługiwana przed biblioteke WinSock.
1. Dowiedz się jak zbudować programator na port RS-232. 2. Dowiedz się jak działa taki programator.
Proszę bardzo ;) Timer napędzany jest od systemowego taktowania. Jeśli każę mu policzyc do jeden i odwrócić pin to w pierwszym takcie zegara licznik Compare1a ma zero i pin nie jest odwracany ;) Dopiero za drugim razem pin jest odwracany. Z tego powodu że żeby mieć częstotliwość na pinie trzeba go raz mieć w stanie wysokim a raz niskim, a da się to...
(1 << NAZWABITUWREJESTRZE) oznacza ustawienie go na "1"... Nazwy poszczególnych bitów znajdziesz w dokumentacji... Taka metoda ma spory plus... Zdecydowanie łatwiej połapać się co się ustawiło... Może częstotliwość jest za niska... Przeglądnij sobie dokładnie fragment dokumentacji dotyczący timera1... O ile dobrze pamiętam przy 50Hz już nie będzie...
To, co nazywasz "liczba" po polsku nazywa się "cyfra". Aby uzyskać wartość cyfry musisz odjąć od niej kod zera, czyli wartosc = znak - '0'; Obsługa przerwania odbioru transmisji powinna działać w min. 2 stanach: oczekiwania na cokolwiek i skanowania liczby. W stanie podstawowym po napotkaniu pierwszej cyfry zerujesz liczbę (albo i nie), zapisujesz w...
Po SPI :) Zapoznaj się z helpem Bascom'a oraz poniższym tematem: http://www.elektroda.pl/rtvforum/topic14...
Dostosuj do swoich potrzeb i spróbuj tego: Dim I As Byte Dim J As Byte Dim K1 As Byte Dim K2 As Byte Dim K As Byte Dim Flaga As Byte Dim Pomoc As String * 2 Dim Pomoc2 As String * 1 Dim Dlugosc1 As Byte Dim Dlugosc2 As Byte Dim Numer_tel As Byte Dim Komunikat As String * 80 Dim Numer_gsm As String * 13 Numer_gsm = "48604604604" ' tu wpisz...
To zamiast: [syntax=basic4gl]Print &H7E; [/syntax] wyślij: [syntax=basic4gl]Print "{126}"; [/syntax]
Witam . W jakimś numerze Nowego Elektronika jest pełny opis takiego miernika Wieczorem mogę poszukać . Jak znajdę to mogę zeskanować i wysłać na meila . Edit . Skan artykułu wysłany .
Tak, dokładnie tak jest, że sygnał TXEN włącza wbudowany wzmacniacz. Nie wiem jeszcze dlaczego po inicjalizacji modułu, pobiera on ponad 200mA prądu nawet, gdy TXEN=0, nie wysyłając żadnych danych (gdy zmniejszę moc inicjalizując urządzenie, pobór prądu jest mniejszy, ale i tak skacze na ponad 200mA, gdy próbuję coś wysłać)...
Po każdym bajcie zakończasz transmisję w funkcji wyślij, zrób to tylko po ostatnim bajcie,tym z zanegowaną komendą. Obecnie między bajtami masz dwa następujące po sobie impulsy, jeden pod koniec funkcji wyślij, drugi na początku następnego bajtu.
ok dzięki za pomoc jutro postaram sie wysłać foty
Sprawdz tu: Link Pzdr. A.
Ewentualnie czy mogę to w jakiś prosty sposób zapisać do tablicy i użyć potem w miarę koniecznośći ?
Czyli w masterze mam ustawić jeden z pinów (rozumiem, że mogę SS) jako wyjście, którym będę dawał stan niski przed wysyłaniem danych, a wysoki po wysłaniu danych? Nie. Chodzi o to żebyś pin SS (konkretnie SS) ustawił w stan wysoki i już go nie ruszał. Z kolei jakiś dowolny inny (ale w żadnym wypadku SS) wysterowujesz tak jak napisałeś. Czyli dajesz...
Witam Udało mi się wysłać sms na Nokię 3310 (połączona z PC poprzez kabel fbus/mbus). Na kablu ustawiłem MBUS. Wykorzystując Visual Studio udało mi się wysłać sms: Klawisz button1 onclick Dim Init() as byte={&HD} SerialPort.Write(Init,0,ubound(I... sleep(25) Dim buf2() as byte={&H1F,&H0,&H1D,&HD0,&H0,&H1,&H...
Witam Chce zrobić zdalnie sterowany pojazd, w tym celu chcę użyć nrf24l01 oraz 2x atmega8. Skożystałem z gotowych plików ze strony Proszę poprawić treść wiadomości - 3.1.13
Niestety nie pomogło, poniżej pokażę kod główny plik rs.asm .nolist .include "m8def.inc" .list .def tmp=R16 .def tmp2=R19 ;rejestry gdzie laduje argumenty funkcji .def arg1=R17 .def arg2=R18 .equ TIMER_OFFSET=0x00 .equ TIMER_PRESCALER=0x2 .equ TIMER_STOP=0x0 ldi tmp,HIGH(RAMEND) out SPH,tmp ldi tmp,LOW(RAMEND) out SPL,tmp ldi...
Chcę do procesora atmega8 wysłać program w formacie .hex. Następnie odczytać z terminala wartości jakie zostały zawarte w pliku hex.Jak poprawnie skonfigurować UARTa?
Parafrazując Twój kod wygląda mniej więcej tak: Jeśli a jest równe 48 to wyślij 48 Jeśli a jest równe 49 to wyślij 49 Jeśli a jest równe 50 to wyślij 50 itd... A powinien wyglądać tak: Wyślij a
Witam:) Na początku chciałem zaznaczyc, ze przejrzalem wiekszą czesc forum odnosnie tego co mnie interesuje, ale nie znalazłem do końca odpowiedzi. Mam czujnik DS połączony do Atmy8 i po szczytaniu 9 bajtów(dane ktore lecą po komendzie o wartosc 0xBE) , umieszczam je w tablicy o rozmiarze 9, np. char tablica[9]; int k; for(k=0;k<9;k++) { tablica[k]=odczyt_bajt();...
Ale po co wpisać lirc w google... Prawda?
Nie da się wysłać innej ilości bitów niż wielokrotność 8. Jeśli interesują ciebie tylko wybrane bity w ilości mniejszej niż 8 to albo zignoruj te niepotrzebne albo wytnij je operacją AND. Przynajmniej dla sprzętowej wersji transmisji w atmega8.
Osobiście nie używam MCP2515. Możesz go podłączyć do atmegi8 ale i tak nic sensownego na tym nie zrobisz. Ściągnij CanFestival tam do AT90CAN masz napisany port i założony przykładowy projekt do AvrStudio. Dodatkowo w komplecie do stosu masz generator\edytor obiektów OD. Cos dodatkowo do tego potrzebuję? Sporo wolnego czasu :)
Ja planuje chyba coś takiego: attiny 2313 jak:(na tyle ile pamięci stykanie) bariera ir temperatura i wysłanie do atmega8 i on by to przetwarzał sterował i jescze z kompem sie komunikował a jak wytworzyć dana częstotliwość w bascom?
Witam! Dzięki za pomoc. Napisałem to tak: void wyslij (char dane) { int x; for(x=0;x<8;x++) { if((dane & _BV(x))==0) I_wire_0(); else I_wire_1(); czekaj_us(1);//10us } } Może komuś się przyda. Pozdrawiam
Nie dam Ci kodu w C bo piszę tylko w asemblerze. Jak pisałem wcześniej wyświetlacz 4x20 może być i obsługuję się go dokładnie tak samo jak 2x16. Jeśli korzystasz z jakiejś biblioteki do obsługi wyświetlacza to tam się definiuje jaki to wyświetlacz czy 2x8 czy 2x20 czy 2x16 itd. Każdy mikrokontroler z odpowiednią liczbą portów może obsłużyć wyświetlacz...
Hm chyba sobie kupię tą książke :D hm a jak narazie zablokowałem sobie atmege 8 :/ ustawiałe fuse bity w bascomie mialem kwar 4Mhz dałem w fusebit opcję External XTAL i koniec :/ Hm jak za pomocą drugiego atmega8 odblokować pierwszego ?
Działa mi to a jakie zakresy tych dwóch zmiennych powinny być, ustawiłem od 0 do 127 ale jakoś nieprawidłowo działa
Teraz już dokładnie przeczytałem wszystko. Jak byś miał więcej artykułów dotyczących programowania AVR to jeszcze coś zapodaj na forum, albo na pw. W artykułach mowa była o zewnętrznym generatorze podłączonym do wejść TOSC1 i TOSC2. W ATmega8 jest też wejściem rezonatora kwarcowego. Jak zrobić żeby ten timer był sterowany z dowolnego wejścia mikroprocesora...
Wysłałem informację na PW.
Można tak jak kolega pisał wyłączać timer... Ale lepiej by chyba było w samej funkcji obsługi LCD w najbardziej newralgicznym punkcie (sama transmisja) wyłączać globalnie przerwania "cli();" i po wysłaniu danych włączać z powrotem "sei();'
Np usunąć włączanie przerwania od nadawania albo dodać taką obsługę w programie. Inaczej program leci w krzaki. Swoją drogą, jak daje radę wysłać cały tytuł to i tak jest niezły. Ja na podstawie analizy dałbym mu jedną literkę.
A sprubuj zmienić tę linię: Lcd Bufor na: lcd chr(bufor) Powinno to wyglądać tak: Sub Txt_edit Cls I2cstart I2cwbyte In_eep I2cwbyte Adr_hi I2cwbyte Adr_low I2cstart I2cwbyte Out_eep For I = 1 To 15 I2crbyte Bufor , Ack If I > 16 Then Lowerline End If Lcd Chr(bufor) Next I I2crbyte Bufor , Nack Lcd Chr(bufor) I2cstop End Sub...
Przepraszam za zamieszanie, wysłałem nię ten plik z wsadami. Teraz już jest właściwy zeg_v2b_wsady.
Mam taki problem że mierze temperaturę za pomocą ds18b20 dostaje wynik(2 bajty lsb i msb) i wyświetlam go na lcd działa pięknie, teraz chce go wysłać bezprzewodowo za pomocą rfm12b fragment kodu wysyłania wygląda tak while(1){ LEDR_ON(); RFXX_WRT_CMD(0x0000);//read status register RFXX_WRT_CMD(0x8239);//!er,!ebb,...
Terminal wbudowany w Bascom, jak i Terminal napisany w Delphi jak i Terminal wbudowany w Atmel Studio są na tym samym komputerze. Wszystkie mają te same ustawienia: port COM1, prędkośc: 9600, bit parzystości: N, ilosc bitów: 8, bit stopu: 1 Komunikacja między Terminalami a układem zewnętrznym jest wg mnie prawidłowa, bo w przypadku wszystkich terminali...
Na początek proponuje darować sobie TSOP1736. Chyba, że masz gwarancję że w okolicy nikt nie będzie używał żadnych pilotów podczerwieni. Wszystkie chodzą na 36 kHZ i będą wzbudzać lub zakłócać twoje urządzenie. Lepiej zastosować jakiś układ IRDA i zestawić prostą komunikację szeregową na UART. Masz wtedy jeden port szeregowy w PC i drugi port szeregowy...
Może schemat? Kod programu? Albo lepiej wyślij kawę - powróżę z fusów ;)
Zdaje mi się, że gdzieś łudząco podobny schemat już widziałem. Mniejsza z tym. Dobrze by było gdybyś opisał jakie są objawy tego "niedziałania". Schemat wygląda w sumie poprawnie, ale zanim uznasz procesor za uszkodzony zweryfikuj dokładnie częstotliwość taktowania i... może ewentualnie jakieś opóźnienia wstawić przed wysłaniem danych do LCD.
Proponuję po odebraniu przez RS232 entera ( #13#10 ) wysłać do wyświetlacza przejście do następnej lini. Bedzie to jak mi się wydaje najrozsądniejsze wyjście z sytuacji. Print - w bascomie zawsze po znakach wystawia znak enter (ascii: #13 #10).
Arnoldziq mozesz Mi wysłać schemat twojego układu ??
Witam, dziekuję. Mój program mierzy czas kolejnych impulsów prostokątnych o losowym czasie trwania. zapamiętuje czasy w wektorze, który jest wysyłany po zakończeniu serii pomiarów. Wyniki wysyłane są jako bajty. To działa do ok 187 liczb 3 bajtowych, zarówno w ATmega8 jak i w ATmega32. W międzyczasie sprawdziłem że mogę odebrać wektor pomiarów o długości...
Wyświetla się cokolwiek na terminalu oprócz tego zera ?
Oczywiście, gdy chcesz wysłać napis, nie stosujesz zmiennej BYTE, prawda?
Problem jest prozaiczny a może nie? Mam atmega8 i wysyłam kod rc5 wszystko jest ok ale po wyjściu z procedury nadawania i wejściu w pętlę główną programu nadal na wyjściu oc1a mam stan wysoki? Jak to wyłączyć ?
Bardzo dziękuję Dr.Vee za konstruktywną odpowiedź. Dzięki Tobie 'zjechałem' do 85% zajętości pamięci. Teraz mogę dodać kilka brakujących funkcjonalności. pozdrawiam Marek L. ps. wysłałem punkciki oczywiście :D
Mogę Ci jeśli chcesz zaprogramować takiego PIC'a odpowiednim programem. Wyślesz mikrokontroler w kopercie plus koperta zwrotna ze znaczkiem i podeślesz maila z opisem co ci tam zaprogramować i odeślę ci zaprogramowany procek.
Wielkie dzięki, ale mógłbym prosić jeszcze o jakiś kawałek kodu w C albo Bascomie? Prosiłbym jak ktoś ma o sample'a jak coś wysłać i odebrać z kompa, (AtMega8) z komputerem sobie dam radę
W zasadzie tak, ale można też programowo zrealizować port dwukierunkowy (poprzez modyfikację rejestru DDRx), czyli np. po wysłaniu jakiejś danej z linii portu B, te same linie przechodzą w stan odczytu.. :)
Raczej tak, acz niekoniecznie. Zauważ, że transmisja TWI jest bardzo wolna, a działa niezależnie od zegara systemowego, bo jest popędzana sygnałem SCK z TWI. Z drugiej strony procesor utrzymuje SCK w stanie niskim sygnalizując brak gotowości urządzeniu master i to ty po wybudzeniu możesz ten fakt zmienić. W efekcie nawet jeśli wybudzenie będzie trwało...
Kolego [syntax=c]x = UDR;[/syntax] to nie to samo co [syntax=c]UDR = x;[/syntax] Już na wstępie pozbawiasz się informacji o tym co przyszło do procesora. Pisząc UDR=cośtam, każesz procesorowi coś wysłać, bo UDR to rejestr taki dwukierunkowy. Np: [syntax=c]x = UDR; UDR = x;[/syntax] spowoduje, że to co odbierzesz przypiszesz do zmiennej x, a za chwile...
Po poprawie F_CPU, z wysłanej "17" mikrokontroler wyświetla ?=5.
Grzegorzu dzięki nie zauważyłem tego sprawdzę to jutro Ale dziwne że kompilator nie wysłał mi powiadomienia że źle napisałem.
1./ przed wysłaniem danej na wyświetlacz skasuj go instrukcją CLS. Błąd. Spowoduje to migotanie wyświetlacza. Należy użyć raczej "Locate".
Ok coś pokombinuje... Bo muszę wysłać powiedzmy 10 wartości bitów na 40 m...
Czytałeś PDFa ode mnie? Również moja podróbka nie chciała wstać, ale wystarczyło odpowiednio wysłać polecenia do LCD i odpalił.
Multipleksujesz to jak zwykłe 7 segmentowe wyświetlacze LED. Mam nadzieję że wiesz na czym to polega. W ruch idzie timer który podczas przerwania zapala jedną kolumnę i wpisuje do portu odpowiednią wartość. Kiedy nie występuje przerwanie to kolumny zostają wygaszone. I tak w kółko z taką częstotliwością żeby oko ludzkie nie było w stanie tego zauważyć....
1. Makro "bit_is_set" jest zdefiniowane w pliku nagłówkowym sfr_defs.h. Sprawdza ono czy dany bit w rejestrze mikrokontrolera jest ustawiony. Nie koniecznie musi to być pin (nóżka). Polecam wpisanie w goolach "avr bit_is_set" - w pierwszym czy drugim linku znajdziesz kod tego makra i dokładny opis wspomnianego pliku nagłówkowego. 2. Literówka. Powinno...
procesor działa, funkiel nówka. A ta sekwencja to ma wyglądać tak że z danego pinu mam wysyłać 0 albo 1 ? np. nRes mam wysłać 1 ? o to chodzi ?
Zapomniałeś napisać ile kosztuje przesyłka z której nie można zrezygnować. Każdy kabel musi przecież być osobno zapakowany i osobno wysłany w trosce o klienta.
Zobacz do mojego dawnego postu, może coś się przyda. http://www.elektroda.pl/rtvforum/topic14... Zrobiłem dokładnie według rysunku jaki wysłałem i działa.
z tym że chciałbym aby LCD śmigał na SPI programowym, a nie sprzętowym, ponieważ do sprzętowego chciałbym podłączyć kartę pamięci SD Ale to w niczym nie przeszkadza, do tego żeby rozdzielić sygnały służą sygnały wyboru CS.
nie wiem czy dobrze kumam, ale możesz przecież zamienić sobie tą wartość 20 na string za pomocą itoa(20) i go wysłać.
Jestem w trakcie tworzenia programu do syntezy na SAA1057 ,do tego 4 wyświetlacze 7 segmentowe ,utknąłem w momencie gdy trzeba było przekonwertować liczbę całkowitą (bo w takiej przechowuję na częstotliwość) na poszczególne jej cyfry ,tak aby można było to wysłać do zmiennych obsługi multipleksu.
Wiem że pilot jest prosty do zrobienia, to jedna z wielu lekcji zawarta w książce. Ja natomiast potrzebuje odebrać sygnał z pilota (bez jego dekodowania) i wysłać go ponownie na wyj. OC1A.
Zobaczyłem ten temat dopiero teraz (długo mi zeszło) ale widzę, że suma kontrolna CRC SCRATCHPAD, który chcesz wysłać jest zła. Dla 770100007fff0910 powinno być 97.
Prawdopodobnie podczas inicjalizacji pojawiają się zmiany na przewodach, co powoduje rozsynchronizowanie się nadajnika i odbiornika - nie ma wyraźnego końca bajtu, więc utrata jednego impulsu zegara (lub nadmiarowy impuls) spowoduje przesunięcie się danych pomiędzy nadajnikiem a odbiornikiem. Wyglądać to będzie tak, że wszystkie bajty będą przesunięte...
Zlutowałem sobie dziś przejściówkę i połączyłem za pomocą programatora dwa komputery. Jeden to laptop, w którym poprzez USB podłączyłem programator, a drugi to zwykły pc z portem RS232. Działa to tak, że jeśli wysyłam coś z PC z portem RS232 to laptop z USB bez problemu to odbiera. Natomiast komunikacja w drugą stronę nie zachodzi, nie mogę nic wysłać...
No cóż, sterownik użyty przez autora tematu jest bardzo uproszczony (np. brak sprawdzania potwierdzenia przy wysyłaniu danych). Nie znam tego sterownika z postu zaproponowanego przez mojego przedmówcę, ale ja osobiście używam oryginalnego sterownika ATMELa opartego na przerwaniach. Był wprawdzie napisany dla IAR, ale przerobienie go dla WinAvr nie sprawia...
Z tym będzie problem bo korzystam z laptopa i nie mam COMa zresztą jedyny kabel jaki miałem rozwaliłem właśnie na potrzeby tego projektu. Zastanawiam się czy by nie wykorzystać programatora wbudowanego w EVB tylko do czego podpiąć RX i TX telefonu mam 4 do wyboru : TS- MISO SR-SCK CD-MOSI RI-Reset - ten chyba odpada :) no i jeszcze pozostaje kwestia...
Być może LCD jest nieoryginalny i posiada jakąś dziwną organizację sterownika. Ile wysyłasz bajtów? 504? Spróbuj wysłać np 600 czy 700 i zobacz czy coś się zmieni w tych dolnych liniach. Jeśli ręcznie adresujesz komórki to nie rób tego (dla eksperymentu), po wysłaniu bajtu on sam ustawi wskaźnik na kolejnej. Wysyłaj np naprzemiennie 255 i 0 i zobaczymy...
Każda wersja mikrokontrolera ATmega8 może pracować przy zasilaniu 3.3V, i jeśli w tym wypadku byłoby to możliwe, to polecam zastosować takie rozwiązanie. W przeciwnym razie wejście RxD telefonu można podłączyć pin układu przez rezystor i zbić napięcie przy pomocy diody Zenera, a na wyjście TxD dać tranzystor i dopiero on podłączony do pinu układu. Wysoce...
Artykuły czytałem. Wynika z nich że muszę z portu wysłać minus a nie za bardzo wiem jak to zrobić
Jak pisalem pierwszego posta nie było tej instrukcji a LCD głupiał. Wrócę do tamtego kodu i jak go okroje wyślę
Komenda Print "A" wysyła znak "A" nie na LCD tylko na UART, który możesz wyświetlić na ekranie komputera, albo... wysłać poprzez HC05 w eter.
Mam do dyspozycji at90s2313, attiny2313, atmega8. Ma ktoś pomysł jak wysłać 8 bajtów do tego nieszczęsnego pmb2306 Mam tego kilka sztuk więc poważnie mi na tym zależy.
To wszystko jest podpięte, i nawet ds ma swój kondensator 100n. DS działa tylko wtedy jeśli ma Vbat zwarte do masy, a jeśli daje baterie CR2032 V=3.5V to już DS nie prasuje jak powinien! Może problem jest w tym, że trzeba dać DS'owi znać, że ma też podpiętą baterie? Tylko nie wiem co trzeba wysłać do niego.
Żarówka E10 4.8V/0.3A A dzięki za propozycję ale wolał bym zrobić to w Bascomie AVR, ale zresztą możesz wysłać zobaczę jak to wyglądać powinno :)
Próbuję wysłać komendę ATD nr_tel czyli dzwonienie pod wybrany numer.. niby numer wybiera, ale... no właśnie - jest pewno ale.. po wybraniu numeru zaraz zakańcza połączenie.. sprobuj dodac ; (srednik) na koncu tj. ATD501234567; (i bez spacji miedzy ATD i nr_tel) pzdr.
Właśnie w tym problem że nie mogę sprawdzić czy poprawnie odbiera dane ponieważ mam w tej chwili jedynie wyświetlacz led 3 cyfry i nawet nie mam jak wysłać danych na PC bo czekam na bufor (max232)
Czy jest możliwe, żeby odczytać pamięć programu flash z uP np. atmega8 lub ATiny? Napisałem program, skompilowałem, wysłałem do uP. Zgubiłem źródło, czy jestem w stanie odczyt tą binarkę programu jaką ma uP w pamięci flash?
Znalazłem Tylko że muszę użyć układ scalony MAX232 do "pogodzenia" napięć PC i TTL. I to wszytsko ale jak przesyłać dane. Do transmisji danych w ATmega8 musisz użyć USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) w trybie asynchronicznym. Łączysz pin wyjściowy oznaczony w ATmega8 jako TXD z wejściem RXD w porcie szeregowym...
max232 to nie ta bajka nie miałem po angielsku pdf'a? Posiadasz ich więcej? udstępniłem wsad z nadzieją zę ktoś mi właśnie coś takiego wyśle, wsad wszysy pobierają ale dopiero pierwsza osoba coś wysłała konkretnego
Witam, wlaśnie usiłuje wysłać jakiś znak z procka Atmega8 na PCta. Program napisałem według artukułu kurs C w "elektronice dla wszystkich". A prosty tekst chcę odebrać poprzez HyperTerminal. Niestety komunikacja sie nie udaje (w oknie terminala nic sie nie pojawia). Ponieważ myśle, że program i połączenia mam dobre chciałbym wypróbować jakiś inny terminal....
właśnie nie mam,nie mam żadnego przerwania włączonego wedle książki powinna się pokazać gdy uart poradzi sobie z wysłaniem znaku tak jak to robi przy odbiorze
Spróbój jeszcze tak: [syntax=csharp] private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventA... e) { int data = serialPort1.ReadByte(); txt = data.ToString(); this.Invoke(new EventHandler(DisplayText)); } [/syntax] To musi działać. Jeżeli dalej będzie problem zewrzyj RX I TX w FT232 i wyślij jakieś dane na serialport.
Dlaczego tablica ascii ma tylko 6 pozycji? Potrzebujesz 7. Jawnie wychodzisz poza tablicę (w kodzie wystepuje ascii[6]). I taka uwaga na przyszłość. W funkcji set_values wysyłasz dane serialem. Procedura USART_Transmit czeka aktywnie na wysłanie - trwa dość długo. Wywołanie jej w procedurze obsługi przerwania z odbiornika powoduje za długie wykonanie...
Tak też mi sie wydawało że to działa binarnie :) A czy przetwornik C/A zmienia częstotliwość na prąd ?? Bo rozumiem że tylko częstotliwość sygnału jest wstanie wysłać/odebrać µC ??
Master musi coś wysłać, żeby ruszył zegar: char SPI_Master_Receive(void) { SPDR=0xff; /* Wait for reception complete */ while(!(SPSR & (1<<SPIF))); /* Return data register */ return SPDR; } Układ Master-Slave nie zmienia się mimo, że transmisja jest w obie strony.
Błędy w schemacie to jedno, ale jak wygląda u Ciebie procedura inicjalizacji LCD? Zgodnie ze wszystkimi zasadami (opisanymi w DS kontrolera), np. wysłanie komend ustawiających tryb pracy 3 razy?
Faktycznie jeśli chodzi o hardware to jest ... żle , cyna wygląda jakbyś ją podawał na płytkę pompą do betonu :D Jeśli to zapalnik to pewnie dlatego tak wygląda bo zaraz zostanie wysłany to elektronicznego nieba :?: ;)
Inkludowałem plik HD4470.c, ponieważ bez tego pliku PN nie chciał kompilować tego pliku. W Eclipse kompilowało się bez tego pliku. Jak wysłać temperaturę do wyświetlacza nie używając funkcji dtostrf?
Zrób tak jak jest w klawiaturze PC... naciśniecie klawisza to wysłanie jakiegoś kodu, zwolnienie klawisza to wysłanie innego kodu (np. zmieniasz najstarszy bit).
Tak wystarczy, ale za PWM przemawia prostsza konstrukcja (nie trzeba dobierać precyzyjnie rezystorów w dzielniku, będzie tylko jeden a nie kilkanaście) i wbrew pozorom łatwiejsze sterowanie w programie ( wystraczy wartość po przetworzeniu wysłać do komparatora licznika PWM)
Nie wiem czy mam na 100% rację ale jak dla mnie to R5=10k jest za duży. Przy +5V na uP prąd płynący przez diodę optoizolatora jest mniejszy niż 0,5mA, chyba trochę mało. Atmega może max. wysłać z portu chyba ok. 20mA więc zmniejsz R5 choćby do ok 400 om i zobacz co się będzie działo. Sprawdziłem parametrach MOC jaki jest prąd wysterowania i o ile się...
Wygląda na to, że w tym samym momencie ja zedytowałem swoją wiadomość i Ty, krzychu41 wysłałeś nowy post. Czyli pinu reset nie wolno programować?
Nie można pobrać pliku. Mogłbyś to wstawić jeszcze raz albo wysłać mi na maila: fantomen(at)wp.pl?
Sprawdzanie wszystkich po kolei i ustawianie by wyświetlić cały obraz trwałoby tyle co reklamy w polsacie. Proponuje iść tą drogą: #define KS0108_DATA_PORT_0_5 PORTC #define KS0108_DATA_PORT_6_7 PORTD #define KS0108_DATA_DIR_0_5 DDRC #define KS0108_DATA_DIR_6_7 DDRD #define KS0108_DATA_PIN_0_5 PINC #define KS0108_DATA_PIN_6_7 PIND KS0108_DATA_DIR_0_5...
Read Zmienna Portc.0 = Zmienna.0 Portc.1 = Zmienna.1 Portb.0 = Zmienna.2 Portb.7 = Zmienna.3 ...
wysłać ramkę outlook wysłać wysłać ponowny
wentylatora mercedesa medion internetowy różnicowy regulator temperatury
zderzak naprawa zderzak naprawa
Skrypt Python do rejestracji czasu bezczynności klawiatury i myszy Transoptor jako potencjometr: zastosowanie i zasady działania