Co robi funkcja bcd_na_dec? Kod powinieneś wstawiać pomiędzy syntax=csharp a /syntax
PCF8583 Coś nie tak, Uszkodzony ? Układ działa. Zczytuje godz., minuty, rok, miesiąc. Jest OK - wyświetla na wyświetlaczu. Jednak jak pobieram rejestr status (00h), control (08h), timer (07h), timer (0Fh) wszędzie mam wartość FFh twi_rep_start(Dev_Addr+TWI_READ)... twi_write(Control_Status_Addr); CTR_Status_00h=(twi_readAck()...
na fuse bitach wyłacz JTAG-a
Witam. Miałem podobny przypadek - ale co jakiś czas były prawidłowe odczyty z PCF-a. Pomogło podłączenie kondensatora między nóżkami zasilania PCF-a. Pozdrowienia - teedd
Nic sie nie dzieje, bo to nie ma prawa działać :D Gdzie rezystory podciągające linie SDA,SCL do plusa? Dostaw tam dwa rezy 10kR... Powinno to rozwiązać problem. Twój program wisi na komunikacji I2C, procek czeka na ACK lub NACK pod koniec transmisji i z powodu braku podciągania nigdy tego nie dostaje...
Witam. Mam problem z ww układem. Otóż udało m się ustawić date i czas w układzie ale przy odczycie najczęściej układ się zacina. Na płytce mam też slot do karty SD, BTM-222 i RFM-12, wszystko działa poprawnie oprocz tego ukladu rtc. Wykorzystuje go tylko do zapisu czasu na karte sd wiec ogolnie za duzo tego nie ma. Układ działa ale tylko raz na 10 razy...
No to jak się zastanawiałeś nad tym, to powinieneś zaskoczyć o co chodzi... Po prostu należy najpierw wyłączyć maskowanie roku i dnia tygodnia (więc zamiast 8 do rejestru 0 wpisać wartość 0), potem odczytać cały bajt, zamaskować niepotrzebne bity w danym bajcie: najpierw rok i odczytać dzień miesiąca, potem zamaskować dzień miesiąca i odczytać rok -...
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...
Złe podłączenie kondensatora spowoduje tylko że zegar będzie leciał szybciej albo wolniej juz nie pamiętam, co nie zmienia faktu że coś powinno się dać odczytać. Proponuje odczytać inne komórki, nie zaglądałem do pdf'a ale może te co czytasz to jest rok albo godzina.
:arrow: max_gg Starałem się koledze Lejk krok po kroku wyjaśnić metodę, a w poście wyżej prosił o łopatologiczny opis. 8) Jeżeli chodzi o maskowanie, to można też je zrealizować w układzie zegara PCF8583 podczas odczytu danych z rejestrów 05H i 06H poprzez ustawienie bitu 3 w rejestrze kontrolnym 00H. Wtedy odczytamy samą datę i numer miesiąca, natomiast...
Ten PCF nie może poprawnie działać. Jest &B10100000 = 160 - adres PCF8583 dla zapisu &B10100001 = 161 - adres PCF8583 dla odczytu danych Powinno być odpowiednio &B10100010 lub 162 -adres PCF8583 dla zapisu &B10100011 lub 163 - adres PCF8583 dla odczytu danych
A jak inaczej czytać PCF-a jak nie przez I2C? Widzę że humor dopisuje :D Otóż, usiądź bo to może Cię zaskoczyć, TWI to sprzętowa, dużo lepsza od programowej, kiedy mamy możliwość skorzystania z dedykowanych pinów, obsługa I2C wbudowana w mikrokontroler. Żeby jej użyć należy ją najpierw skonfigurować dwoma komendami. W przeciwnym wypadku korzystasz...
Rok i dzień tygodnia odczytujesz analogicznie do dnia miesiąca. Wystarczy tylko zmienić numer rejestru PCF przy odczycie i zamaskować niewykorzystywane bity.
Trafiłem na ten temat, bo szukam procedur w asemblerze do PCF8583 , odczyt,zapis (zegar, kalendarz, alarmy). Proszę jeśli ktoś posiada w swoich zbiorach. Spotkało mnie doświadczenie z dziwnym zachowaniem się tego zegara jak wyżej w postach. Problem rozwiązałem programowo, jako że ten pojawiał się sporadycznie. Podaję fragment programu z odczytem zegara...
Wyciąłem tylko obsługę EEPROM bo mi to nie potrzebne. Jak by ktoś mógł by się przyjrzeć to był bym wdzięczny. [syntax=c] /* * main.c * * Created on: 2010-09-07 * Autor: Mirosław Kardaś * * Program korzysta ze sprzętowej obsługi I2C/TWI * Umożliwia zapis danych do RTC oraz EEPROM a także * oczyt z tych urządzeń * */ #include <avr/io.h> #include...
hej koledzy!!! juz jestem:) wielkie dzieki za pomoc - czesciowo juz zegar dziala, mieliscie racje!! zmienilem w kodzie odczytu HD na HA i dziala odczyt ' -------------------- Procedura odczytu czasu i daty -------------------- Clock: I2cstart I2cwbyte &HA0 ' zmienilem z HD0 na HA0 I2cwbyte 2 I2cstart I2cwbyte &HA1 ' zmienilem z HD0 na HA1 I2crbyte...
Już śpieszę z informacjami, cieszę się że ktoś odpowiedział :) Na początek wygląd z PC jest taki: http://obrazki.elektroda.pl/2594549100_1... Kod z Visual Basica 2008: [syntax=vb] Option Explicit On Imports System Imports Microsoft.VisualBasic Imports System.Configuration.ConfigurationSettin... Imports System.Windows.Forms Imports System.IO...
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);...
Dokładnie... Czas mierzy u mnie PCF8583 , procedurka odczytu jest banalna i chyba nie zajmuje nadto procka ...
(at)Regan_3000 Czy któraś z sugestii powyżej rozwiązała Twój problem? Mam identyczny problem. (Jestem na Atmedze16/8MHz) Pisze w C, zegar działa poprawnie gdyż obsersuję na oscyloskopie transmisję danych (zauważam zmianę dziesiątek sekund/sekund/minut w bcd na linii SDA), zapewne coś siedzi w kodzie. (PCF8583 podpięcie: SCL,SDA -> przez rezystory...
Witam. Postanowiłem wreszcie zrobić sobie zegarek do pokoju. Wybór pał na PCF8583 bo już kiedyś z niego korzystałem i wspominam bardzo pozytywnie - nie było żadnych problemów z odpaleniem i komunikacją tylko że to były czasy AT89C2051 i bascoma 8051. Teraz mam w układzie atmege8515 i są spore "jaja" co jakiś czas (godzina czasem pół czasem dwie) dostaje...
Temat zamykam.
Declare Sub Gettime Declare Sub Settime Dim S As Byte Dim M As Byte Dim H As Byte Dim Yd As Byte Dim Wm As Byte Podprogram odczytu pcf8583: Sub Gettime I2cstart 'generate start I2cwbyte &HA2 'write addres of PCF8583 (a0 do plusa) I2cwbyte 2 'select second register I2cstart 'generate repeated start I2cwbyte &HA3 'write address for reading info I2crbyte...
1. Cały układ chodzi na 3,3V, czy tylko PCF8583? 2. Pokaż kawałek kodu odczytu z zegara, może tam jest błąd. 3. DS1307 zamiast PCF8583 jest wiele lepszym rozwiązaniem.
Sprawa rozwiązana. Wysłali mi z hurtowni PCF8563 zamiast PCF8583. Nie zauważyłem tego. Teraz wymieniłem i jest OK.
Witam. Spotkałem się z dziwnym problemem podczas pisania w Bascomie. Otóż, po umieszczeniu na magistrali tych układów w niektórych przypadkach (różni producenci pamięci) brak jest odczytu sekund z zegarka. Zegarek pracuje normalnie, minuty przeskakują ale nie sekundy. Po wymianie pamięci na inny model - Atmela problem znika. Próbowałem zwiększać opóźnienie,...
witam w bascomie odczytuję sekundy z tego scalaczka i w wyniku mam 0,1,2,3,4,5,6,7,8,9,22,23,24,25,32,33,34... .... kawałek kodu odczytującego sekundy : I2cstart I2cwbyte &HA0 I2cwbyte 2 I2cstart I2cwbyte &HA1 I2crbyte S , Ack I2crbyte M , Ack I2crbyte H , Nack I2cstop T = Makebcd(s) co siędzieje ? z kwarcu na plus mam 33pF (bez niego to samo)...
Nie działa mi komenda debounce. Pracuje na ATmega 16 Mam podłączone przyciski do uC pod piny A0, A1, A2, A3, A4, A5. Przycisk natomiast jest podłączony pod mase układu. W programie podciągłem rezystory takim sposobem: Set PORTA.0 ............. a program wygląda tak do ...... instrukcje odczytu czasu z PCF8583 instrukcje odczytu z temp. z DS1820 ..........
Nie analizowałem dokładnie kodu, ale na pierwszy rzut oka brakuje mi ustawienia częstotliwości taktowania magistrali (rejestr TWBR i bity TWPS1:0 w rejestrze TWSR). Maksymalna częstotliwość taktowania SCL układu PCF8583 to 100kHz. Nie napisałeś jaką częstotliwością jest taktowany procesor. Po starcie procesora te rejestry są ustawione na wartość 0 i...
Hej mam ten sam problem.. poradziles sobie juz z tym???
Witam wszystkich serdecznie, Chciałbym prosić o pomoc w analizie błędów inicjalizacji i komunikacji z zegarem RTC, który wszyscy znają. Chciałbym przedstawić kod, który nie działa - opisać objawy i spytać o parę rzeczy, które mnie nurtują. A więc do rzeczy. Najpierw Kod: [syntax=c] #define PCF8583_ADDR ((uint16_t)(0x50)) #define I2C_SCL GPIO_Pin_6 #define...
dziala kwarc pcfa był padnięty dzięki
... W takim wypadku czy rejestr daty/roku to wg pdfa 05H ale mnie jednak to nic nie mowi:( Kolejny raz wołam o pomoc... Jeżeli masz kłopot ze zrozumieniem co zawierają rejestry 05 i 06 , to ustaw w rejestrze kontrolnym(adres 00) bit nr.3(mask) i wtedy Twój kod zadziała - pomiń odczyt Year.Zmianę roku , musisz załatwić wyłącznie programowo. Piotrek
ja niedawno odpaliłem rtc na twi i działa świetnie na stronie radzio.dxp.pl są podane procedury do twi sprawdzałem je i działają nie wiem czy wiesz ale PCF w przeciwieństwie do eeprom adres+1 to odczyt więc jeśli masz adres A2 to do niego zapisujesz a z pod A3 czytasz
Zawsze jak wchodzisz w przerwanie np.On Timer lub w podprogram sub procesor odkłada zawartość pewnych rejestrów na stos (co zajmuje mu ileś us) a po przerwaniu (lub sub-ie) zdejmuje ze stosu (co znowu zajmuje czas). Rachunkowo wygląda wszystko dobrze w programie-ale tylko gdy procesor chodzi z nieskończoną prędkością. A chodzi ze skończoną. A-w tych...
Użyj sprawdzonych bibliotek do zegara. Pamiętaj o rezystorach podciągających. [syntax=c] void TWI_inicjacja(void) { // Czestotliwosc TWI(i2c) = 100kHz (max 100kHz) -> atmega8 taktowana wewnetrznie 8MHz (RC=8MHz) // ----------------------------------------... /* TWSR = TWS7 TWS6 TWS5 TWS4 TWS3 - TWPS1 TWPS0 */ TWSR =0b00000000; // Preskaler =...
Tu masz kody źródłowe do interfejsu I2C, może tam coś znajdziesz. Pozdrawiam. http://www.programmersheaven.com/downloa... http://www.phanderson.com/jkmicro/8583_1... Układ PCF8583 jest widoczny pod adresem 80D (50H) magistrali I2C. Ponieważ najmłodszy bit adresu I2C określa typ operacji (odczyt/zapis) wiec układ PCF8583 jest “widoczny”...
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"...
Eh już nie mam siły problem pojawił się znowu, teraz czasem odczyt jest wporzadku a czasem nie. Nie wiem co mam z tym zrobić? Dodam ze problem jest raczej z odczytem PCF8583, pamięć 24C04 zdaje się być odczytywana normalnie? Miał ktoś kiedyś podobny problem? I jeśli tak to jak go rozwiązał? Zastanawiam się nad zmiana adresu pamięci 24C04, tak żeby była...
Ja tylko dodam, że trzeba sobie popatrzeć do dokumentacji DS1307 i porównać jego rejestry z rejestrami w PCF8583.
Bardzo Ci dziękuję za przejrzyste wyjaśnienie jak czytać te rysunki i wreszcie wszystko jasne :) Co do PCF8583, to: Dla pinu A0 podciągniętego do VCC ZAPIS - 162 ODCZYT - 163 Dla pinu A0 podciągniętego do GND ZAPIS - 160 ODCZYT - 161
Ja czytam co sekundę, nie zauważyłem żeby występowały opóźnienia tego rzędu. Przyrząd z takim RTC, po kilku (kilkunastu?) dniach ma wskazanie różne o kilka minut, ale żeby 2 godziny na kilka godzin, to nie zdarzyło mi się. Dodano po 7 Przepraszam, dopiero teraz doczytałem, że chodzi o PCF8563. Ja używam PCF8583.
W skrócie powiem tak: R E W E L A C J A !!! oby więcej takich ,,Nauczycieli" !!! :D Z góry dziękuję za rewelacyjne wytłumaczenie całej obsługi zapisu i odczytu PCF8583 no i oczywiście czekam(y) na dalsze informacje w sprawie ustawienia alarmów - dla mnie osobiście rok w pcf-ie był największym problemem :) ale po takim szczegółowym wyjaśnieniu już nie...
Tutaj problem polega na tym, że trzeba maskować sekundy, minuty i godziny. W PCF8583, jest to rboione automatycznie.
Klas tu nie uświadczysz. Najpierw zapisujesz do pcfa jakieś wartości a potem odczytujesz te same. Wklej cały program.
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...
Pomogło - program nie jest uwięziony w pętli, komunikuje się z PCF i wyświetla poprawne informacje - na razie tylko sekundy, mam nadzieję, że z dalszą rozbudową nie będzie problemów, jak jednak się pojawią zwrócę się o pomoc. Dzięki wszystkim za wszystko i pozdrawiam :).... kod po przeróbkach: ldi r21, 160 ' adres zapisu PCF8583 (A0 = 0) ldi r22, 161...
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...
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...
(at)piotrva, doczytałem o tym zasilaniu, po prostu nie chciało mi się przerabiać swojego schematu i wrzuciłem go jedynie "poglądowo" ;-) Nadal uważam, że R7 i R3 są za małe... po co Ci taki prąd przez diodę? zwłaszcza jak oszczędzasz prąd. R6 powinno być w okolicy 4,7k. Jeśli sam będziesz wymieniał baterie i nie boisz się ryzyka odwrotnego ich włożenia...
Rozumiem że odczyt pcf8583, po prostu daje same zera , tak ? Po pierwsze : czy ra3 i ra4 nie są pinami w trybie analogowym ? (rejestr ADCONx) Według mojego rozumienia a nieznajomości C, ten fragment : #define SDA TRISAbits.TRISA3 #define SCL TRISAbits.TRISA4 #define SDA_IN PORTAbits.RA3 #define SCL_IN PORTAbits.RA4 powinien być tak : #define SDA_IN...
Witam. Zacznij od odczytu. Masz może podpięty wyświetlacz ? Byłoby łatwiej testować. Tu przykładowy podprogram odczytu zegara sprawdzony i działający. Wyświetla na LCD Sub Odczyt_czasu I2cstart I2cwbyte 162 I2cwbyte 2 I2cstart I2cwbyte 163 I2crbyte S , Ack I2crbyte Mn , Ack I2crbyte H , Nack I2cstop cls Lcd "time " ; Bcd(h) ; ":" ; Bcd(mn) ; ":" ; Bcd(s)...
Witam. Patrz komentarze które dodałem do Twojego listingu: $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.3 = Input 'pinb.1 jako wejscie Config Pinb.2 = Input 'pinb.2 jako wejscie Config Lcd = 16 * 2 'jaki zostal podlaczony wyswietlacz LCD Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4...
Witam Na początek to //Porty: PC0(SCL) PC1(SDA) -> wejścia TWI DDRC =0b11111110; PORTC =0b11111101; skoro porty PC0(SCL) PC1(SDA) to wejścia TWI , ja bym je ustawił tak //Porty: PC0(SCL) PC1(SDA) -> wejścia TWI // 1 -> wyjście // 0 -> wejście DDRC =0b11111100; // 1 -> z podciągnięciem do VCC (pull-up) // 0 ->...
Witam. Napisałem w Bascomie prosty program do odczytu 2 termometrów DS1820 i PCF8583 - właściwie jest to zarys gotowych procedur. Niestety przy kompilacji wywala mi masę wewnętrznych błędów - Internal Errors w ostatniej linii. GDZIE ROBIĘ BŁĄD? Zmniejszałem liczbę zmiennych typu Byte (chyba jest ich zbyt dużo więc zmniejszyłem rozmiar tablicy Adresy)...
Sprawdź dokładnie adresowanie - odczyt i zapis. Problem na pewno leży gdzieś tam.
Czesc. Poszukuje pomocy na temat zapisu, zamiany i odczytu roku w RTC PCF8583 Jest tam zapis roku w postaci 0, 1, 2 i 3. Tylko takie wartości można wpisać. A jak ma to się do roku w postaci 2005, zakladajac tylko ostatnie dwie cyfry 05 powiedzmy w formacie BCD. Jak taką wartosc zapisac w w rejestrze PCFa.
Dlaczego chcesz odczytywać czas w przerwaniu? Przerwanie powinno być jak najkrótsze. Odczyt danych z pcf-a zrób w pętli głównej a przerwanie wykorzystaj tylko do migania kropką.
nie szukaj błedu w procedurze odczytu, to sam układ zegarka szwankuje. pierwsza rzecz jaką wykonaj to podłącz zasilanie do 8583 przez diode krzemową, i dodaj kondensator tantalowy 10mikro. ostatecznie może być elektrolityczny. jeżeli to nie pomoże (u mnie zawsze wystarczyło) to wymien rezonator kwarcowy przy układzie zegarka. częstotliwość mikrokontrolera...
pcf_pinread(unsigned char adres_pcf, unsigned char pin) { unsigned char stan_portu; unsigned char signal; stan_portu = pcf_portread(adres_pcf); stan_portu >>= pin; signal = (stan_portu & 1); return signal; } Właśnie nie odczytuje w przerwaniu, odczyt PCFa jest ustalony w pętli głównej w której jak narazie jest...
Jeżeli połączyłeś tak jak na schemacie, to używasz złych adresów. Zamień $A0 na $A2, a $A1 na $A3. Jeżeli chcesz korzystać z adresów $A0 i $A1, to nogi układu (A0) musisz podpiąć GND, a nie VCC.
Witam Niedawno zacząłem programować w C, jako kompilatora używam Ride firmy Raisonance. Mam mały problem który jest dość ciężki do opisania ale spróbuje. Otóż... Napisałem program do odczytu zegarka pcf8583 i wyświetlania czasu na wyświetlaczu... a że program był dość długi to podzieliłem go na "moduły" - obsługi wyświetlacza, i2c, odczyt czasu... itp....
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"...
To ma być sterownik ogrzewania i docelowo ma obsługiwać większą liczbę czujników, z tego względu zależy mi na tym aby to przerwanie inicjowało konwersję temperatury. Nie chcę programu głównego zatrzymywać na czas oczekiwania na konwersje, a w pętli głównej chcę umieścić jeszcze kilka innych zadań jakie ma spełniać układ. Zdziwiło mnie tylko zachowanie...
Rozumiem..fakt przesadziłem z tym kodem.....przepraszam......w sprawie wcięć to proszę o weryfikację czy tak ma wyglądać...to wyrwany z całości kawałek... //***** MAIN int main() { DDRA=0xC0; //jakieś ustawinie portów //***** LCD init LCD_menu init LCD_Initalize(); _delay_ms(200); //***** ADC init //***** TWI init while(1)...
Dzieki Panowie za podpowiedzi ,mam problem z ustawieniem konkretnej godziny bo do pcfka musi byc godzina zapisana w formacie BCD,i jak zastosuje cos takiego Zwiększaj/zmniejszaj binarną , a dopiero po tym rób z tego BCD. H = 21 'dwudziesta pierwsza if pinc.2=0 then incr h end if H=Makebcd(h) 'w H znajdzie sie wartość &H22(binarnie 34)...
O kurcze rzeczywiście.Nie przyglądałem się tej bibliotece.Więc tak: Zamiast definicji "i2cwbyte" ---> Zmienne Byte_offset, Error, minuty i godziny DIM Byte_offset as byte(czyli jako bajt) dim error as byte.Dobrze myślę? EHHHh.Mimo tego że mam zdefiniowane te zmienne jako byte, mam błędy na offset i error. [syntax=basic4gl]If S6 = 0 Then Sub Displayalarm()...
Witam. Czy można podłączyć 3 M16 do jednego PCF8583? Chodzi o to by 3 zegary w różnych częściach domu działały jednakowo. Miały odczyt z jednego zegara PCF. Myślałem o połączeniu równoległym linii SDA i SCL, czy to ma szansę działać?
Sprawa załatwiona, w procedurze odczytu brakoiwało mi ustawienia portu danych w stan wysoki, przez co procek siłą rzeczy musiał odczytać same zera. moglbys sie podzielic swoja poprawiona procedurka odczytu ? bo wlasnie przezywam podobny problem.
Włączając maskowanie sprzętowe w pcf wyłączasz możliwość odczytu dnia tygodnia... Musisz to wyłączyć i ręcznie maskować za pomocą And i przy zapisie Or
Co ile masz przerwanie od timera bo jak się domyślam stan klawiatury odczytujesz kilkadziesiąt razy na sekundę?? Napisze to po raz kolejny: Wywal odczyt po IIC klawiatury z obsługi przerwania!!! I rób to tak samo jak odczyt czasu w programie głównym na podstawie flagi. Po drugie po co odczytujesz za każdym razem czas z PCF'a??? Skoro masz przerwanie...
Żeby zrobić menu - potrzebujesz dodać kolejne funkcje obsługi odczytu i wyświetlania temperatury. Obsługę wyświetlania i poruszania się po menu itd. Ponadto istniejącą procedure obsługi PCF musisz rozszerzyć o procedury odczytu i zapisu daty oraz obsługę budzika. Kolejna sprawa to wprowadzenie przerwań. Tzn. Ustawiasz w PCF odpoowiednią datę budzika...
Witam Na szynie I2C podłączoną mam kość PCF8583 oraz pamięć 24C64. Wykonuję zapis do pamięci a następnie odczyt. Jednak podczas zapisu następuje przekłamanie danych. Np zapisuję wartość 35 do pamięci a w rzeczywistości zapisana zostaje wartość 32 lub 33. Gdy odłączę od szyny I2C PCF8583 problem znika. W czym więc leży problem? Bardzo proszę o jakieś...
Witam wszystkich, mam problem z wyświetlaczem LCD DMF5005N, podczas wyświetlania czegokolwiek na LCD, pojawiają się na nim oprócz poprawnych informacji także śmieci - pojedyncze i podwójne piksele. Program pracuje w pętli - odczyt czasu z PCF8583, a ilość niechcianych pikseli zwiększa się sukcesywnie do pewnego momentu, za każdym razem są to te same...
Bardzo fajny projekt, Super Ci to wszystko wyszło. Ogólnie od jakiegoś czasu jestem wielkim fanem SMD, Większość układów tańsza, dużo mniej miejsca potrzeba, brak wiercenia tylu otworów... U Ciebie jest sporo miejsca więc jest ok. Dlaczego obsługę dnia, miesiąca, roku i dnia tygodnia zlecasz EEPROMowi? On ma bardzo mało cykli zapisu/odczytu a PCF8583...
W dataszitach do AVRów ze sprzętowym TWI są przykłady podstawowych operacji (zapis, odczyt) w asemblerze .
Udało mi się uruchomić i pobrać sekundy z PCF8583P! Wasze porady były bardzo pomocne, problemem był zły adres i brak ustawienia częstotliwości TWI. Udało się odczytać sekundy, ale nie udało mi się odczytać minut, nie wiem czemu. Tak odczytuję sekundy: [syntax=c]unsigned char PCF8583_read_unity_of_seconds() //jedności sekund { unsigned char czasPCF8583;...
Akurat z C dla mikrokontrolerów to jestem cienias ale widzę, że w main.c jest zdefiniowana funkcja ustawiania zegarka a Ty jej nie wywołujesz. Od razu zaczynasz od odczytu a przecież zegarek PCF8583 po załączeniu zasilania nie chodzi i ma w rejestrach raczej przypadkowe wartości (o ile sobie dobrze przypominam). Jeśli chcesz sprawdzić, czy mam rację...
Dziękuje że miałeś czas i ochotę patrzeć w te bazgroły Buzzer przetestuje DS18B20 rezystor 3.3k dobrany doświadczalnie przy 4,7k różnie bywało z odczytem długa linia kilka Ds-ów PCF8583 poprawię i zabieram sie za zmianę schematu
W dokumentacji 24c02 jest podany adres 160-zapis, 161-odczyt z bloku pierwszego, 162-zapis do bloku drugiego a 163-odczyt z bloku drugiego.... wiec jak mozna zapisywac do drugiego bloku jak pcf8583 ma adres 162 ????moze mi to ktos wyjasnic....
Korzystanie ze sprzętowych timerów do generowania taaaak długaśnego odcinka czasu 1Hz to po prostu istne marnotrawstwo by było niestety. Sam sobie podpowiadasz i dobrze, że masz na wyjściu PCF8583 generowany 1Hz - nic tylko podłączyć go pod jakieś przerwanie INTx i masz w procku 1Hz a jeszcze możesz go pięknie wykorzystać do odczytu czasu z PCF'a i...
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...
Wykonuję Kolejno czynności: -Inicjuję I2C (I2C_Init) - Wysyłam START transmisji i adres układu z 1 na końcu czyli zapis (I2C_SendStartAndSelect) - Wysyłam adres rejestru do odczytu (I2C_SendByte) - Wysyłam START transmisji i adres układu z 0 na końcu czyli odczyt (I2C_SendStartAndSelect) - Odczytuję dane z rejestru I2C_ReceivData_NACK(); Zapis to 0...
Witam. Koledzy czy można podłączyć zegar PCF8583 do portu SPI procesora który obsługuje na tym porcie kartę pamięci? Jeśli się da to czy wystarczy na czas odczytu lub zapisu PCF-a konfigurować porty SCL SDA a później obsługiwać kartę pamięci. Czy trzeba ją będzie inicjować za każdym razem?
w jaki sposób rozwiązujesz rok w 8583 ? Jak "rozwiązuję rok" ;) to dość trudno tak w kilku zdaniach wytłumaczyć, chociaż sprawa generalnie jest prosta... Może więc zamiast się rozwodzić, pozwolę sobie wkleić dobrze (mam nadzieję) skomentowane fragmenty swojego programu. ' ****************************************... 'Odczyt:...
No i kurczę działa. A wcześniej się męczyłem i lipa. Dzięki wielkie za pomoc. Musiałem zmienić nieco docelowy soft. Zastosowałem Gosub Getdatetime Day_nr = Dayofweek() I mam teraz zarówno odczyt godzin, minut i dnia tygodnia. Super dzięki. Później przetestuję w gotowym urządzeniu, bo na biurku działa dobrze.
Witam, mam taki problem mały. Gdy odczytuję czas z uC to na LCd czas ten mi tak szybko miga że nie można tego odczytać. inne rzeczy natomiast są dobrze widoczne a są w tej samej lini na wyświetlaczu. zmian waitms też nie pomaga.
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 =...
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ę...
no ale teraz problem u Ciebie jest taki że Twoja pamięć już jest prawdopodobnie uszkodzona. Jej żywotność gwarantowana to 100 000 cykli zapisu. Szacuje że Twój program główny to jakieś 1000 cykli (zawyżam wartość) uC. Jeżeli taktujesz uC z 8MHz, to zabijesz pamięć po 12,5s. Takie rzeczy jak potrzebujesz robi się na pamięci RAM z podtrzymaniem bateryjnym...
Powtórna inicjalizacja (sygnał START) wymagany jest tylko w momencie w którym Master zapisuje do układu adres rejestru z którego następnie chce odczytać wartość (FIG. 17 z dokumentacji). W przykładzie z pierwszego postu powtórna inicjalizacja podyktowana była "cechą" układów na I2C - automatyczna inkrementacja licznika rejestru. Jeśli wpisujesz wartość...
Kompiluje się, ale znalazłem już rozwiązanie na stronie autora biblioteki której używam ,jednak temat pozostawiam otwarty(jeszcze odczyt daty który jest dosyć dziwny :D) Pozdrawiam Gbr3
Pierwsze co rzuciło mi się w oczy po spojrzeniu do datasheet do adresy do zapisu/odczytu. W kodzie masz odczyt-A1, i zapis- A0. PCF8593T korzysta z adresów: odczyt-A3, zapis A2.
Posiadam Help'a po polsku a notę katalogową po angielsku tylko nie rozumiem jak ma być odczyt godz z tego pcf'a jak wyświetlić informacje przesłane za pomocą I2C.
Chciałem uzyć RTC jak w temacie. Wszystko pieknie i ładnie tylko ze jest jeden problem nie wiem czemu ale ukłądzk ten zlicza 2x za szybko (tzn incrementuje minute co 30s). Uzyłem nowego kwarcu 32,768KHz Umieszczem lisning programu w Bascomie.Dziwne jest to ze zegarek chodzi akurat 2 x szybciej, gdyby był kwarc uszkodzony to raczej by wcala nei działało...
http://obrazki.elektroda.pl/7884479900_1... Czy może ma ktoś pomysł na zegar RTC PCF8583, gdyż walczę z programem od kilku dni i nie mogę sobie z nim poradzić. Zrobiłem sobie zegarek na w.w. układzie i zamiast czasu wyświetla mi same znaki zapytania. Temperatura jest wyświetlana poprawnie. PCF działa poprawnie gdyż generuje na wyjściu...
Tak, na 100% ( zerknij na fusebity ). Tak jak napisałem wcześniej dodanie zewnętrznego epromu 24c02 robi problem - pamięci podmieniałem i dalej to samo http://obrazki.elektroda.pl/6675331400_1... Dodano po 5 może źle zainicjowałem I²C ? ale przecież PCF8583 chodzi, a adresy zapisu i odczytu z epromu są wg. mnie dobrze
Układ RTC możesz zastąpić bardzo popularnym PCF8583 który także chodzi po magistrali I2C oczywiście po odpowiednim zmodyfikowaniu programu i PCB :) Zmiana oprogramowania akurat w tej części odpowiedzialnej za prawidłowy odczyt czasu z RTC nie powinna być trudna.
Witam. Od jakiegoś czasu noszę się z zamiarem usprawnienia zegara który jest na PCF8583. Ostatnio wpadł mi w ręce odbiornik DCf a właściwie to budzik z uszkodzonym LCD. Przeglądając sieć, znalazłem informacje na temat zegarów z DCF77 z podstawowym czasem na timerach. Chciałbym dołożyć DCF77 do zegara, który ma PCF8583. I tu moje pytanie do Was. Czy...
Mam zamiar dolaczyc ten uklad do 89c51 no i mam kilka pytan :) Nie jestem pewien (bo z angielskiej noty katalogowej malo zrozumialem)ale do poprawnej pracy uklad potrzebuje zasilania 1,5v tak? I jeszcze problemem dla mnie jest jak wprowadzic czas,date do ukladu? Posiadam tylko programator, nic wiecej. Program pisze pod bascomem (dokladniej to nie pisze...
odczyt pcf8583 pcf8583 odczyt czasu pcf8583 asembler
komputer roweru stacjonarnego filtr cząstek stałych turbinka junkers
delphi f250fl stabilizator ld1117ag
Lokalizacja bezpieczników tylnej wycieraczki Opel Astra J Odcinanie prądu do bezpiecznika tylnej wycieraczki Opel Astra J