a jak zadeklarować tablicę o różnych typach zmiennych? (numery wierszy- int, wiersze - tablice char) Tablica struktur się kłania. Jak nie wiesz o co chodzi - to tu masz przykład: http://marek.piasecki.staff.iiar.pwr.wro...
Sub Odczytaj_pcf8583 Dzien = Makedec(dzien) Miesiac = Makedec(miesiac) H = Makedec(h) M = Makedec(m) S = Makedec(s) I2cstart I2cwbyte &HA0 I2cwbyte 2 I2cstart I2cwbyte &HA1 I2crbyte S , Ack I2crbyte M , Ack I2crbyte H , Ack I2crbyte Dzien , Ack I2crbyte Miesiac , Nack I2cstop I2cstart I2cwbyte &HA0 I2cwbyte 100...
Piszę obsługę zegara PCF8583. W moim programie występują jakieś błędy, i nie wiem jak je rozwiązać. Proszę o pomoc. Poniżej zamieszczam kod do obsługi I2C (TWI), i zegara PCF8583. W wyniku działania programu dostaję dziwne wyniki na wyświetlaczu. Kod: #define F_CPU 1000000UL #include <avr/io.h> #include <util/delay.h> #include <stdio.h>...
Zamaskować czyli ustawić bit maski rej. 0x00 bit 3 i odczytać trzy najstarsze bity z 0x06 ? PCF8583=TWI_read(zegar,0x06); pcf_mc[1] = PCF8583 >> 4; dziesiątki miesięcy to odczytany bit 5 pcf_mc[0] = PCF8583 & 0x0F;jednostki miesięcy //to jeżeli jeżeli teraz dzien = PCF8583 >> 5;//to powinny być bity 8,7,6
Witam, Próbuje w ramach nauki zbudować zegarek w oparciu ATMegę168 i PCF8583. Zbudowałem następujący układ: http://obrazki.elektroda.pl/4826984900_1... Napisałem do niego następujący program: [syntax=c] #include <avr/io.h> #include <stdio.h> #include <util/delay.h> #include "HD44780.h" #include "i2c.h" #include "PCF8583.h"...
Witam, zabrałem się za zrobienie zegarka na układzie PCF8583, ale na razie testuje czy działa na płytce stykowej. Do układu użyłem sterowników z tej strony: http://avrkwiat.nstrefa.pl/omnie/index.p... czyli PCF8583.h, LCD.h, LCD.c, i2c.h - zwykle stosuje do LCD HD44780 ale nie wiem jak to...
Co robi funkcja bcd_na_dec? Kod powinieneś wstawiać pomiędzy syntax=csharp a /syntax
Po dodaniu i2cinit pokazuje się bez zmian: 0:0:0 Dzien:0 mies:0
Mając trochę wolnego czasu napisałem parę funkcji do obsługi układu PCF8583. Funkcja która ustawia godzinę i datę zapisuje też dane potrzebne do obliczenia pełnego roku, dzień tygodnia jest obliczany automatycznie na podstawie daty. Funkcje Pcf8583_write i Pcf8583_read można wykorzystać do zapisywania/odczytywania danych z wolnej pamięci ram. Dostępne...
Niedawno robiłem taki zegarek i proponowano mi napisanie progra,owego roku niz korzystanie z tego z pcf-a. Najpierw musisz ustawić 3 bit w rejestrze kontrolnym np tak: Dim B1 As Byte Set B1.3 I2cstart I2cwbyte 162 I2cwbyte 0 I2cwbyte B1 I2cstop Potem żeby ustawić podstawowe wartości musisz je zamienić na kod bcd a następnie wysłać tak: I2cstart I2cwbyte...
No więc, tak jak obiecałem jakiś czas temu postaram się przybliżyć i wytłumaczyć kwestię programowej obsługi popularnego układu RTC – PCF8583. Układ ten ma zarówno zwolenników jak i przeciwników, a jedni i drudzy mają swoje racje. Są układy prostsze w obsłudze programowej, posiadające wszystkie interesujące nas dane w osobnych rejestrach prostych...
a moze ktoś wie czemu pcf8583 liczy dni tylko do 29?
ogolnie jest zasada tak ze w przerwaniach nie powinno byc jakis procedur opozniajacych, przerwanie powinno sie wykonac , obliczyc i wylaczyc jak najszybciej,glowny program jest od czasowek , komunikacji i2c itp. przynajmniej ja sie staram trzymac tych zasad.czasami mozna je nagiac oczywiscie.to zalezy od zlozonosci projektu. ja PCF8583 obsluguje zawsze...
Witam w moim programie prubuje zaimplementować obsługe roku z wykorzystaniem układu pcf 8583 ale nie potrafie za pomocą przycisków zwiększyć kolejnych lat, następuje przeskok co 4. W związku z tym zwracam sie do Tych co już pisali obsługę roku jak poprawnie to powinno wyglądać. poniżej fragmęt kodu: [syntax=c] uint8_t rok_bazowy =12; if(klawisz_wcisniety(key_pin3)&klawi...
Po mojemu to mogło by być tak. '*********************** Podprogram ustawiania godzin ,minut, dni i miesięcy Sub Menu: Start_menu = 0 Do If Menu_ustaw = 0 Then Waitms 25 If Menu_ustaw = 0 Then Incr Start_menu If Start_menu >= 6 Then Start_menu = 0 End If End If End If Select Case Start_menu Case 0 : Case 1 : Locate 1 , 1 Lcd "Ustaw...
Witam! Przejrzałem masę kodów bascoma, ale nie znalazłem kodu, który by umożliwiał ustawienie w PCF8583 zmiany tygodnia przy zmianie dnia. kod odczytu: I2cstart I2cwbyte &HA0 I2cwbyte 2 I2cstop I2cstart I2cwbyte &HA1 I2crbyte Dwukropek_bcd , Ack I2crbyte Minuty_bcd , Ack I2crbyte Godziny_bcd , Ack I2crbyte Dzien_bcd , Ack I2crbyte Miesiac_bcd , Ack...
Czy mógłby ktoś pomóc uporządkować programik? Skleciłem zegarek na DCF77 i PCF8583. Z Bascoma jestem słaby, i prosiłbym o jakieś przykłady. Chodzi mi oto, aby DCF77 zapisywał czas do pcf-ki. "To" co skleciłem nie działa. Odczytuje czas z PCF-a, ale nie przestawia się. DCF jest sprawny i dobrze podłączony, bo sprawdziłem na innym programie. Zerknijcie...
... bo dobrze znam ten wyświetlacz. Ale z Bascomem już gorzej :D Co to jest za twór :?: [syntax=basic4gl] Data "Poniedzia" ; &h9D ; "ek" ; [/syntax] Do umieszczenia w zmiennej tekstowej dowolnego kodu ASCII, służą nawiasy klamrowe :idea: [syntax=basic4gl]Data "Poniedzia{157}ek" [/syntax]
No tak zapomniałem ze w PCF8583 są tez dni tygodnia. Dzieki za przypomnienie. Pozdrawiam
Kiedy w kodzie u góry napisałeś: [syntax=vbnet]$baud = 2400 [/syntax] to kompilator włączył sprzętowy port UART który ma priorytet i przejął piny PORTD.0 i PORTD.1 na własność :P Teraz programowe I2C nie może się dostać do tych pinów :D Proponuję skasować te linijkę kodu którą pokazałem i spróbować. Od tego bym zaczął ;) Zapisz też zmieniony kod pod...
Zegar posiada tylko w kalendarzu dzień i miesiąc, ja szukam jeszcze roku i dnia tygodnia.
Witam serdecznie. Proszę o pomoc w konfiguracji pcfa 8563 w bascomie. Do tej pory uzywalem pcf8583 i nie mialem problemów,kupilem 8563 by miec rozdzielone dane dd/mm/rr i zaczely sie problemy.Czy ktos moze mi powiedziec jak przerobic ten programik ?,czytalem aplikacje ale niestety nie potrafie sobie poradzic. za pomoc z gory dziekuje. Sub Odczyt_danych...
Wprawdzie ... to nie humanitarnie z mojej strony dawać niemalże gotowca ... :D [syntax=basic4gl]$regfile = "m2560def.dat" $crystal = 16000000 $hwstack = 64 $swstack = 64 $framesize = 64 $include "Config_PCF8583.bas" Declare Sub Displaytime() Declare Sub Settime() Declare Sub Cancel() Declare Sub Plus() Declare Sub Minus() Declare Sub Saveandexit() Declare...
Witam. Co jest zle w tym kodzie? Na wyświetlaczu za miast czasu wyświetla mi się wartość 165:165:165 Kod: $crystal = 16000000 $regfile = "m8def.dat" 'deklaracja zmiennej określającej godziny Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Sda = Portd.7...
... problem polega na tym ,że jeśli ustwiam date podczas ustawienia dnia który zawiera w sobie cyfry 8 lub 9 przy próbie zapisu resetuje dzien do wartosci : 00 przy dniu 8 i 9 10 i 11 przy dniu 18 i 19 itd, Jakoś mnie to nie dziwi :D [syntax=basic4gl]Day = Day And &B00110111[/syntax]
Witam Na początek napisze ze jestem początkujący w C. "Napisałem" program który czyta czas i datę z PCF8583 i pokazuje to na LCD.I wszystko byłoby ok gdyby nie to ze dla testu na przerwaniu procesor ma generować krotki sygnał dźwiękowy co 1 sek. i "prawie" jest ok TYLKO raz na jakiś czas nie chce piknąć na mijającą sekundę, tak jakby gubił te sekundę....
Bedę wdzięczny za info: kozystam z Atmega 8535, chcę mieżyć czas (PCF8583) ale zawsze czas = 0 i nie zmienia się, jaka może być przyczyna? Nie mam podpietych rezystorów do SLC i SDA, kożystam z zewnetrznego kwarcu zegarkowego, szeregowo kondensatory do minusa Oto listing programu: Dim Godzina As Byte , Sekunda As Byte , Dzien As Byte , Miesiac As Byte...
Witam, Mam problem z wyslaniem danych do rejestrow PCF8583. Odczyt przebiega prawidlowo lecz nie moge wyslac danych(godziny,daty itp) do pamieci pcfa. Oto moj przerobiony kod $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs =...
Może zajżysz tutaj. http://www.elektroda.pl/rtvforum/viewtop... Jest tam źródło w bascomie dla komputerka do Dewoo. Tam chyba znajdziesz to czego ci potrzeba.
Witam, jak zapisac w tej kostce dzien tygodnia i rok pod Bascomem ? O ile jeszcze na dzien tygodnia sa 3 bity wiec da sie policzyc do 7 o tyle na rok sa jzu tylko 2 ? Przeszukalem archiwum i jest tam tylko jeden przylad z 2003 roku do tego z bledem bo dzialac bedzie prawidlowo max do 2004 roku. Jak sobie z tym poradzic ? Ewentulanie jaka inna tania...
Witam. Mam problem z odczytem informacji za pomocą przetwornika ADC w uC atmega32. Chce mierzyć temperaturę za pomocą LM35, jednak cały czas do procesora dochodzi 34-35 mV, z tego co mi się udało na wyświetlaczu wychwycić. LM35 wymieniałem i inny chodzi tak samo. (kod jest niepełny, żeby nie wklejać nie istotnych elementów) Wyjście LM35 podłączone jest...
Mam problem. Program pozwala wyświetlić tylko rok z przedziału 2000-2004. Jak zmodyfikować ten program żeby wyświetlić aktualny przedział lat. Dzięki za podpowiedzi. Ps.Szukałem i czytałem forum , wpisując do zmiennej Rok wartość od 00-04 zmieniamy lata od 2000 do 2004 ale nie znalazłem informacji co zrobić żeby zmienić przedział lat na np. 2004-2008...
Wziąłeś pod uwage że numer dzisiątek miesiąca to tylko jeden bit? Trzy najstarsze bity to numer dnia tygodnia.
Witam. Jak wiadomo tematów na temat tego pcf-a było już pełno. Jednak po przeszukaniu neta tylko jeden temat na forum był prawie taki sam , lecz tamte "posty" nie pomogły mi w moim przypadku , a mianowicie problem mam taki: dla prób pobrałem z neta kod "zegara" (oczywiście w bascomie) , oto on: https://filmy.elektroda.pl/60_1323792711... odłączenie...
I2crbyte Day , Ack 'odczytuje dzien i potwierdzam I2crbyte Month , Ack I2crbyte Year , Nack 'odczytuje rok bez potwierdzania transmisji To co napisałeś w komentarzach , to tylko Twoje pobożne życzenia :( Co faktycznie zawierają zmienne Day,Month,Yaer po wykonaniu powyższych instrukcji , jest do sprawdzenia w rozpisce PCF-ka :| Piotrek
Witam. Pracuję na uniwersalnej płytce Gotronika. Bazując na książce i internecie postanowiłem zrobić sobie termometr z zegarem RTC. Sam termometr pracuje poprawnie, wyświetla temperatury z dwóch czujników DS, w dwóch liniach na LCD. Potem dorobiłem do tego zegar RTC oparty na wbudowanym w płytkę PCF8583. Sam zegar, z pominięciem daty również wyświetla...
Kod do testu wziąłem z internetu. Nie chodziło o w pełni działający zegarek z możliwościami ustawiania godziny itd, tylko sam fakt czy działa. http://obrazki.elektroda.pl/7191310200_1...
Witam, przejrzałem nie jeden temat i próbowałem na wiele sposobów, ale nie mogę sobie poradzić z odczytaniem dnia tygodnia. Potrzebuję tylko czas oraz dzień tygodnia (poniedziałek-niedziela). Wszystko czego próbowałem to zwracało mi jako dzień tygodnia 0 lub 1. Niestety nie zwracało od 0 do 6. Już nawet gotowiec będzie pomocny bo będę mógł spokojnie...
Super chyba o to chodziło. Brakowało sprawdzenia miesiąca. [syntax=c] pobierz_czas(&godz, &min, &sek); pobierz_date(&dzien, &mies, &rok, &dzientygodnia); dst1=sprawdzDST(dzien, mies, dzientygodnia, godz); if ( (dst1==1) && (mies==3)) { if (dst_ok == 0){ serial("Zmiana na letni"); ustaw_czas(3,0,0); dst_ok=1; } } if ((dst1==0) && (mies==10)) { if (dst_ok...
Witam wszystkich. Mam problem z zapisem zmiennej typu word do eepromu procesora. Otóż chcę zapisywać rok w eepromie, ponieważ po odłączeniu zasilania rok kasuje się do ustawienia początkowego. W moim przypadku jest to YEARBASE=2012. Kostka to PCF8583, która wg noty nie ma "swojego" zapisu roku. Do eepromu zapisuję inne dane które działają, natomiast...
Głowię się nad tym kawałkiem twojego kodu oby go zaadaptować do programu i jak na razie nic sensownego nie wymyśliłem. Zmodyfikowałem swój kod ale zachwycony nim nie jestem a koncepcji jak napisać go bardziej sensownie też nie mam. Niestety pokutuje moja ograniczona wiedza na temat C. Trochę kodu do wglądu. [syntax=c] // ATMEGA 32 16MHZ - taką mam w...
Witaj Jakbyś zerknął na sttr.6 pdf'a, a dokładniej Fig.3 opisujący rejestr controlny, to byś wyczytał: mask flag: 0 read locations 05 to 06 unmasked 1 read date and month count directly Pozdrawiam
PCF8583 nie ma rejestru roku tak jak PCF8563. Co do dnia tygodnia - muszę poszukać w DS. EDIT: Dzień tygodnia musisz odczytać z rejestru miesiąca (06). Służą do tego bity 7..5 czyli: 1. odczytać rejestr 06 2. zamaskować wartość za pomocą AND &B11100000 3. przesunąć w prawo o 5 (Shift Rejestr_06 , Right, 5)
witam. mam polaczonego pic'a z w/w pcf'em. Pobieram dane z PCF i wyswietlam na LCD... ale sa to jakies dane przypadkowe... nie wiem czy to wina kwarca zastosowanego w PICu... znalazlem program dla kwarca przy PIC'u *MHz... ja natomiast mam 4MHz... czy to cos zmienia? czy trzeba cos przestawiac? i skad te przypadkowe dane?... program pobiera godzine,...
Witam. Przegladalem forum w znalezieniu odpowiedzi ale nic nie widze. Kozystam z bibliotek Procyon i nie potrafie sobie poradzic z obsluga PCF8583. Wydaje mi sie ze I2C dziala poprawnie. Patrzac na specyfikacje techniczna PCF8583 nie potrafie tego zegara obsluzyc :( Wkleje kawalek bezsensownego kodu ( bo nie wiem nawet co to jest i nawet nie weim jakich...
witam. mam polaczonego pic'a z w/w pcf'em. Pobieram dane z PCF i wyswietlam na LCD... ale sa to jakies dane przypadkowe... nie wiem czy to wina kwarca zastosowanego w PICu... znalazlem program dla kwarca przy PIC'u 8MHz... ja natomiast mam 4MHz... czy to cos zmienia? czy trzeba cos przestawiac? i skad te przypadkowe dane?... program pobiera godzine,...
Witam! Proszę o pomoc w rozwiązaniu problemu. Jedyne dane jakie dostaję od PCF-a to 165 dla wszystkich danych (godzina, miesiąc,.....) '$sim 'praca w emulacji sprzętowej $crystal = 4000000 $regfile = "m32def.dat" Config Sda = Portc.1 'konfiguracja linii SDA magistrali I2C Config Scl = Portc.0 'konfiguracja linii SCL magistrali I2C Config Lcd...
Witam.Mam problem z funkcjami w dwu kanałowym zegarze sterującym gdzie muszę porównywać czas bieżący z ustawionym czasem włączenia i czasem wyłączenia niezależnie jednego i drugiego kanału. Napisałem coś takiego opierając się na warunkach if ale nie chodziło to prawidłowo bo raz zadziałało a raz nie a i kodu było sporo. Mam z tym duży kłopot bo to ostatni...
Ja to robilem tak: Dim M As Byte Dim S As Byte Dim Ho As Byte Dim D As Byte Dim We As Byte Dim Mnt As Byte Dim Wm As Byte Dim Y As Byte Dim Yd As Byte Input "dzien" , D Input "dzin tygodnia" , We Input "miesiac " , Mnt Input "rok" , Y Input "godzina" , Ho Input "minuta" , M Input "sekunda"...
Witam serdecznie! Zwracam się z prośbą do kolegów z większą wiedzą w tym temacie. Problem błahy, ale rozkładam ręce, pewnie zapomniałem o jakiejś oczywistej rzeczy, oto kod: '$sim $crystal = 8000000 $regfile = "m16def.dat" 'deklaracja zmiennej określającej godziny Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6...
tehaceole napisał: Czy wyznaczanie dnia tygodnia opiera się o algorytm wiecznego kalendarza Zellera czy stosujesz jakąś inną metodę? Wyznaczaniem dnia tygodnia zajmuje się układ PCF8583P, ja tylko odczytuje zmienną. Nie doczytałem w jaki sposób wyznaczany jest dzień tygodnia w tym układzie. Dlaczego pytałem? Otóż w mojej przygodzie z PCF miałem taki...
Witam, Napisałem sobie taki programik w Bascomie pod PCF8583 i Atmege32 Wszystko funkcjonuje idealnie - czas, menu, nastawy itd, ale mam mały problem Otóż chciałbym wywoływać alarm o zadanej godzinie - nastawa w menu "Ustaw Alarm" Jeśli wpiszę tam odpowiednią godzinę i minutę to niestety alarm się nie uaktywnia? Dlaczego? Poniżej wklejam listing: [syntax=basic4gl]$regfile...
Witam zakupiłem gotowy zestaw z allegro z zegarkiem pcf8583 i mam z nim problem taki że nie mogę się z nim skomunikować . przykładowy kod wiesza się na transmisji i dalej nie idzie. $crystal = 16000000 $regfile "m8def.dat" Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3...
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:...
Menu dobrze jest zrobić przy użyciu Case . czyli jednym z przycisków wchodzi się do podprogramu Menu i tam przez Case wybiera się parametr, który chcemy zmienić. I odwołanie do programów. Coś w tym stylu - piszę z pamięci, więc mogę coś przekręcić: Do Debounce 0 , Menu, Sub Loop End Sub menu: Do Case 0 Case 1 Locate 1,1 Lcd "Ustaw minuty"...
u8 Yy_dec; // Zmienna pobierana z PCF8583, wartosc od 0-3 (0 - rok przestępny, inne - rok normalny). u8 Mm_dec; // Zmienna numeru miesisca roku pobierana z PCF8583 i skonwertowana z bcd na dec. u8 Wd_dec; // Zmienna numeru dnia tygodnia pobierana z PCF8583 i skonwertowana z bcd na dec (0 - Pon, 6 - Nie). u8 Dd_dec; // Zmienna numeru...
Robił ktoś coś podobnego na AVR-GCC. Nie chcę wymyślać od początku koła :) a znając problem trochę roboty z tym będzie. Dodatkowo dochodzi problem kalendarza (lata przestępne itp.) Datę mam zapisaną w PCF'e PCF8583 więc trzy zmienne typu char. Myślę że trzeba by przeliczyć to na dni, ale co z miesiącami ? No i co z wprowadzaniem drugiej daty, sądzę...
Dzień tygodnia bez problemu, nawet informacje, czy czas jest letni, czy zimowy. Jeśli na początku na początku podpiąłeś $lib "dcf77.lbx" to zostały zdefiniowane zmienne to w Sectic daje [syntax=basic4gl] Sectic: Strtime = Time$ ' z ciagu czas Bsec = Time(strtime) ' oblicz sekundy Strdate = Date$ ' z ciagu data Bday = Date(strdate) ' oblicz numer dnia...
Witam Was! Programuję sobie właśnie mój sterownik do terrarium i napotkałem wczoraj na problem którego nie mogę za Chiny przeskoczyć... otóż wczoraj przed nabrojeniem miałem sobie kod: #include <avr/io.h> #include <util/delay.h> #define F_CPU 1000000UL #include "HD44780.c" #include "config.h" #include "i2c.h"...
Witam, na Atmedze32 i PCF8583 zbudowałem zegarek z kalendarzem wyświetlającym dni i miesiące. Mam problem w momencie, gdy ustawię 31. grudnia. Po przekroczeniu godziny "0", miesiąc zmienia się na 01, natomiast dni na 41. Pozostałe miesiące przeskakują normalnie. Co może być nie tak ? Oto fragment kodu: 1) funkcja wyświetlająca czas i datę na LCD void...
Witam. Buduje zegar na procku AT90S8515 i z układem pcf8583. Po odczytaniu rejestrów sekund, godzin, dni, i miesięcy okazuje się że wszystkie zawierają wartość 165. Wraz z upływem czasu wartośc ta się nie zmienia. Może macie jakieś pomysły jak go zmusić do poprawnego działania.
Witam, mam problem z programową implementacją I2C. Po zczytaniu godziny z PCF'a pokazuje mi same zera i nie zlicza czasu. oto kod programu: #include <p18cxxx.h> #include <stdio.h> #include <delays.h> #define SDA TRISAbits.TRISA3 #define SCL TRISAbits.TRISA4 #define SDA_IN PORTAbits.RA3 #define SCL_IN PORTAbits.RA4 void i2c_init (void)...
Mam w projekcie Atmegę128 + PCF8583 + kilka układów I2C (3xADS1110, AT24c1024), dodatkowo dołaczam dwa moduły z Atmega64 każdy. Chcę, aby każdy z mikrokontrolerów odczytywał czas bezpośrednio z PCF8583. Teoretycznie arbitraż jest możliwy, ale u mnie to nie chce prawidłowo działać - zawiesza się komunikacja i programy "stoją". Do testów zostawiłem w...
Skoro program utyka w jakimś miejscu to znaczy że czekasz w pollingu na stan, który się nie pojawia. Po pierwsze dodałbym time out, który przerwie pętlę oczekiwania zanim układ zostanie zresetowany przez watchdog. Zapis nie jest w pętli, struktura programu wygląda tak: Skoro na magistrali nie ma innego mastera to należałoby wysłać ponowny warunek startu....
Witam chciałem się pobawić rtc tzn PCF8583P przepisałem z ksiażki Dolińskiego program i co :) na wyświetlaczu sekundy idą dobrze ale zamiast godzin i minut jest takie coś np"3?:??:12" jaka jest przyczyna takiego zachowania? Podaje niżej kod #include <progmem.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/io.h>...
A jak wyeliminować mruganie w C? Mam multipleksowanie 6 wyświetlaczy LED i obsługę jednego DS'a. Mój kod programu: #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> #include <avr/signal.h> // definicje SIGNAL, INTERRUPT #include <avr/interrupt.h> // funkcje sei(), cli() #include "pcf8583.h" #include "kbd.h" u08...
Przy PCFie masz kondensator 22pF. Zalecał bym w tym miejscu trymer, żeby móc wyregulować częstotliwość działania generatora, a co za tym idzie dokładność pomiaru czasu. Z doświadczenia wiem, że takie regulacje są konieczne jeśli nie chce się co trzy dni nastawiać zegara.
Wyżej już cały kod działający OK Dzięki serdeczne za odpowiedź uporałem się już z tym pozostało wykrywanie zera i regulacja obrotów silnika tutaj jestem zielony jak zrobić regulację obrotów :cry: [syntax=basic4gl]I2cstart 'inicjacja magistrali I2C I2cwbyte 162 'podaje adres dla zapisu PCF8583 I2cwbyte 2 'wybieram drugi rejestr(sekundy) I2cstart 'powtarzam...
Witam Chciałem jako element dodatkowy oprócz pomiaru temperatury i zapisu na kartę SD dodać kalendarz z numerem dnia tygodnia ( później zamienić numer dnia na nazwę dnia ) Niestety jakbym nie próbował, to cały czas wyświetla 0. Odczyt Sub Gettime() I2cstart I2cwbyte 162 'Wysyła adres odczytu urzadzenia (162 (0xA2) układu PCF8583)...
A co najlepsze.....PCF8583 wie nawet kiedy są lata przestępne. pozdrawiam.
UFF udało się i działa ale dodatkowo w bajcie Control/status trzeba było ustawić bit 3 ustawić na zero wtedy pokazuje pozycje 5 i 6 niemaskowane i widać rok . Czy instrukcja shift right bedzie najlepsza do rozdzielenia dnia od roku ? WIELKIE DZIĘKI
Odczytuje tą procedurką czas z pcf i jest ok oprócz nr dnia tygodnia który po minięciu północy się nie zmienia. Sprawdzałem ja kilkukrotnie ale nie mogę znależc błędu. W zmiennej dzientygodnia powinien być ten numer dnia ale tam jest zawsze 0 Sub Czytaj_pcf8583 Local Pomocnicza As Byte I2cstart I2cwbyte &HA0 'Adres PCF8535 = 160 I2cwbyte 2 'select control...
No przecież miesiące ładnie maskujesz ;) więc i dni musisz zamaskować: dni = bcd2dec( bufor[dd] & 0x3F );
Witam, poniżej zamieszczam kod z Bascoma mojego sterownika BMS, w tej chwili kontroluje temperaturę, czas, Rs232, LCD 2x16. Obsługa z klawiatury lub pilota RC5, w obecnej chwili rozwiajm go o dostęp przez internet. zajmuje ok 8kb pamięci więc w A162 będziesz miał jeszcze drugie tyle pamięci. Ja kożystam z A32 Pozdrawiam. PS. daj znać jak zakończysz...
Czy ktoś mógłby podpowiedzieć jak poprawić definicje tablicy z którą mam problem w tym kodzie lub utworzyć zastępującą ją prosta funkcję przechowującą zmienne. Dodano po 1 Zajrzałem jeszcze do książki i pomyślałem że może taka zmodyfikowana struktura rozwiązała by mój kłopot ale w niej też coś nie gra...to cześć kodu [syntax=c] //********** definicje...
Tak wygląda mój sposób na odczyt PCF-a: [syntax=c] //odczyt 6 bajtów do bufora od adresu 0x01 z pamięci RAM naszego RTC I2C_read_buf( PCF8583_ADDR, 0x01, 6, bufor ); //4 sekundy = bcd2dec( bufor[ss] ); minuty = bcd2dec( bufor[mm] ); godziny = bcd2dec( bufor[hh] ); dzien=( bufor[dz] ); miesiac=( bufor[msc] ); //zerujemy 6 ostatnich bitów w których pamiętany...
Witam. Mam pytanie dotyczące PCF8583. Chodzi mi o odczyt dnia, miesiąca, dnia tygodnia i roku. Wiem, że dzień i rok są pod adresem 5 a miesiąc i dzień tygodnia pod 6. Dostęp do nich ustawiamy bitem w rejestrze kontrolnym. A czy da się jednocześnie odczytywać wszystkie te cztery wartości? Próbowałem odczytywać rok i dzień tygodnia a później ustawiałem...
Zmieniłem tak, wyzerowałem zegar, bo ma podtrzymywanie bateryjne, czyli data była 01/01, ustawiłem godz. 23:59 i po zmianie data jest 02/21, pojęcia nie mam czemu tak, ciągle jakieś dziwne cyfry w tym miesiącu. Następna zmiana to 03/41, czyli miesiąc zmienia się z każdą zmianą dnia o 20, tylko czemu?
Witam Stopniowo rozbudowując o kolejne konfiguracje układ chciałbym mieć możliwość ustawiania parametrów zegara przez pilota ( w sumie to bardziej wygodne i nie zabiera wyprowadzeń uC ). Mam program z menu działającym na przyciskach, zastosowałem flagi, gdyż sprawdzanie tylu wersji warunków niepotrzebnie zagmatwałoby kod. Zostawiłem obsługę przez przyciski...
Ja tylko podpowiem, że zamiast baterii wystarczyłoby jakiś większy kondensator i parę godzin/dni wytrzyma bez zasilania :)
witam napisałem program zegarka na pcf8583 .Wszystko jest dobrze ale wywala mi błąd 229 ale nie pisze gdzie czyli w jakiej lini . Piszę w bascomie mam 13 lat i zaczynam programowanie $regfile = "attiny2313.dat" $crystal = 8000000 '---------------------------------------... 'konfiguracja Config Lcd = 16 * 2 'LCD Config Sda...
ret=twi_start(Dev_Addr+TWI_WRITE)... if (ret) { twi_stop(); } else { twi_write(Seconds_Addr); twi_rep_start(Dev_Addr+TWI_READ)... sek=bcd2bin(twi_readAck()... odczyt rej sekund OK minut=bcd2bin(twi_readAck()&... OK hours=bcd2bin(twi_readAck()&... OK...
hmmm... dla mnie jest dziwny bo dziś go pierwszy raz uruchomiłem :) wysyłam listing programu, jest to przeróbka programu napisanego (przeze mnie :D) dla '4051, która w bascom avr ma być rozbudowana o kilka ciekawych rzeczy :) jeśli ktoś coś wyczaił w moim prgoramie to proszę dać znać :D sam też spróbuję się trochę pobawić... dodam jeszcze, że ustawiony...
[syntax=c] /* * main.c * * Created on: 2014-10-01 * Autor: Dariusz M. */ #include <avr/io.h> #include <avr/wdt.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <util/delay.h> #include "1Wire/ds18x20.h" #include <string.h> #include <avr/eeprom.h> #include "I2C_SOFT/i2c_soft.h" #include "LCD/lcd44780.h"...
Czy jest mi w stanie ktoś pomóc? Próbowałem , myślałem że jest jakiś błąd w adresowaniu zapisu do PCF-a ,ale nic dalej to samo.Nie mogę znaleźć błędu. Zlitujcie sie. Tamten kod u góry jest do bani.Wklejam ten "dobry".Przepraszam za pomyłkę. [syntax=basic4gl] $regfile = "m32def.dat" $crystal = 16000000 Config Lcdpin = Pin , Rs = Portd.2 , E = Portd.3...
Zastosowalem sie do twoich porad "Andy74", zegar z data dziala ale potrzebuje jeszcze wskazan roku. Zamiast &B00001000 wpisalem 8 bo wg. tego co jest w dokumentacji wtedy mozliwy powinnien byc odczyt roku(tak mi sie wydaje) ale u mnie jakos to nie dziala i np. luty ma podczas ustawiania tyle co inne miesiace czyli 31 dni.. Jak zrobic aby automatycznie...
Witam Niestety to nic nie daje. Jak na razie mam trzy sposoby odczytu rejestrów w PCF8563: Dodano po 1 Problem rozwiązałem - maskowanie było w złym miejscu Powinno być: [syntax=basic4gl] I2cstart I2cwbyte 162 I2cwbyte &H02 I2cstart I2cwbyte 163 I2crbyte Sekundy_bcd , Ack 'Odczytuje sekundy I2crbyte Minuty_bcd , Ack 'Odczytuje minuty I2crbyte Godziny_bcd...
W bajcie (6) gdzie zapamiętywany i liczony jest dzień, trzy najstarsze bity określają dzień tygodnia, więc żeby została informacja tylko o dniu , wczesniej należy zamaskować lub wyciąć te trzy najstarsze bity.
Witam. Gdzieś w tym kodzie popełniłem błąd ale pomimo kilkukrotnego sprawdzenia nadal nie potrafię odkryć czy błędnie zapisuje dane czy błędnie je odczytuje...może ktoś mógłby wskazać "usterkę" w tym programie.? [syntax=c] //======================================... int main() { DDRB=0x01; //podświetlenie LCD (reszta...
Napisz dokładniej: czy procesor ma zliczac sekundy..... dni,m-c, rok czy współpracować ze specjalizowanym zegarem np pcf8583. Podaj też gdzie chcesz wyświetlać aktulany czas: wyświtlacz led czy lcd czy też jakiś inny.
A nie lepiej wykorzystać wewnętrzny EEPROM? Przy 100 tys. zapisów pojdedynczą komórkę wykończysz po ponad 300 dniach, ale prosty wear leveling da ci czas życia 100 i więcej lat.
Proszę o pomoc...odczytanie dnia tygodnia tzn czy poniedziałek itd;...druga sprawa zapis dziesiątek i jednostek miesięcy.....niby proste a za chiny zapisać nie potrafię już paluchy bolą od klepania w klawisze żadne przesunięcia bitowe nie działają...odczyt dla miesięcy zdefiniowany tak;a dni tygodnia ???????? { PCF8583=TWI_read(zegar,0x06);...
Witam Od kilku dni próbuje uruchomić programowe TWI dla AT91SAM7S64 oraz PCF8583 na nóżkach PA5 i PA6 nie chce mi to ciągle działać, czy ma może ktoś jakiegoś sampla juz pisałem w poście http://www.elektroda.pl/rtvforum/viewtop... ale jakoś nikt mi nic nie doradził. Z góry dziękuję
Klawiszy jest pięć - kod wkleiłem bez ich obsługi ale to szczegół. menu zorganizowałem tak że dana linia wyświetlacza odpowiada odpowiada umieszczonemu obok LCD klawiszowi oczywiście w większych pionowych odstępach a nad nimi jest klawisz pierwszy mający spełniać funkcję zatwierdź/zapisz. próbowałem już zastosować strukturę na podstawie książki pana...
Zainstalowałem AvrStudio7 , jest ok. Znalazłem część starego kodu ale to tylko szkielet jest niekompletny. [syntax=csharp] //**************************************... // NIXIE CLOCK //**************************************... #include <stdint.h> #include <avr/io.h> #include <stdlib.h> #include <avr/interrupt.h>...
ja właśnie kilka dni temu zrobiłem zegarek na PCF8583 ;) .... trymerka żadnego nie dałem tylko kondensator 22pF i jak narazie gdy zegarek zasilany jest z 5V to późni się max 1s/dobę a gdy nie ma +5V tylko zasilanie awaryjne +3V z baterii to wtedy śpieszy się max 2-3s/dobę. Ale skoro działa raz na tym a raz na tym zasilaniu to to w zasadzie się kompensuje...
Jeśli chciałbyś ustawić weekday alarm to do rejestru 0x08 wpisz 0xa0 tak jak napisales w pierwszym poscie i wtedy w rejestrze 0x0e ustawiasz valid dni tygodnia. Reszte rejestrów wpisz recznie i sprawdz czydzialaja. Powinno byc OK powodzenia
Witam Mam jeszcze pytanie, a właściwie problem dotyczący "dni tygodnia". Z odczytem nie mam problemu. Odczytuje programowo 3 najstarsze bity rejestru o adresie 06H, wysyłam na LCD i wszystko jest OK. Jednak gdy chcę zapisać jakąś wartość do tego rejestru odnoszę wrażenie, że wcale się nie zapisuje, bo zawsze po zapisie mikrokontroler odczytuje z tych...
OK. dzięki za te informacje. Prośba do -) GienekS: czy pamiętasz w których numerach był wspomniany kurs? -) BoskiDialer: jak ugryźć przerwanie i wspomnianą aktualizację rejestrów(dla mnie zmiennych :D ), niestety lektura Datasheet nie pomogła zbyt wiele. Czesiek: Dzienks za upewnienie. Klawo
Zbudowałem sobie zegarek z tiny26 + pcf8583 + wyświetlacz nokia3310. Trochę mało pamięci na znaki i kod programu ale w wersji minimalnej działa poprawnie. Dla ciekawostki dodam, że wyświetlacz działa przy zasilaniu 5V i jeszcze się nie uszkodził (mimo zaleceń na 3.3V). Niestety jak na zegarek naręczny byłby drogi w eksploatacji. Pożera mi 1 baterię...
licznik dzien dzien transferami swiatla jazdy dzien
skoda zestaw pendrive medion fotokomórek testowanie
Dioda zasilania nie świeci mimo sprawnego bezpiecznika Pilot do alarmu Skorpion 2003 - problemy i rozwiązania