Trochę to może zagmatwane co napiszę. Potrzebuję zrobić sub-rutynę w której chciałbym użyć Readeeprom do której chciałbym podawać adresy do odczytu z Eeprom poprzez parametr. Czy w Bascomie 2.0.5.0 tak można ? Poniżej przykladowy kod jaki chciałbym uzyskać: [syntax=basic4gl]$eeprom Data 0 ' zerowy bajt może zostać wyzerowany Poczatek: Data "0791" 'początek...
witam! chce zrobić zapis do pamićcie eeprom 24c512 "podobno są takie" Chodzi konkretnie o to aby zapisywać ciąg znaków takich jak: R260120071330100 na końcu tego stringu będzie znak powortu karetki enter Z260120071345100 na koncu tego stringu będzie znak powortu karetki enter ale ten enter nie jest tak ważny jak to żeby mi te dane program napisamy w...
chcę zrobić tablicę z nazwami dni tygodnia do kalendarza. deklaruję dim tablica(7) as string * 12 Po co Ci aż 7 12-bajtowych stringów :?: Wystarczy: Dim Dzientygodnia As String *12 , Nrdnia As Byte ... Dzientygodnia=Lookupstr(Nrdnia,Tabli... '0=Pon, 1=Wtor, ... Lcd Dzientygodnia; ... Tablica: Data "poniedziałek", "wtorek"...
myslałem pol nocy i wymyslilem to: Co o tym sadzicie??? Dim A As Byte Dim B As Byte Dim C As String A = 1 B = 84 Do If Adress = 10 and Comand = 1 Then Temp1 = A + 84 Temp2 = B + 84 Read EEPROM C , From A to B (tylko niewiem czy sa funkcje from, to) Cls_lcd Waitus 50 Print C End If If Adress = 10 and Command = 2 Then Temp1 = A - 84 Temp2 = B...
Czy można używać zmiennych typu Overlay w EEPROM ? Chcę zrobić mniej więcej coś takiego: $eeprom Adres0: Data 0 Smsc: Data "48790998250" $data a potem na ten obszar nałożyć zmienną Dim Smsc As Eram String * 11 at $1 Overlay I odczytywać w programie jak zmienną zamiast używania ReadEeeprom ? Teoretycznie powinno to działać. Po prostu...
Tak jak w temacie, chce zapisać zmienną typu string 80 znakową do 24c16, czy musze to jakoś konwerterować, czy eeprom "przyjmie" stringa ? Procek to atmega8
próbowałem tego wcześniej ale program nie generuje przy kompilacji pliku z rozszerzeniem eep jak podglądam w symulatorze zawartość to jest pusta jeśli załaduje na początku dane z deklaracją do epromu na początku programu to w symulatorze mogę sobie podejrzeć zawartość a mnie chodzi aby te zmienne były wpisane podczas pracy programu i w razie zaniku...
Witam, W programie zapisuje kilka zmiennych String w eepromie potrzebuje uzyskać z nich taką tablicę do po prawnej działania pętli for [syntax=basic4gl] Memory(1)="zmienna a zmienna b zmienna c" Memory(2)="zmienna a zmienna b zmienna c" Memory(3)="zmienna a zmienna b zmienna c" Memory(4)="zmienna a zmienna b zmienna c" Memory(5)="zmienna a zmienna b...
Jest tego sporo, DCF77, 7 x DS18B20 i DHT11 ( akurat jeśli chodzi o niego to mam wątpliwości, czy ten kod działa, bo jest na obydwu płytkach podpięty i zdarza się zawieszenie ) Nadajnik Atmega328p Dodano po 16 Odbiornik Atmega644P - trochę zmieniłem obsługę przerwania, wydaje mi się, że w przerwaniu nie powinno się wykonywać dużych obliczeń. [syntax=basic4gl]...
Witam Do istniejącego i działającego "urządzenie" chciałem dodać możliwość odbioru, parsowania i odesłania SMS'a zwrotnego z danymi. Cały kod: Linia1 - to wyświetla Uart_numer - Linia1 Linia2 - to wyświetla Komanda - Linia2 czyli działa OK Ale jak podepnę modem GSM ( SIM900D ) to Uart_numer jest puste, a Komanda pokazuje ( czasem ) jakieś teksty z pierwszej...
Proszę. Jest to przykład zapisu i odczytu zarówno zwykłych bajtów jak też łańcuchów tekstowych inaczej mówiąc napisów w Eeprom. Program i funkcje działają z małymi pamięciami których adresacja mieści się w jednym bajcie. Do tego przykładu użyłem 24C04 Jeśli ktoś chce to może po prostu wpisać sobie jakieś dane do buff(1), Buff(2) itd i tak zapisać. Potem...
...Ps. Tak, już dla ścisłości to skoro do tej pory nie używałem tej pamięci to czas to zrobić. A przy okazji to czy zmienną typu STRING też tak samo łatwo tam zapiszę...? To działa ze zmienną dowolnego typu :D Ijeszcze jedno podejście do tematu.. Napisałem kod z uwzględnieniem Twoich uwag Piotrek tzn: Dim x As Eram Single Kod się skompilował i jest...
Witam. Walczę z obsługą magistrali I2C łączącej procesor Atmega324p i czujnik DS1624. Chcę zapisać na karcie SD póki co dwa surowe bajty z rejestru temperatury, jednak prawie za każdym razem otrzymuję wynik 255, czyli same jedynki w bajcie. Piszę "prawie", gdyż przy ostatniej próbie z jakiegoś powodu była to liczba 151. Podobny efekt daje próba zapisu...
Witam Jestem w trakcie tworzenia projektu mającego na celu zczytywanie temperatury z magistrali 1Wire i przesyłanie dalej za pomocą Ethernetu (Wiznet w3100a). Udało mi się skonfigurować Wizneta, pingował się świetnie. Ponieważ miałem problemy z utworzeniem serwera postanowiłem dodać kilka diodek za pomocą których mógłbym debugować program. Kiedy wgrałem...
Tu masz przykład odbierania tekstu po RS-232 w Bascomie: [syntax=basic4gl]$regfile = "attiny2313.dat" $crystal = 8000000 $baud = 19200 Const Maxlen = 40 'Deklaracje stalych Dim Akey As Byte 'Deklaracje zmiennych Dim I As Byte Dim Pwm As Integer Dim Cmd As String * 4 Dim Buffer As String * Maxlen Dim E As Eram String * Maxlen I = 0 Config Pinb.2 = Output...
Nawet jeśli jest tylko dołączone. Odpytywanie następuje co parę sekund a efekt bielenia ekranu mam za każdym razem kiedy nacisnę przycisk w celu załadowania nowego obrazka. A tu raport (wklejam na razie większość gdyż może Wam to coś ułatwi: Report : System_LCD_TOUCH PAD_rs485 Date : 04-17-2010 Time : 13:48:37 Compiler : BASCOM-AVR...
Witam ponownie,ma ktoś może jakiś sprawdzony software'owy patent na odczytywanie znaków z eepromu?Cały problem leży w tym aby zamienić znaki string"abcd..." na ascii i odnaleźć w tablicy znaków w eepromie. Napisałem taki kod: Sub Strlcd(byval Chstr As String) 'wpisanie stringa Local A As Word 'zmienna pomocnicza dopasowujaca wartosc znaku ascii...
Dodaje kod do zapisu daty i czasu w PCF8563 [syntax=basic4gl] '********************* Funkcja ustawiająca zegar PCF8563 Sub Settime_pcf Ssek = Makebcd(s) 'sekundy Mm = Makebcd(m) 'minuty Hh = Makebcd(h) 'godziny Dday = Makebcd(day) 'dni Wwk = Makebcd(wk) 'dni tygodnia Mmonth = Makebcd(month) 'miesiace Yyear = Makebcd(year) 'lata I2cstart 'warunek startu...
Witam. Proszę o zerknięcie na kod i wytknięcie błędów programistycznych. Wiem, że większość z Was nie "uważa" języka Bascom, ale na razie tylko to umiem, więc tego proszę się nie czepiać. Kod jest oprogramowaniem sterownika akwarystycznego, który działa sprawnie już jakiś czas. Mistrzem w programowaniu nie jestem i wiem, że to i owo można było rozwiązać...
Dzięki, śmiga programik - kluczowanie PWM z częstotliwością ~31kHz a wyjście jest na pinie 14, jakby ktoś chciał wiedzieć: $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 19200 Const Maxlen = 40 'Deklaracje stalych Dim Akey As Byte 'Deklaracje zmiennych Dim I As Byte Dim Cmd As String * 4 Dim Buffer As String * Maxlen Dim E As Eram...
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem pozycje wyświetlania do LCD 4*20 - załączniku spakowany...
Walczę i walczę z tym programem ale nie daje rady.... :cry: Wrzucam cały kod, jest on zrobiony na bazie jak wspomniałem wcześniej: Projekt powiadomienia o alarmie by Xury wersja 2.0 [syntax=basic4gl] '***************************************... 'Projekt powiadomienia o alarmie by Xury wersja 2.0 'Działanie na przerwaniach...
Witam Mam taki programik troszke posklejany ale wyskakuje błąd co robie nie tak . label not found [_ENDIFO ] $regfile = "m8def.dat" 'Atmega8 $crystal = 8000000 'Kwarc 8MHz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.1 , Db6 = Portc.0 , Db7 = Portb.5 , E = Portc.3 , Rs = Portc.4 '*************************************.....
czy ten zapis: Readeeprom Txt , 0 spowoduje że Bascom sobie przeczyta cały text "napis1" ? Być może przeczyta, albo przeczyta z błędem. Unikaj addressu zeroweg dla EEPROM. Nie jest to wada/przyczyna spwodowana przez Bascom, ale 'od dawna' problem z AVR Atmel. na przykład: ................ cls Const Numds = 17 Dim Dispseq(numds) As String *...
Potrzebuję pomocy przy zamianie kodu "RFID Reader", tzn. żeby zamiast wyświetlania kodu karty na LCD uzyskiwać odpowiedni poziom na wyjściu 1z10 i czy jest to możliwe do zrealizowania na atmega8? Chciałbym użyć 8 ostatnich cyfr kodu karty. Posłużyłem się gotowcem, który był już na elektrodzie (dopiero uczę się bascoma i nie wiem jak się do tego zabrać):...
Nie jestem pewny o co tak naprawdę koledze chodzi. Czy to jakoś pomoże? Dim tekst as eram string*30 Najprostszy sposób na zapis stringa w pamieci eeprom. Miałem na myśli zapis tego stringa w zewnętrznym układzie 24c04 na Twi (I2C), ale myśle, że pomysł jak najbardziej trafny. Trochę poczytam i powinienem dać radę. Pamieć EEP powinna dać się chyba łatwo...
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 *************************************...
Witam. Niestety to nie działa, gdy inkrementacja zmiennych "przesunięcie1 i 2" się zeruje po osiągnięciu len(x) w warunku if...then w głównej pętli, cały napis z Bufor_text zanika i tworzy się na nowo. widoczne na nagraniu: na Lcd pierwszy wiersz jest bufor_text + " "+ zmienna(przesunięcie) 1022010 const gdyż nie są wpisywane w moim projekcie na sztywno...
Witam, Temat odgrzany, i nie mojego autorstwa, ale warty przypomnienia. Potrzebowałem aby pewne urządzenie wystawiało mi do PCta kilka klawiszy klawiatury. Słyszałem już kiedyś o projekcie SWUSB pisanym w jedynym języku który choć trochę znam - Bascom. Zaprojektowałem jednostronną niewielką płytkę PCB w której większość portów Atmegi wyciągnąłem na...
Wrzucam nową wersję programu bez użycia biblioteki LS020. Program jest przeróbką oscyloskopu autora Dirk Milewski. Znaki 5x8 są przechowywane w pamięci EEPROM -> polecam odpowiednio zaprogramować bit EESAVE. Wrzucam jedną z moich poprzednich wersji dla podniesienia apetytu. W prezentowanej wersji zdjęcia nie wymagają obrócenia o 90 stopni oraz wymagają...
Witam Mam układ, który mierzy dwie temperatury ( DS18B20 ), dwa napięcia ( PCF8591 ( pobiera czas ( PCF8563 ), a z powodu niedużego wyświetlacza ( 12 x 4 ) wskazania są zmieniane do 10 sekund po przepełnieniu Timer1. Układy PCF8563 i PCF8591 są podpięte z "zewnątrz" przewodami około 10 cm. Magistrala I2C ma obniżoną prędkość przez Config I2cdelay =...
Witam Mam płytkę Loggera GPS + SD + PCF8563. Jeśli chodzi o GPS i zapis na SD wszytko jest OK. Problemem jest ( i to pierwszy raz się z czymś takim stykam ) odczyt danych z z układu PCF8563. Otóż dla pewnych wartości sekund, odczytana wartość czasu - godziny jest większa o 40 ( czterdzieści ). Czyli jeśli czas jest 22:40:02 to jest wyświetlany poprawnie,...
Program napisany jest w Bascom. Delay nie ma w ogóle. Program napisany chaotycznie, ale działał ok dopóki nie dopisałem obsługi DCF77. Gdy przyjdzie odpowiednia godzina, dioda IR ma wysłać kod do odbiornika. Wtedy właśnie procesor zwalnia. Sekundy wtedy "idą" co 3 no i dźwięk ma zwolnione tempo. [syntax=vbnet] $regfile = "m32def.dat" $crystal = 8000000...
Witam, proszę o modyfikację mojego programiku, gdyż staram się zrozumieć sposób zapisu i odczytu w większych eepromach niż 24C04 a to co jest opisane w samplu i2c.bas to zbyt enigmatyczne (używam 24c32 do tych testów) Chciałbym, aby programik zapisał mi w pamięci wartość 12345 ze zmiennej A a następnie odczytał mi to i podał na wyświetlacz. Przy zmiennej...
Witam. Czasami komórka pamięci o adresie 0 może zostać nadpisana przy rozbudowie programu, lepiej używaj pierwszego adresu o nr.1 do eepromu. W sprawdzaniu stanu przycisku dałeś wait2 (2s), to nie za długi czas?, standardowo aby wyeliminować drgania zestyków wystarczy czas 20-30 mS. Jeszcze jedna uwaga, pisząc bardziej rozbudowane programy unikaj polecenia...
mam problem chcialem adresowac zewnetrzna pamiec eeprom komunikacja i2c (twi) sa tam 2 adresy ktore musza miec 8 bitow (1 byte) chcialem zrobic tak gdy adress2 przekroczy 255 to zwiekszy sie adress1 jak to zrobic? myslalem nad zrobieniem jednej zmiennej 16 bitowa (2 byte'y = 1 word) ktora bede dzieli na 2 czesci. ________________________________________...
Wiem że zżera. Ale nie wiem w jaki inny sposób mógłbym to rozwiązać.Pewnie , lepsze było by jakieś bezpośrednie ładowanie grafiki na LCD. W przypadku "showpic" nie ma problemu ale znowu grafika musi siedzieć albo bezpośrednio w atmedze albo w zewnętrznym eepromie co w obu tych przypadkach nie ma miejsca bytu. Zapewne C lub asm poprawiło by wyświetlanie...
Prosiłabym o wyrozumiałość i pomoc w nakierowaniu mnie na rozwiązanie problemu. Spróbuję nakierować :) Jeśli zapis ID do eeprom ma być jednorazowy, w kodzie programu deklarujesz (wcześniej innym programikiem i LCD odczytane) ID $eeprom Termometr2: 'nr seryjny termometru 1 Data 40 , 25 , 0 , 133 , 2 , 0 , 0 , 196 Termometr1: 'nr seryjny termometru...
Spróbuj użyć tego sposobu obsługi parametrów zapisywanych w EEPROM (traktujesz je jak zwykłe zmienne): Dim Reserved As Eram String * 8 'Przyzwyczajenie ze starych AVRów - zapobiega(ło) utracie danych z początku obszaru EEPROM :) Dim Zmienna1 As Eram Byte Dim Zmienna2 As Eram String * 8 Dim Zmienna3 As Eram Long Dim Temp as Byte [...]...
Witam robie stacje lutowniczą z atmegą8 napisałem taki kod w bascomie, czy bardziej doświadczeni koledzy mogli by na nieo zerknąć i wytknąć mi poważne błędy jakie popełniłem. Temperatura z termopary jest brana za pomoca mac6675 i spi, uśpienie powinno się włączyć po minucie leżenia kolby nieruszanej i zmniejszyć ustawiona temp do 160 stopni, po podniesieniu...
Tak się dzieje jak stosujesz instrukcje Gosub, program idzie do procedury a tam znowu stosujesz Gosub i w tej na koncu nieszczęsne Retrurn. Program idzie w "krzaki" bo przepełniasz stosy i nadpisujesz w pamięci Ram zmienne. Poczytaj o procedurach i funkcjach w pomocy Bascoma, użyj Declare Sub a potem Sub: i END SUB. Stosuj też deklaracje ramki i stosu...
Witam Piszę program w Bascomie na Atmega32 do sterowania ogrzewaniem w warsztacie i mam problem. Jest zegar RTC, zewnętrzny Ram, Timer, Menu i to wszystko działa bez zarzutu - dokładnie tak jak bym chciał. Chciałem dołożyć czujnik temperatury i wykorzystać do tego celu wejście ADC. Problem pojawia się w momencie jak w podmenu "Start_webasto" dodaję...
Witam, postanowiłem dodać do programu pomiar temperatury mam czujnik DS18B20 , tylko że kod programu odpowiedzialny za sterowanie czujnikiem opóźnia działanie encodera ,gdzie jest tutaj błąd może czegoś nie uwzględniłem w tym kodzie ? poniżej cały kod [syntax=basic4gl] 'Filename Encoder_100.bas 'Version 1.00 'Date 2012-03-19 'Purpose Test of ALPS STEC11B13...
Witam Przesyłam z nadajnika kilka odczytów ( temperatury, wilgotność, ciśnienie ) przez RFM12 868MHz. Dane wyliczam [syntax=basic4gl] Sub Pomiar_ds3: Ds_i = 0 Ds_adres = 88 ' adres startowy komorki w EEPROM ukladu ATMEGA For Id_ds = 1 To 8 ' petla osiem powtorzen Readeeprom Dsid(id_ds) , Ds_adres ' odczyt ID ukladu DS18B20 Incr Ds_adres ' zwiekszenie...
moje pytanie odnosilo sie do Bascoma i pamieci typu 24cxx a typ danej to liczba calkowita typu long. Co do zapisu w kolejnosci to w jaki sposob mozna nastepnie rozkodowac taka dana jesli zapisze bajt po bajcie, a nastepnie odczytam w taki sposob to jak skleic te dane zeby otrzymac poczatkowa liczbe np drugi bajt ma postac 01110011 to odczyta to jako...
Witam Jestem młodym elektronikiem. I nie potrafię wykorzystać mojej pamięci eeprom. Piszę w Bascomie. Mam polską wersję, helpu z Bascoma, ale tej nie rozumie. Skoro nie rozumiesz po polsku ;) , to w jakim języku mam Ci to wytłumaczyć :?: Spróbuję jednak po ... polsku ;) Oto próbka kodu, który mi nie działa. $lib "mcsbyte.lbx" $regfile = "2313def.dat"...
Witam ponownie Zastanawiałem się, czemu ma służyć deklaracja dość dużej zmiennej tekstowej: Dim Czytaj_str As String * 100 Przy zastosowaniu wcześniej omawianego programu obsługi LCD, na ekranie zmieścisz 14 znaków w 6 liniach, co daje 84 znaki. Po drugie, według zamieszczonego kodu do ww. zmiennej wpisujesz tylko jeden znak więc: Dim Czytaj_str As...
Nie o to mi chodzi. Chodzi mi o to że te dwa rozwiązani to to samo: Myślałem o stringu: 1. załaduję liczbę stringa i string do eepromu, 2. odczyt eepromu do stringa 3. Wysyłanie: odczyt kolejnych adresów stringa ( po kolei jeden adres to jeden bit który wysyłam) Czyli masz w EEPROMie całego Stringa (I nie rozumiem po co chcesz wysyłać adresy. Chyba...
Zgadza się wszystko jest ale ja jestem chyba na to za kiepski. Wybrałem z niego to co jak mi się wydaje potrzebuje. Jednak nadal nie za bardzo to funkcjonuje. Generalnie dioda na pind.3 mruga a po wyzwoleniu pinb.2 zapala się na stałe i zablokowuje się cały układ. Po wyzwoleniu dzwoni ale nie wysyła nic. [syntax=vb] 'powiadomienie sms $regfile = "m8def.dat"...
Pozostaje więc wykorzystanie sprzętowego spi lub i2c i dołożenie zewnętrznej pamięci eeprom o ile wewnętrzny jest zbyt mały Ma to sens. Taki 24c256 za 3 zł (32kB) warto zastosować dla układu z LCD gdzie będzie trzeba zrealizować dużo komunikatów. W ten sposób łatwo też przygotować wersję językową (jeden eeprom dla PL, drugi dla ENG i odwoływanie się...
[syntax=basic4gl] $regfile = "M32def.dat" $crystal = 16000000 '************************* WYSWIETLANIE-porty ********************************** Lcd_port_ddr0 Alias Ddrb Lcd_port1 Alias Portb Lcd_port_ddr1 Alias Ddrb Lcd_rs Alias Portb.lcd_rs_number Lcd_reset Alias Portb.lcd_reset_number Lcd_cs Alias Portb.lcd_cs_number Lcd_sck Alias Portb.lcd_sck_number...
Ja sobie zdaję sprawę z tego, że gdy program się rozbuduje to może dać znać o sobie takie traktowanie zmiennych. Dlatego we właściwym programie zadeklarowałem zmienną tekstową o właściwej długości i kontroluję czy tekst wpisywany czy to z EEPROM czy też z RS232 ma właściwą długość. Nie mam zamiaru wykorzystywać tego dziwnego zachowania w finalnym programie...
Można wyświetlać temperaturę w podmenu "wybór_Ds" ale trzeba zmienić cały program. Chyba nie jest tak trudno zapisać sobie cztery ID czujników i wiedzieć później który gdzie przypisać. Najlepiej osobno podłączać każdy czujnik i na naklejce na kablu przy czujniki zapisać jego ID. Wiedząc gdzie jakie jest ID czujnika można już mu w podmenu przypisać odpowiednią...
Oto zapis i odczyt pamięci 24C32. Odczyt_eeprom zmienna B to kolor piksela i tą zmienna wysyłasz na port DATA w Twoim programie właśnie w tej pętli. Inaczej wygląda zapis tekstu. A jest to tak: [syntax=vbnet]Dim Text As String * 32 Dim Text_do Zapisu(32) As Byte At Text Overlay[/syntax] Trzeba zapisywać bajty a nie litery (STR) Celowo rozmiar zmiennej...
Witam, mam problem z kompilacją kodu sprzed 10-ciu lat, najnowszy bascom. problem jest z rejestrami: Ocr0b = &H80 Ocr0a = &H80 proszę o wskazanie przyczyny. [code][syntax=vbnet] $projecttime = 0 $regfile = "m32def.dat" $crystal = 16000000 ' gdy Baro_idle=0 nie widzi adresu 238 ($EE) ' gdy Baro_idle=1 widzi adres 238 ($EE) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!....
Po wlaczeniu funkcji MUTE na calym wyswietlaczu zostaje wyswietlony tan napis kilkakrotnie. Czy mozna zmienic jakos kod programu aby ten napis byl wyswietlony tylko raz i na srodku?? Kod: $large Config Lcd = 16 * 2 Config Timer1 = Timer , Gate = Internal , Mode = 1 Config Sda = P3.1 Config Scl = P3.0 Dim Licz As Byte Dim I As Byte Dim Nast(5) As Byte...
Witam. Mam termometr na Atmedze8, program napisany przez kolegę Ducha. Chciałbym dodać funkcję zapisu do eepromu najniższej zarejestrowanej temperatury przez termometr, lecz nie jest to możliwe ponieważ ostateczny format temperatury zapisywany jest w zmiennej typu string. Program ma porównywać, czy aktualna temperatura jest mniejsza od zapisanej w eepromie,...
Dzięki za pozdrowienia i za odpowiedź . A co do układu to jest automat do pokoju i ma sterować światłem rgb , halogenami , klawiatura umieszczona we włączniku+ dioda rgb ma sygnalizować jaka funkcja światła zostanie zmieniona , odczytać i zapisać i2c to zadanie dla attiny2313 . A atmega8 ma wyświetlać na wyświetlaczu co jest obecnie za funkcja , pobierać...
$regfile = "m128def.dat" $crystal = 8000000 $baud = 19200 $hwstack = 128 $swstack = 128 $framesize = 128 Config Portb.5 = Output Config Portg.0 = Input Portg.0 = 0 Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down Enable Compare1a Enable Interrupts Compare1a = 255 '#######################################...
Nie wiem jak u Was ale ja tam nie mam już absolutnie żadnych trzasków. Owszem jest jeden mini szmer jak włączam urządzenie ale włączam je raz na "rok" i nie wyłączam. Chyba że ktoś puszcza sobie melodyjkę i wyłącza urządzenie , to co innego. Dla pewności przedstawiam ponownie działający kod. '---------------------------------------...
Witam Postanowiłem nauczyć się wykorzystywać funkcji w swoich programach. Na początek chciałem przerobić opanowaną jakiś czas temu obsługę układu DS1307 . Nie wiem czemu, ale wartości na lcd dochodzą do 59 i program staje, procesor się nie zawiesza, po prostu wartość 59 zamarza na wyświetlaczu. Błąd musi być gdzieś w funkcji, w jej wywołaniu, bo zawartość...
Witam, Przymierzam sie do budowy małego sendera UKF i koderem rds i stereo w celach dydaktycznych. Znalazłem program do obsługi syntezera na saa1057 na ATMEGA8 i mam małe pytanie. Jak zmienić program żeby na wyświetlaczu wyświetlał mi częstotliwość w podanym formacie XX,XX MHZ w tej chwili wyświetla XX,XXX,X MHZ, jak ograniczyć pasmo działania syntezy...
Witam, jeszcze proszę praktyczne rozwiązanie takiego problemu, gdyż program jest praktycznie ukończony, ewentualnie drobne poprawki kosmetyczne:), ale w obecnej wersji odczyt i zapis wykonywany jest z poleceniem "wait", przez co wskazywane temperatury nie są czasem poprawne - wyskakuje BRAK ds'a. Już nie mam pomysłu jak to zrobić, proszę tylko o jakieś...
Rezystory są już dane na płytce, zresztą zegar na PCF działa bez zarzutu ( no może trochę śpieszy, ale to kwestia kondensatora przy kwarcu ) sprawdziłem połączenia - nóżki 5 czyli SDA ( 24C02 i PCF8583 ) są podłączone do 23 nogi uC, czyli PC1-SDA. Podobnie z SCL. Teraz zrobiłem tak, że odczyt jest po włączeniu/resecie ( przed pętlą główna ), a zapis...
Witam Chciałem zrobić zabezpieczenie przed rozładowaniem akumulatora ( 12V/65Ah ) zasilającego moje halogeny LED nad biurkiem. Woltomierz na PCF8591 działa ok, nawet dodanie warunku określającego reakcję na spadek poniżej ustawionego napięcia również ( chwilowo jest tam tranzystor FET sterujący paskiem LED ). Chciałbym, aby układ po osiągnięciu zbyt...
Witam, Uczę się bascoma, i stworzyłem sobie programik z zegarkiem i termometrem, lecz na LCD temperatura miga mi na przemian z godziną oto kod: [syntax=basic4gl] 'definicja użytego procesora $regfile "m32def.dat" 'prędkość taktowania 16MHz $crystal = 16000000 $eeprom 'piny podłączenia LCD i definicja jaki LCD | 16x2 Config Lcdpin = Pin , Rs = Portb.0...
Ok wklejam kod: $crystal = 8000000 $lib "mcsbyte.lbx" $lib "i2c_twi.lbx" $regfile = "m8def.dat" Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.0 , Db6 = Portd.7 , Db7 = Portd.6 , E = Portb.2 , Rs = Portb.3 $baud = 9600 Config Serialin = Buffered , Size = 15 $eeprom Data 0 , 22 , 22 , 22 , 0 $data '$prog &HFC , &HE2 , &HD9...
Witam, Piszę na Atmedze odczyt danych z BMP085 i dodatkowo zapis danych na kartę SD. Wszystko wydaje się działać poprawnie, a jednak coś jest nie tak. Do obsługi BMP085 wykorzystałem kod z tego tematu: Oto wykres z odebranych danych, czas pomiaru to około 10min Za każdym razem ćiśnienie spada, niemożliwe, żeby w ciągu 10 min spadło o 4hPa. W czasie...
Teraz mam inny problem. Chcę robić pomiar temperatury i zapisywać na kartę SD. Używam do tego modułu prototypowego tego autora: Ponieważ post dotyczy innego tematu niż oryginalny wątek, temat podzieliłem. Na przyszłość proszę w przypadku napotkania problemów niezwiązanych z oryginalnym tematem postu zakładać nowy wątek. W ten sposób inni będą mogli...
Hej, Próbuję zrobić menu ustawień swojego sterownika i kompletnie mi to nie wychodzi :( Menu ma być sterowane pilotem NEC (pilot działa poprawnie) Jak ja to sobie wymyśliłem: 1. ekran główny (tu jest OK) - przycisk strzałka w lewo przełącza ekran na zegar "MAXI" - przycisk strzałka w prawo przełącza na ekran główny - przycisk strzałka w górę blokuje...
Witam Mam program, który, po dokonaniu pomiarów, wysyła dane przez RFM12 i zapisuje na karcie SD. Chcę dołożyć wysyłanie danych do Domoticz po każdym pomiarze. Problem w tym, że po dopisaniu obsługi ESP8266 i Domoticz ( zmienne miałem już wcześniej zadeklarowane ) to pojawiają się błędy w zapisie na karcie SD. No i wysyłanie do Domoticz przestaje działać,...
Proszę. Gotowe bo jak widzę kilka If`ów do tej samej zmiennej zamiast Select Case i tym podobne kwiatki... [syntax=vbnet]$regfile = "m32def.dat" $crystal = 11059200 $hwstack = 64 $swstack = 16 $framesize = 64 Const Timeout_time = 8 'x500ms Config Submode = New ' config LCD 2X16 Config Lcdpin = Pin , Rs = Porta.2 , E = Porta.3 , Db4 = Porta.4 , Db5 =...
Witam, jako, że kończą się wakacje postanowiłem udoskonalić trochę soft piórnika - chcę dodać odczyt temp., tylko nie wiem gdzie ją umieścić. '***************************************... '* Program Piórnik Mini wersja 1.0 Beta *' '* Pomysł: FICU *' '* Programista: Jacek R (Black Jack) Kompilator:...
Ok, już się uporałem: Dim Address As Byte , Command As Byte Dim Str_address As String * 3 Dim Str_command As String * 3 Do Disable Int0 Enable Interrupts Getrc5(address , Command) Command = Command And &B01111111 Call Lcdinit Str_address = Str(address) Str_address = Format(str_address , "" ) Str_command = Str(command)...
nie bo do eepromu wpisuje zmienne typu string a "{255}" to jest decymarnie 255
Witam ponownie Poprawiłem to zapisywanie do expanderów, troszkę lektury HELP-a i doszedłem do: deklaracja: Declare Sub Pcf_zap(byval Kosc As Byte , Byval Ex As Byte) a tu podprogram: 'podprogram obslugi ukladow PCF8574 Sub Pcf_zap(byval Kosc As Byte , Byval Ex As Byte) I2cstart I2cwbyte Kosc I2cwbyte Ex I2cstop Return End Sub i jego...
Witam, ostatnio wróciłem do zabawy z AVR i nieco się nauczyłem. Chcę mieć możliwość wysyłania przez komputer pliku txt. Zawartość tego pliku (tekst) ma być zapisana z zew eepromie 24C64. Dokładnie tak: Połączenie np przez terminal, procesor się pyta od którego Adr_eep ma zacząć zapisywanie (np. 0), wysyłanie pliku txt, procesor informuje na którym Adr_eep...
Witam, jest program który ma za zadanie komunikować uC z PC. Wszystko poprawnie działa o ile procesor jest podłączony do programatora, a dokładnie podłączony jest kabel SCK. Dlaczego nie chce program działać po odłączeniu programatora? Programator zgodny z stk 500v2. Program: $regfile = "m32def.dat" $crystal = 11059200 $baud = 9600 $hwstack...
Witam, właśnie jestem w trakcie zabawy z GPSem, wstępny program udało mi się przygotować na podstawie tego co znalazłem w internecie ale mam problemy: 1. nie mogę poprawnie wydzielić prędkości z danych odbieranych przez GPS: $GPVTG,165.48,T,,M,0.03,N, 0.06 ,K,A*37 prędkość nie zaczyna i kończy się zawsze w tych samych miejscach, odczytując Case 24 To...
W urządzeniu docelowym próba wejścia do menu kończy się resetem lub po unieruchomieniu watchdoga - zawieszeniem programu. Wydaje się że coś jest nie tak z podprogramem wyświetlającym łańcuchy na lcd. Tylko co? [syntax=basic4gl] Const Msg_czas = 17 Const Msg_osw = 28 Const Msg_grzalka = 40 Const Msg_l1z = 48 Const Msg_l1w = 65 Const Msg_l2z = 82 Const...
Pokaż źródła. $regfile = "m32def.dat" $crystal = 8000000 $hwstack = 340 $swstack = 128 $framesize = 128 $eeprom $include "Config_MMC.bas" $include "Config_AVR-DOS.BAS" Config Debounce = 30 '---------------------------------------... Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.4...
Witam. Czy da się w jakiś sposób wyciągnąć unikalny dla każdego pojedynczego egzemplarza ATmega 644p string, za pomocą którego będzie można zidentyfikować konkretną sztukę. Oczywiści można zaprogramować wewnętrzną eeprom, ale nie o to chodzi. Chodzi o coś w rodzaju serial number-u, którego nie można zmienić / zmodyfikować. Dziękuję za podpowiedzi i...
Witam! Program działa poprawnie. Testowałem z 3-4 programy do obsługi tego czujnika ciśnienia. Wyniki są złe, porównaniem z innym ciśnieniomierzem zaniża o 30..40hPa. Zasilanie BMP180 3.3V, ATMEGA32, 8MHz. Czy ktoś się spotkał z takim problemem? [syntax=vbnet] '----------------------- '| Test modułu BMP085 | '----------------------- 'Uwaga: pomiar jest...
Pozdrawiam wszystkich. Problem polega na tym, że po odebraniu znaku instrukcją Waitkey() z RS232 i zapisaniu do zmiennej tekstowej "nm" a następnie do EEprom i tablicy Bufor(kz) nic w tych zmiennych nie otrzymuję. A wydaje mi się że powinienem otrzymać w komórce EEprom jak i tablicy reprezentację liczbową zmiennej tekstowej. Poniżej przedstawiam fragment...
Wyświetla mi tylko 11 pierwszych liter;/ (łącznie ze spacjami). Cały program wygląda tak: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portb.2 , Db7 = Portb.1 , E = Pinc.1 , Rs = Pinc.0 Config Sda = Portc.4 Config Scl = Portc.5 Declare Sub Write_eeprom(byval Adres...
Zle mnie zrozumieliście Panowie. Nie chodzi mi o sam zapis i odczyt bo to prosta sprawa ale o to, że pamieć składa się z komórek które mają rozmiar 1 Bajta, tak wiec do kazdej komórki można zapisać maksymalną liczbe 256. A ja chce zapisac liczbe typu 17352965 i kiedy to chce zrobić bascom wywala błąd "Value doesn't into BYTE" co jest całkowicie zrozumiałe...
Znalazłem coś takiego : 'name : 'purpose : test for M2560 support 'micro : Mega2560 'suited for demo : yes 'commercial addon needed : no '---------------------------------------... $regfile = "m2560def.dat" ' specify the used micro $crystal = 8000000 ' used crystal frequency...
Witam, Chciałbym dowiedzieć się, czy w części adres można wpisać jakąś zmienną. Mam program gdzie na poczatku znajduje się: $eeprom P1: data 1, 2, 3 P2: data 1,2,3 ... ... P8: data 1, 2,3 $data a w petli głównej chciałem zrobić coś takiego: do wrieeeprom a,b loop until (8 kroków) i moje pytanie, czy mogę b zadeklarować jaką zmienną string i zmieniać...
Inne napisy umieściłem w eeprom, zyskałem jakieś 400 bajtów miejsca. Z nazwami procków kombinowałem już na wszystkie sposoby, no i niestety nie zrobiłem tego... każdy jeden wpis "Print "napis"" kosztuje mnie 18 bajtów (w tym 9 bajtów sam napis), gdy np chcę przepisywać napisy do zmiennej string i na końcu wyświetlać - wychodzi po 20 bajtów na każdy...
A może znasz jakiś jeszcze inny sposób (PROSTY) żeby jak najszybciej sprawdzić zmianę stanu na 18 wejściach do uC? Najprościej byłoby zastosowac inny processor np: ATMega48/88/168, które mają PCINT co najmnjej na 20 'użytecznych' pinach wejściowych. W subrutynie do każdego PCINT wstawisz instrukcje wyłączającą przekaźnik na którymś tam porcie wyjściowym,...
Nie nawet tego nie dodalem do programu ale widze ze mrugania temperatura nie ma wnioskuje to po braku blink on Ja podałem ci procedurę zmiany/ustawienia temperatury zał i wył went. oraz zapisu jej do EEprom (zgodnie z tytułem tematu), tak aby system pamietał jej poprzednie/ostatnie ustawienia na wypadek wyłączenia zasilania. To zabawkowe mruganie nie...
Mam pytanko co do zapisu eeprom . Mam do zapisu cztery zmienne Nie jest to cakowicie poprawna forma. Może najpierw, co masz źle! Zarówno cena (chodzi tu zapewne o cenę jednostkową) jak i wagę jednostkową które będziesz mnożył przez jakieś inne zmienne wyliczone w innej części programu, a zatem te dwie zmienne nie mogą byc deklarowane jak 'string' do...
Program wykonuje się dobrze do komendy Writeeeprom po czym się 'zatrzymuje' (nadal jest Running, ale nie przechodzi do następnej funkcji). Readeeprom działa bez zarzutu.
Nie wiem czy chcesz się nauczyć czy potrzebujesz program. Na początek te uwagi: 1. Nie wiem co tam robi dyrektywa $eeprom. Jest niepotrzebna w tym kodzie 2. Zmienna Ds jest zwiększana w przerwaniu niezależnie od tego czy jesteś w Menu czy nie. Tak więc po powrocie z Menu już na pewno nie zdążysz załapać się na warunek If Ds = 2 i wyzerować jej wartość....
Witam Temat na czasie, bo nocy była zmiana czasu. Niestety u mnie nie zadziałało ja trzeba. Przed uruchomieniem programu odczytuje z EEPROM zawartość komórki W pętli głównej na początku programu sprawdzam stan bitu [syntax=vbnet] Do '******* zmiana na czas zimowy If Zmiana_czasu = 0 Then If Lato_zima = 0 Then Decr Godziny Gosub Settime_pcf Zmiana_czasu...
Tzn. wiem, że zmienna typu bajt nie może być większa niż 255, ale zapomniałem, że nie robi się operacji na różnych typach zmiennych razem [syntax=vbnet] Solar_mid_mod_temp = Solar_mid_mod_temp \ 2 ' srednia z dwoch czujnikow = 283 [/syntax] co prawda przekracza 255, ale wynik z dzielenia przez 10 i Modulo 10 już nie, czyli 28 i 3 [syntax=vbnet] Solar_mid_dec...
No tak, ale błąd wywala mi właśnie w momencie gdy z tej zmiennej robię stałą ...a tak poważniej to na screenie widać, że błąd jest w liniach 479 i 711 więc tam należy szukać. błąd linii 479 po zmianie zmiennej Lista_znakow na stałą wskazuje na te linie. Linia 711 to ten sam błąd bo zrobiłem w kodzie dwie prawie identyczne procedury tyle że ta druga...
Witam, Zapoznałem się z tym tematem: Niestety jest zamknięty, więc musiałem otworzyć nowy. Szukałem wielu porad w tym temacie i ostatecznie napisałem program w BASCOmie i działa, aczkolwiek z pewnym problemem z częstym błędnym odczytem CRC. Teraz powoli przeprowadzam się na C i z podanego tematu ściągnąłem program. Trochę go przerobiłem (połączyłem...
Witam, znalazłem kiedyś program napisany w asemblerze do kodowania POCSAGu z portu com komputera. Program działa ok ale gdy podłączę mikrokontroler Atmega8 i wysyłam przez Uart komendy do kodera POCSAG to muszę robić przerwy 12 sekundowe pomiędzy wysyłaniem komend. Nie znam asemblera i mam pytanie co zrobić by nie czekać tych kilkunastu sekund pomiędzy...
Acha, jeszcze coś. Taki przykład znalazłem w HELPIE DO BASCOMA : '---------------------------------------... ' EEPROM2.BAS 'przykład ten pokazuje jak używać nowej wersji instrukcji READEEPROM '---------------------------------------... 'Najpierw określimy zmienne Dim B As Byte Dim Yes As String * 1 'Składnia...