Witam! Po pierwsze to z reguły przyciski powinny zwierać piny wejściowe do masy a nie do zasilania. Wynika to z faktu posiadania przez procesory AVR wewnętrznych rezystorów pull-up podciągających wejścia do +vcc, czyli panuje na nich stale stan wysoki (oczywiście gdy zostaną uaktywnione). Po drugie to akurat sygnał CLK ma się zmieniać, podczas narastającego...
Po sprawdzeniu załączonego kodu widzę, że procedura Complet_reg zawiera wyłącznie ustawienie częstotliwości. Jeśli chcesz dodać do ramki inne opcje to musisz ustawić odpowiednie bity zmiennej Reg. Umieść to w procedurze Complet_reg: Sub Complet_reg: Reg = Frequency Reg.16 = 1 ' przykładowe ustawienie bitu 16-tego ramki Reg.17 = 0 ' jw bit 17 End...
Grala1 - Nie wiem czy ta wersja spełni oczekiwania : '$prog &HFF , &HE1 , &HD9 , &H00 ' Fusebity fabryczne !!! $sim ' dyrektywa opuszczania zwłoki (usunąć ten wiersz przy wgrywaniu w chip) $regfile = "m8def.dat" ' dyrektywa kompilatora o rodzaju procka ATMega 8 $crystal = 16000000 ' określenie kwarca 16 MHz Config Pinb.1 = Output...
To Ci będzie sterować kolejno czterema diodami na pinach od B0 do B3. Zalecam wnikliwą analizę, zanim zalejesz mnie pytaniami :) Timery zawsze rób na odliczanie w dół do 0, w przeciwnym wypadku po wpisaniu nowej wartości w trakcie odliczania możesz mieć niezły kwas - pomyśl dlaczego :) Pozdrawiam [syntax=basic4gl]$regfile "m8def.dat" $crystal = 8000000...
' Trzy przyciski kolejno .... (TSA ;) ' wersja bez przerwań i Timera czas_a as integer ' zmienna czasowa A czas_b as integer czas_c as integer we_a alias pinx.1 ' wejście A we_b alias pinx.2 we_c alias pinx.3 wy_a alias Py.1 ' wyjście A wy_b alias Py.2 wy_c alias Py.3 stan_a as bit ' stan układu monostabilnego A: 0 - czeka, 1- liczy stan_b...
Dzień dobry! Mam program do obsługi DHT22. Działa wyśmienicie. Jak dodać obsługę ujemnych temperatur? Na początku miałem obsługę DHT22 z TIMER0 pora przyszła na odchudzenie programu. If Temperaturew.15 = 0 Then 'Ciepło + temperatury Tempstr = Str(temperaturew) Locate 2 , 3 Lcd " " ; Format(tempstr , "0.0") Locate...
No oczywiście, ze jest proste: Zmienna.7 - dostęp do bitu 7 w zmiennej set Zmienna.5 - ustawienie jedynki na 5 bicie zmiennej. Jeśli odwrócisz logikę zapalania diod, to mogą Ci się przydać SHIFT i ROTATE
Zmieniłem ustawienie Timer0 na Load 100, wywaliłem 1 zmienną Pwm_main bo liczyła do 100, LCD i jego obsługa jest w programie: podprogram zegar wywoływany co 1s po "przepełnieniu" zmiennej 5Hz. Programowałem Atmegę i dlatego wiem że program idzie "w krzaki" na samym symulatorze się nie opieram.
Witajcie. Dodałem za radą funkcje watchdog. Na początku ją skonfigurowałem i dałem start. Później reset dałem w funkcji aby reset przebiegał częściej niż 2048ms. Inkubator działa i będę obserwował czy pomogło. Obecnie można uznać temat za rozwiązany. W kodzie wygląda to tak. [syntax=vbnet]Sub Data1() Set Dht_io_set Set Dht_put Reset Watchdog Count =...
No to jest tak: Program działa dobrze. Jak jest normalnie napisany. Tak że chodzi mi o zupełnie inną modyfikację. Ale wpadłem na pomysł- może głupi- że jak zbadam w pętli głównej że żaden klawisz nie jest naciśnięty to dostanę err=0 i pętla swoje będzie robić. A jak nie- to przejdzie do podprogramu obsługi klawiatury. No i z tym nie daję sobie rady....
Witam... Kolego <PiotrzePitucha> troszeczke nie rozumiem zapisu... nie spotkałem się jeszcze z takim zapisem.... mógłbyś mi to wytłumaczyć..?. Chciałbym jeszcze dodać kawałek kodu o który właściwie toczy się moja batalja.. Otóż chciałbym móc ustawiać zmienną SINGLE i zapisywać tą wartość do pamięci eeprom. Kod programu: Sub U_termostaty Cls Lcd...
Witam. Piszę sobie sterownik temperatury w Bascom '51 i mam problem z przerwaniem. Otóż serce układu to AT89C52 do niego jest podłączony RTC DS1678. Ustawiłem RTC, aby na wyjściu INT generował co sekundę impuls. Podaję ten impuls na wejście INT0 procesora. W obsłudze przerwań dałem ustawienie zmiennej Bit na 1, na podstawie jego inicjuję w pętli głównej...
Witam serdecznie Mam taki kodzik $regfile = "m8adef.dat" $crystal = 8000000 'konfiguracja wyświetlacza LCD Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.4 , Rs = Portd.5 Cursor Off Cls 'deklaracja procedury Declare Sub Get_th(t As Byte , H As Byte) 'Config Serialin = Buffered , Size...
Witam Do tej pory pisalem programy w Bascom'ie. Mam zainstalowaną wersje Bascom 8051 Demo. Wykonalem programator taki jaki w helpie czyli 4 rezystory i pod LPT. Skompilowane pliki HEX wysylam wlasnie przez ten program, z plikami HEX tworzonymi przez bascom radzi sobie swietnie, wszystko dziala super...ale gdy napisze program w c w Keilu lub MIDE-51(SDCC)...
Witaj :D Według mnie tablica jest niezbedna poniewaz to w niej sa zapisane wlasciwe znaki , i wydaje mi sie ze nauczuciel sie myli bo samo polecenie getatkeyb() zwrocilo by numer wcisnietego klawisza a nie konkretna literke , liczbe czy znak . Przykladem moze byc fragment polskiego helpa do bascom-a w ktorym jest opisane dzialanie tego polecenia Funkcja...
Po co ciągle konfigurować tego ESP? Mojego skonfigurowałem raz. Teraz jak podłaczę do niego terminal to po włączeniu/resecie sam loguje sie do mojego routera. Sam pisze, że WIFI CONNECTED i WIFI GOT IP Czyli dokąd nie zmieni się sieci WiFi to nie trzeba konfigurować, ewentualnie po otrzymaniu WIFI GOT IP można zapytać jeszcze o IP - "AT+CIFSR", no...
Witam. Chciałbym uzyskać efekt parametru echo on instrukcji input (mikrokontroler otrzymuje znaki po UART, i natychmiast wysyła je spowrotem) dzięki czemu na ekranie monitora portu COM będę miał wyświetlane wpisywane przez siebie znaki. Niestety używam konwertera http://obrazki.elektroda.pl/2797859300_1... Oczywiście w takim przypadku...
Witam, cel pozostał ten sam, lecz zmienił się kod, tym razem bez Lcd, więc jako zadanie dostałem opisanie krok po kroku otrzymanego kodu oraz przeniesienie kodu z języka Bascom na kod Asemblera i C. Jako, że programowanie nie jest moją mocną stroną, prosiłbym o pomoc (rady, sugestie najlepiej w sposób tzw. łopatologiczny jak można osiągnąć postawiony...
Witam podaję kod, który działa poprawnie, oczywiście należy go dopasować do swoich potrzeb. [syntax=vbnet] 'Sterownik swiatel V2.2 '10-06-2015 'Roman Biadała $regfile = "m128def.dat" $crystal = 11059200 '$lib "fp_trig.lbx" '******** Ustawienia portów ****************************************... '******** Sterowanie 74HC541 - przekaźniki *************************************...
programu nie wstawiłem bo nie wiem czy będzie potrzebny a jest strasznie pokręcony chodzi mi o samą zasadę dzialania coś porównane do czegos i nie wiem moze przypisane jakiejs innej zmiennej tu jest listing ale nie skończone obsługa ledów bo ustawienie ma byc nimi sygnalizowane $regfile = "m8def.dat" $crystal = 8000000 Config Pind.0 = Output...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
Pisząc Dim Zmienna As Byte opisujesz zmienną że będzie jednobajtowa i tak trzeba opisać każdą. Byte może zawierać się w przedziale od 0 do 255 nie większym (jeżeli zmienna miałaby zawierać wartość większą od 255 np 400 to trzeba by użyć zmiennej 2 bajtowej Word lub Integer ) Co odpowiada za to, że wszystkie zmienne "odnoszą" się do 20ms i mnoży się...
Próbowałem coś takiego i męczę się cały czas ,ale i tak mi wychodzą głupoty. :( [syntax=basic4gl]Sub Gettime() 'pobieranie czasu z PCF8583 'początek petli I2cstart 'inicjalizacja magistrali I2C I2cwbyte 166 'podanie adresu PCF8583 dla zapisu I2cwbyte 2 'wybranie drugiego rejestru (sekund) I2cstart 'powtórna inicjalizacja magistrali I2C I2cwbyte 167...
Bardzo prosty wyłącznik czasowy spełniający wszystkie Twoje założenia: http://www.elektroda.pl/rtvforum/viewtop... Może nie jest zbyt miniaturowy ze względu na zastosowane elementy, ale z powodzeniem można zastosować mniejsze elementy. Może prawie analogowo, 555 (8-pinowy) w wersji SMD CMOS? Niestety do czasu 1min potrzebuje...
Witam. Jestem w fazie pisania programu z zegarem DS3231 i atmegą16. Mam podłączone wejście INT0 atmegi z wyjściem INT/SQW DS-a. Podciągnięte rezystorem 10k do 5V. I nie wiem co robię źle ale procesor nie reaguje na sygnał przerwania z DS-a. Powiem szczerze że nigdy nie korzystałem z przerwań zewnętrznych ale znów ustawienie tego nie jest skomplikowane...
Witam Mam program budzika, który jako dodatkową atrakcję miał mieć możliwość mówienie czasu na żądanie i odtwarzanie oprócz buzzera utworu jako alarmu. Atmega steruje przez jedno SPI programowe układem MAX7219, a przez konwerter poziomów i drugie SPI programowe odtwarzaczem WTV020SD. O ile sam WVT020SD + PCF8563 ( wyjście CLK do INT1 ) działają dobrze,...
na c znam siętylo troche ale ja to widze tak int main () { InitLCD (); // inicjalizacja LCD delayms (5); InitUSART (2400); // inicjalizacja USART delayms (5); i = 0; //DDRB = ((1<<DDB1)|(1<&... // PORTY B0 i B1 jako INPUT // niepotrzebe bo po resecie piny są jako wejścia,...
1. Wstawiam jedno-plikowy kod kol. (at)witko1 2. Definiuj $crystal i $regfile w pliku 3. Pewnie problem stanowi ustawienie $swstack, $hwstack i $framesize - jeśli te parametry mają zbyt małe wartości (poczytaj za co jest każdy odpowiedzialny) to właśnie dzieją się bardzo dziwne rzeczy z programem (dziwne z punktu widzenia człowieka i trudne do wyłapania...
Problem ze zmianą nazwy pliku rozwiązałem - oczywiście należy pamiętać, że nazwa pliku może być ośmio znakowa. W kodzie dodałem: Plik = "temDD_MM" + ".txt" Mid(plik , 4 , 5 ) = Data_plik oraz w odczycie czasu Data_plik = Bcd(dday) + "_" + Bcd(mmonth) oraz zmieniłem wpis zapisu Open Plik For Append...
Witam chce użyć procesora AT90S2313 do sterowania szybkości silnika. I chyba najlepiej do tego będzie nadawał się licznik timer1 skonfigurowany, jako PWM. Czytałem o tym w pomocy, ale jakoś niewiele mi to gada:( z jakiego pinu będą wychodzić te impulsy??? Z T1(PD5) czy OC1(PB3) czy jeśli wpisze te „dosconnet” to wyjściem biedzie T1 a jeśli...
może program nie jest bardzo dopieszczony ale działa . więc po kolei nie używam przerwań choć powinienem należy poprawić jeszcze pomiar temperatury ponieważ przy mniej niż 5 stopni czujnik nieco zawyża do jednej linijki należy dodać komende aby wynik z zmiennej był jeszcze odejmowany o 2 i sprawa załatwiona roździelczość to 1 stopień kalibracja polega...
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa czujniki DHT11 - odczyt z PCF8574AP w przerwaniu ( klawiatura )...
Można zerować, ale nie trzeba, bo każda instrukcja, która ją "obsługuje" i tak ją wyzeruje jeśli nie ma błędu lub ustawi po błędzie.
No to spróbuj - zmienną wysyłasz jak normalną wartość, w Bascom ustawienie bitów w niej będzie się odbywało tak samo jak majstrowanie z rejestrami PORTn.x.
Co zrealizować? Programowe zliczanie impulsów? Ustawiasz timer tak, żeby generował przerwanie co 100 us, sprawdzasz stan portu, robisz xor z poprzednim stanem i testujesz, które bity są ustawione - ustawiony, znaczy zaszła zmiana stanu, czyli inkrementujesz odpowiednią zmienną.
Masz trzy procedury Praca, Zakonczenie i Ustawienie, na początku programu musisz je zdeklarować: [syntax=basic4gl]Declare Sub Ustawienie Declare Sub Praca Declare Sub Zakonczenie [/syntax] Drugi błąd zmienne niemnogą mieć takiej samej nazwy jak procedury, zmień nazwy zmiennych: [syntax=basic4gl]Dim Ustawienie As Word Dim Praca As Word[/syntax]
Przyciski powinny zwierać do masy i mieć ustawione wewnętrzne pull-upy lub w aktualnym układzie (czego się nigdy nie robi) mieć zewnętrzne rezystory pull-down.
Incr - inkrementacja czyli Z=Z +1 Decr - dekrementacja czyli Z=Z - 1 Home - ustawienie kursora na pozycji 0,0. Polecam polskojęzyczny help do Bascoma tam wszystko pięknie pisze :)
Na naciśniecie przycisku robisz żeby jakiejś zmiennej przypisał (w momencie jego naciśnięcia) odczytaną wartość z przetwornika a później za każdym razem od aktualnego odczytu odejmujesz wartość tej zmiennej. Poza tym nie ma raczej sensu w przerwaniu od przycisku (czy w jakimkolwiek innym sposobie odczytu stanu przycisku) robić ponownego odczytu przetwornika....
W timerze (np. co 0.5 sek) gasisz albo zapalasz flagę (powiedzmy o nazwie fMiganie) Oczywiście po każdej zmianie flagi (fMiganie) następuje odrysowanie całości wyświetlanego zbioru elementów w najstępujący sposób: 1. Jeśli fPozycja jest poza zakresem zbioru wyświetlanych elementów (np. =0) - wtedy obraz wyświetlany jest bez migania. 2. Jeśli fPozycja...
W bascomnie ciężko zrobić LED + Ds18b20 wszytko psuje Waitms 750. Zwiększ do 8 a jak możesz do 16MHz kwarc. A od kiedy to musimy czekać 750ms nie robiąc nic innego? Od czego mamy timery? Przepraszam najmocniej Kolegę, ale jeśli Kolega tego zrobić nie potrafi to: 1. Nie oznacza że się tego zrobić nie da - ja nie potrafię zbudować komputera klasy PC...
Powinieneś sobie sam "ręcznie" ustawić takie parametry jak: $hwstack = 32 $swstack = 8 $framesize = 16 bo to od nich m.inn zależy ile Bascom będzie zjadał pamięci RAM na Stos, ramkę itp
Proszę, napisz to jeszcze raz ale tym razem tak abyśmy mogli dokładnie zrozumieć co chcesz osiągnąć. Reset.
Nikt nie jest w stanie mi pomóc? nie wie wiem dla czego kontroler nie porównuje wartości Rozumiem że jesteś początkujący , ale nawet Ty powinieneś wiedzieć , że nie porównuje się zmiennej binarnej(Us) ze stringiem (Tmp) :( To tak , jak byś porównywał kilogram z czerwonym :D Poza tym , ten program jest niezwykle pamięciożerny(Fusing,Single). Jeśli ten...
ustawienie wartości bitu i wyzerowanie zmiennej.(literówka) bascom nie pokazał
Tak, zapewne tak się skończy. Ustawić "1" a potem przesunąć ją na odpowiednie miejsce w 74HC595. Tak wydaje się najprościej. Dziękuję za pomoc i zaangażowanie.
Jeśli nie wpiszesz żądanych ustawień to brane są te ustawione w IDE a Tiny13 ma tylko 64 bajtów SRAM. IDE nie podpowiada jakie maja być ustawienia tylko pilnuje żeby nie przekroczyły maksymalnej dostępnej pamięci. Mega1284P ma 16KB SRAM a w IDE możesz sobie poustawiać np. 128,64,128 ..reszta na zmienne.
To w takim razie teraz cytat z helpa Bascom'a: Rozdział: Podstawy języka BASCOM BASIC Eksponent jest zapisany jako liczba 8 bitowa ze znakiem w kodzie U2. Jeśli najbardziej znaczący bit jest ustawiony (eksponent > 128) to eksponent jest traktowany jako ujemny. Bit znaku określa znak liczby przechowywanej w zmiennej. Wartość 0 oznacza liczbę dodatnią,...
Prawidłowo robi się to tak: XH , YH , lub ZH . Kolejnym krokiem jest odczyt młodszej części adresu i odpowiednio przepisanie jej do XL , YL , lub ZL .
Jeśli nie potrafisz to zrób to prościej. Podłącz zewnętrzny kwarc 32,768kHz (zegarkowy); Config Clock = Soft Procedura zegara używa specjalnych zmiennych: _day , _month, _year , _sec, _hour, _min Wszystkie są typu Byte. Można je modyfikować bezpośrednio: _sec = 1 Sprawdź, o ile się spieszy (opóźnia). Różnicę koryguj warunkiem któregoś dnia np o północy.
Witam. Mam pytanie, może dla niektórych oczywiste, ale odpowiedzi nie znam. W jaki sposób sterować wyświetlaczem za pomocą rejestru przesuwanego, np 74HCT164 ? Czy po wysłaniu zmiennej, dane segmenty się świecą aż do wysłania kolejnej zmiennej? Przy komendzie: SHIFTOUT pin_danych , pin_zegarowy , zmienna , opcje [, il_bitów , opóźnienie ] Co powinno...
Zrób to tak: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 4000000 Config Timer0 = Timer , Prescale = 256 'onfiguracja timera, przescaler 256 On Timer0 Odmierz_1s 'włączamy timer0 Dim Licz_8ms As Byte 'definiujemy zmienną pomocniczą Dim Sekundy As Byte Enable Interrupts 'włączamy zezwolenie na przerwanie Enable Timer0 Load Timer0 = 125 'ładujemy...
Do epromu zapisujesz nastawioną temp - jeśli byś zapisywał z DS to szybko załatwisz procesor. Tak musisz utworzyć i porównać zmienne.
Najpierw napisz mi z jakich uc korzystasz oraz jak ustawiłeś fuse bity.
Do pętli głównej przenieś w takim razie fragment struktury Select Case a zmienną niech będzie cas.Wartości jedynie od 0 do 4. Dlatego, że pozostałe wartości będą wyświetlane z instrukcji If then (alarmy). Do każdego jednak warunku case musisz wstawic Wait 1. Inaczej informacja wyświetli się na czas tak mały, że jej nie zauważysz. Ta strukturę Select...
$hwstack ustawiony domyślnie zajmuje Ci całą pamięć
W Bascom i AVR-dos to możliwe;-) Sprawdź jeszcze czy masz ustawioną minimalną ilość uchwytow i buforow w konfiguracji biblioteki.
$crystal = 14745600 Czy oprócz podłączenia takiego kwarcu ustawiłeś odpowiednie fuse bity? Następna rzecz to nie musisz robić resetu 1wire. Największy błąd polega na tym że nie czytałeś helpa bo gdybyś to zrobił to dowiedziałbyś się że zmienna do której zapisujesz ilość urządzeń koniecznie musi być typu WORD lub INTEGER. Na koniec radzę ci skorzystać...
Ok coś tam rozumiem ale mam jeszcze taki problem albo prośbę bo nie wiem jak ustawić rejestry w attiny13 Tccr0a Tccr0b Admux Adcsra Adcsrb jakbym chciał pwm 8 bitowy (attiny13) z max częstotliwością tj chyba FAST PWM na pwm0a i pwm0b czyli 9600000/256=37500Hz przy działającym ADC. Reszta ustawień zostaje tak jak jest. To już będzie wszystko. Zacznij...
Proponuje dodać dodatkową zmienną pomocniczą której zadaniem będzie pamiętanie że program zaczął działać nie jestem pewien tego rozwiązania z bascomem miałem doczynienia dość dawno temu ale możesz spróbować tego $regfile = "attiny25.dat" $crystal = 4000000 Config Portb.3 = Output 'przekażnik Config Portb.2 = Input 'włącznik typu microswitch...
Nie wiem o co chodzi- czy mu się zasoby skończyły...? Pamiętaj o tym, że istnieją dyrektywy $hwstack, $swstack, $framesize. W poprzednich wersjach źle był domyślnie ustawiony $swstack.
Hej, Jeśli chcesz płynnie regulować współczynnik wypełnienia to musisz wybrać jeden z modów PWM i wtedy będziesz skazany na jedną z kilku częstotliwości wynikających z zegara systemowego i tego jak ustawisz prescaler, Jeśli chcesz płynnie regulować częstotliwość to wybierasz mod CTC(clear timer on compare) ale będziesz miał wtedy stałe wypełnienie,...
Najprościej stworzyć podprogram który w pętli ustawi 3 pozycje serwa, po ustawieniu odczekać na stabilizację pomiaru odczytaną wartość zapisać do zmiennej o nazwie pozycji np Pomiar_lewy. Analogicznie z pozostałymi pozycjami serwa, mając 3 zmienne z wynikami pomiaru wystarczający je porównać i wiesz w której pozycji serwa było / nie było przeszkody....
Jeśli chcesz zrobić wait na liczniku to możesz uzyskać dwa efekty. W obu ustawiasz w przerwaniu flagę. Pierwszy do instrukcja czekaj aż flaga będzie ustawiona wykonuj dalszy ciąg programu loop Generalnie w takim rozwiązaniu nie ma sensku dawać timera. Druga opcja do instrukcja if(flaga ustawiona) reszta kodu loop Oczywiście drugie rozwiązanie...
Może napisałbym to inaczej, ale to co napisałeś skróciłbym do takiej postaci ;) [syntax=vbnet]Dim N As Byte , Alarms As Byte , Helpb As Byte 'zmienne pomocnicze Dim Alarm As Byte , Alarm_nr(5) As Byte , Flaga_alarm(5) As Byte , Alarm_status(5) As Byte , Ustawiony As Byte Dim A_h(5) As Byte , A_m(5)as Byte If Sprawdz_alarm = 1 Then Sprawdz_alarm = 0...
A widzisz - a czepiałes się BSCOMA i oprogramowania karty - ona działa wyśmienicie. Tylko Skrypt twój kuleje. Ok to jeżeli ma to być w bashu spróbuj poszukać sobie informacji na temat komendy read Nie pamiętam dokładnie składni ale to sobie poszukasz gotowców na stronie jest bez liku wygląda to min tak [syntax=bash]#!/bin/bash #chmod o+rwx /dev/ttyUSB0...
Ustaw tajmer1 na największy możliwy czas przerwania,w przerwaniu zrób "incr jakas_zmienna" i sprawdzaj jej wartość jeśli będzie zgodna z założeniem to uruchomi się cos tam dalej itd. Używając zmiennej możesz osiągnąć długie czasy zwłoki. Pozdrawiam
Nie napisałeś , że ten pilot nie pracuje w kodzie RC5 , ale też nie napisałeś , że w tym kodzie pracuje :wink: Inna wersja Twojego programu: $regfile = "m32def.dat" $crystal = 8000000 '11059200 Dim Adress As Byte , Command As Byte , X As Byte , Tmpcode As Word Dim Odebrano As Bit , Flaga As Byte Config Pind.2 = Input : Portd.2 = 1 Config...
Cześć. Nie miałem czasu wcześniej tego zamieścić. Nawet teraz go nie mam :D Zerknij. W tych trzech przykładach pokazuję jak można ustawiać zmienną która ma cztery bajty. W Bascom bez problemu możesz nadać Aliasy każdemu bitowi. Wprawdzie zmienna ma cztery bajty, ale to chyba nie problem. Poprzez Shiftout możesz wysunąć tylko 24bity, albo wszystkie,...
Testowałem twój program. Piny A0,A1,A2 mają być nie podłączone. Pytając o 16MHz miałem na myśli czy fuse bity dobrze ustawione.
Ale PRINT mimo wszysko skonwertuje zmienną na postać textową. To musi być PRINTBIN. ale co to wg ciebie znaczy, że skonwertuje zmienną na postać tekstową - może ja czegoś nie rozumiem. Przecież obojętnie czy napiszę tak: PRINT "A" ; czy tak: PRINT 65 ; czy tak: PRINT chr(65) ; to zawsze zostanie przesłany ten sam - jeden bajt o wartości...
Wielkie dzięki za pomoc. Właściwie to chodziło mi o kropke (mój błąd). Wiesz może jak tą liczbę 25.5 ustawić w postaci binarnej na porcie P0 ? Pozdrawiam
Według mnie Input jest lepsze. By pozbyć się LF ze zmiennej wystarczy odpowiednio ustawić Config Input = CRLF Tylko technika odbioru jest inna. W podprogramie Serial0charmatch ustawiaj tylko flagę, a odbiór danych realizuj w pętli głównej.
Tak, ustaw linie portu jako wejścia. Zapewne przygasa z powodu zbyt dużego prądu wyjściowego uC. może źle się wyraziłem. Ekran przy naciśnięciu przycisku mignie i na 100% nie jest to spowodowanie przez pobieranie zbyt dużego prądu z uC. Ps. ustawienie linii portb jako wejścia, także nie rozwiązuje problemu = ekran dalej miga w takt inkrementacji zmiennej.
No tak dwa bity z lewej to rok dalsze 2 to 10 dni i ostatnie 4 to dzień zrobiłem taki program Zapisuje na starcie godzinę 23:59:58 i datę 31-12 dzień wpisuję tak &B00110001 , daję mi to 31 dzień miesiąca , kiedy przechodzi data na 1-01 to zmienną dnia wyświetla mi tak &B00000001 ale bity roku nie uległy zmianie. Jak do tego nie dojdę chyba zmienię...
witam mam pytanko a mianowicie jak ustawic w c zakres zmiennej w instrukcji switch ?? w bascom mozna bylo wpisac case "0 to 25" w c taki zapas nie dziala czy ktos moze mi pomoc przegladnolem w domu wszytkie ksiazki o c i nie znalazlem nic na ten temat z gory dzieki za pomoc
Po prostu nie możesz korzystać z instrukcji Input tylko z instrukcji np. Inkey i odbierać 128 bajtów o dowolnej zawartości (nawet bajtów zerowych) Po odebraniu 128 bajtów sprawdzić sumę kontrolną, tak jak pisał kolega mirekk36. Jeśli odebrałeś wysłasz ack spowrotem np. z sumą crc ramki Instrukcja Input się nie nadaje do tego celu. Tylko odbieranie za...
morswin89 Witam Jeśli chodzi o ustawienie fusebit-ów, może ktoś dorzucić?
Ustaw tam narazie max 108 (6C) albo 6F a jak ci kiedyś zabraknie miejsca to sobie dodasz. Teoretycznie jak masz procka z dodatkowym 128B ramu to mozna tam ustawić nawet FF - bascom i tak odwołuje się do zmiennych poprzez adresowanie pośrednie (dla wtajemniczonych (at)r0 lub (at)r1) i dlatego program działa wolniej niz w asm. N aile masz nastawionego...
temperatura początkowwa na jakom jest ustawiony termostst czyta swicze Widzę że kolega ma problem z pisaniem w języku polskim ale do rzeczy... 1wr ma być call 1wr . Założę się że program nie jest twój... Patrząc dalej: If Tust1 > Tust Then Portb.2 = 1 znowu nie zadziała... Co do histerezy to lepiej zrealizuj ją tak: Temp = Temperatura(1)...
(at)jacobsek zdeklarowalem jeszcze zmienne dim aa as byte itd. i dodalem aa=val(a) i wywalilem na wys zmienna aa (analogicznie dla pozostalych cyfr) Teraz dziala :) ale mam pytanko nastepne ..... jak mam wyeliminowac "migotanie" wyswietlaczy .... nie moge zmniejszyc czasu zapalania wyswietlaczy bo jest waitms 1, a mniejszej wartosci sie nie da ustawic
Trochę trudniej, bo musisz ze zmiennej odczytanej z DATA wyłuskać część bitów i odpowiednio ustawić stan pinów. Do zrobienia na kilka sposobów.
No tak, bo ja nie mam w zamiarze mieć alarmu dźwiękowego. Więc usuń z programu także deklaracje odnosnie wymiarowania zbędnych zmiennych i uzupełnij poprawki j.w. Wytestuj program w symulatorze running "step into code" (F8) i w odpowiednich momentach kodu uzupełniaj 'ręcznie' zmiany logiczne pinów a także symulowane wartości zmiennych (np: odczyt temperatury...
LOOKUP nie wie jakiego typu są dane, które ma przeglądać. Równie dobrze możesz mieć tablicę słów (Word) a odczytywać ją bajt po bajcie przez LOOKUP, gdzie zmienną do której zwraca ona wartość będzie Byte. To otwiera pewne możliwości: 1. Normalnie dane są jednobajtowe. Dane dwubajtowe, są w stałych i określonych miejscach oraz jest ich bardzo mało. Zatem...
eeee chociaż co tam, to przecież PWM dla wentylatorów a nie diod LED Na chłopski rozum, to nawet 100Hz PWM powinno spokojnie wystarczyć... a wtedy sporo czasu na zadania w międzyczasie :) Ew. ustawić jakąś zmienną "odczyt" i w jednym przerwaniu puścić rozkaz do DSa i ustawić ową zmienną i w następnym dopiero (albo i później) odczytać wynik - wtedy...
Najprościej: Wprowadź zmienną liczącą przebiegi pętli, zeruj ją gdy zostanie naciśnięty klawisz, zapisuj do EEPROMu gdy zmienna osiągnie odpowiednią wartość KotS
$crystal = 8000000 $regfile = "M16def.dat" $hwstack = 128 Tu zmieniasz wg wlasnych parametrow '- deklaracja zmiennych dla usart ---------------------------------------- Dim Index As Byte 'kolejny znak w buforze odbioru Dim Odebrano As Bit 'flaga ustawiona po odebraniu znaku Dim Buf(10) As Byte 'bufor wejsciowy - 10bajtow '- konfiguracja...
Zadeklaruj zmienną np A, przyporządkuj klawisze, wciśnięcie jednego zwiększa zmienną o 1 a drugiego zmniejsza o 1, podstaw zmienną "Wait A" Dodano po 2 Jutro jak będę mieć dostep do Bascom napiszę kod.
Poniżej podaje cały program: Przeglądnąłem go....., -bez urazy; - nie zbyt dobrze (!!!) Odnośnie czasu: Masz tam podwójną deklaracje tych samych zmiennych, a już procedura ustawiania aktualnego czasu jest jakąś całkowicie zbyteczną kombinacją; - bardziej tego nie da się skomplikować. W skrócie: Korzystasz z wbudowanej w Bascom procedury obsługi zegara;...
To pewnie wynika z tego że powstało dużo różnych AVR`ów. Jeśli na początku ktoś korzystał tylko z jednego typu to mógł sobie w IDE ustawić konfigurację dla stosów a nawet wyświetlacza LCD czy I2C. Stąd dla wstecznej kompatybilności dalej tak można zrobić. Na przykład ustawienia dla stosów są tutaj tylko moje są już zmienione bo mogę szybko wkleić to...
Własnie nie wiem jak to pomnozyc na osobnych zmiennych. W gre wchodza dwie zmienne minut bo sekundy sa caly czas 00. I teraz jak odniesc sie do zmienych minut zeby to pomnozyc przez 0.3 ?
Zakładając, że użyjesz innego procka, dalej ciężko się domyśleć, o co dokładnie pytasz. Ale spróbuję :p Zapewnie chcesz najpierw obsłużyć przetwornik. Zatem na początku konfiguracja: - jeśli napięcie odniesienia ma być pobierane z wyprowadzenia AVCC mikrokontrolera: Config Adc=Single, Prescaler=Auto, Reference=Avcc - jeśli chcesz skorzystać z wewnętrznego...
Witaj. Delphi nie znam, wiem że jest to program bardzo podobny do VB. Ma wiećej możliwości oczywiście, myślę że jednak nie o to chodzi. DO RZECZY Chodzi Ci o to by np. po naciśnięciu przycisku program wysłał kod (jaki to teraz nie ma znaczenia) , a BasCom ma go odebrać. Poczym uC ma wykonać określoną czynność. Jeśli chodzi co o to ?? , sprawa jest prosta....
To jest proste jak świński ogon :D ahahahaha, ale napisz kawałek kodu. Czy masz tam jakiś LCD czy nie, czy masz tam jakiś Timer ustawiony do odmierzania sekundy czy Wait`ujesz :D Czy w dokumentacji czujnika pisze, że nadaje tez na końcu niewidoczne w terminalu znaki 13 lub 10? EDIT: aaa masz tu taki prosty. Napisałem przy śniadaniu więc błąd mógł się...
Pozwolę sobie umieścić post pod postem żeby wiadomość dotarła do zainteresowanego. Jeszcze lepszym wyjściem dla takiego zegara będzie zastosowanie dedykowanego rezonatorka 32768Hz (32,768KHz) Wartość 32768 to w zapisie binarnym dokładnie piętnaście bitów. Jeśli więc Timer będzie zliczał generowane impulsy to po 32768 uzna że mineła sekunda :D Bascom...
Częstotliwość taktowania trzeba ustawić bo korzysta z niej _delay_ms() Zmienne: Byte - 1 bajt - uint8_t Word - 2 bajty - uint16_t Long - 4 bajty - uint32_t czytelniej: [syntax=c]#define CLK_PIN (1<<PD0) #define RST_PIN (1<<PD1) #define DQ_PIN (1<<PD2) #define LED_PIN (1<<PD5) #define IN1_PIN (1<<PD3) #define IN2_PIN (1<<PD4)...
1. czy da sie wylaczyc sygnal 1 Hz na wyjsciu INT układu (żeby nie wywoływał przerwania co sekunde tylko wtedy kiedy nastąpi alarm ?) 2. jaką wartość powinienem wysłać do procka, żeby ustawił odpowiednio rok i dzień miesiąca, w moim rozumieniu jest tak: -chcę ustawić rok 02 i dzień miesiąca 25: -rok jest w zmiennej year a dzień miesiąca w zmiennej day:...
Chyba się źle zrozumieliśmy teraz mam tak, że nie mogę ustawić innej wartości jak 1 i 2 a powinno się zmieniać od 0 do 255 bo taki jest zakres zmiennej bitowej.
Problem może być ... sprzętowy. Otóż Tiny2313 fabrycznie ma ustawiony zegar na 8MHz i preskaler zegara na podział przez 8 czyli pracuje na 1MHz. Jeśli nie manipulowałeś z Tinką to nie będzie zgodna rzeczywista częstotliwość taktowania uC z zadeklarowaną w programie. Magistrala 1Wire jest bardzo wrażliwa na czas poszczególnych impulsów i nie zniesie...
Po wgraniu do czystej Atmegi kodu chcę, żeby wartość wyniosła np.100. Po ustawieniu innej wartości można ją zapisać do EEPROM. Po resecie i zaniku zasilania wartość ta ma pozostać taka jaką ustawiłem (nie ta co wpisałem do czystej Atmegi) Chyba dobrze wytłumaczyłem ?
zmiana zmiennej bascom bascom zerowanie zmiennej bascom rs232 zmiennej
wzmacniacz limiter arduino monitorowanie kreska środku
niegasnące światła stopu najlepszy multimetr
Cisco Mediabox - legalne alternatywy i ryzyka Smart Client nie wyświetla danych - przyczyny i rozwiązania