Forum Index

Rules  | Points  | Add...  | Recent posts  | Search | Register | Log in



PCF8583 i problem z konwersja z BCD>BIN>DEC (Codevisio


  Main Page -> Forum Index -> Programming Generally ->PCF8583 i problem z konwersja z BCD>BIN>DEC (Codevisio Post new topic  Reply to topic 
Author
Hide the left column
Show left column Message
yello
Level 10
Joined: 27 Apr 2003
Posts: 15
yello
Level 10
Post#1 09 Mar 2006 22:32  Topic author   

PCF8583 i problem z konwersja z BCD>BIN>DEC (Codevisio


Witam,

Napisalem programik do centralki alarmowej
w Codevision C AVR na ATMega128.
Na plytce centralki jest zegar RTC PCF8583.
Jednym z zadan programu jest wysylanie
aktualnego czasu pobranego z zegara poprzez
Uart do szyfratora z LCD.
Problem polega na tym, ze wbudowane w biblioteki
procedury pobieraja czas z RTC i konwertuja go bcd2bin.
Chcialbym wyslac aktualny czas jako string np. "time: 22:24:58"
Jak narazie uzywam putchar() i wysylam pojedynczo godziny, minuty
i sekundy, a na koncu CR,LF.
Ale na porcie szeregowym w oknie terminala na
PC pojawiaja sie znaki Ascii (#$%-+()0123 itd...) zamiast np. sekund od 0 do 59.
Probowalem uzywac roznych funkcji wbudowanych (np. atoi() - w tym przypadku jednak nic nie jest wysylane) ale wciaz na port szeregowy wysylane sa znaki ASCI odpowiadajace aktualnie
odczytanej z zegara liczbie.
Co robie nie tak ?
Co i na co powienienem przekonwertowac i w jaki sposob ?

Z gory dziekuje za jakiekolwiek podpowiedzi

Pozdrawiam
Bartek

Helpful post? + 0
Back to top

Google Adsense
Google


Back to top
Samuraj
Level 34
Location: Szczecin
Joined: 08 Oct 2002
Posts: 2586
Helped: 259
Post rating: 126
Samuraj
Level 34
Post#2 09 Mar 2006 22:49    

Re: PCF8583 i problem z konwersja z BCD>BIN>DEC (Codev


Ja to robie tak jeśli chodzi o lcd

Code:

// wyswietlenie liczby
void lcd_sendnumber(unsigned int number,unsigned char wyr,char znak)
{
  unsigned char buf[9]="        ";
  ltoa(number,buf);            // zamiana liczby na string (syst. dziesietny)
  if (wyr !=0)
  {
    unsigned char b;
    for (b=wyr;b>1;b--)
      if (buf[b]==' ') lcd_sendchar(znak);   // dodanie spacji na poczatek      
  }   
  lcd_sendstring(buf);           // wyswietlenie na LCD
}


void pisz_godzine(void)
{
  rtc_get_time(0x01,&hour,&minu,&sec,&hsec);
  lcd_sendnumber(hour,2,' ');
  lcd_sendchar(':');
  lcd_sendnumber(minu,2,'0');
}


Helpful post? + 0
Back to top

Google Adsense
Google


Back to top
yello
Level 10
Joined: 27 Apr 2003
Posts: 15
yello
Level 10
Post#3 09 Mar 2006 23:15  Topic author   

Re: PCF8583 i problem z konwersja z BCD>BIN>DEC (Codev


Witam,

Dziękuję serdecznie :))
Juz wszystko dziala tak jak trzeba.
Twoja podpowiedz byla bezbledna i nieoceniona.
Ponizej fragment kodu po lekkim przerobieniu na Uart:


void sendnumber(unsigned int number,unsigned char wyr,char znak)
{
unsigned char buf[9]=" ";
ltoa(number,buf); // zamiana liczby na string (syst. dziesietny)
if (wyr !=0)
{
unsigned char b;
for (b=wyr;b>1;b--)
if (buf[b]==' ') putsf1(" "); // dodanie spacji na poczatek
}
puts1(buf); // wyslanie na UART1
}


void main()
{
while(1)
{

rtc_get_time(0,&h,&m,&s,&hs);

putsf1("time:");

sendnumber(h,2,' '); //wyslij godziny

putsf1(":");

sendnumber(m,2,'0'); //wyslij minuty

putsf1(":");

sendnumber(s,2,'0'); //wyslij sekundy

putsf1("\r\n"); //CR,LF

waitms(1000);
}
}

Helpful post? + 0
Back to top

Google Adsense
Google


Back to top
Piecia
Level 14
Joined: 06 Jan 2007
Posts: 175
Helped: 2
Post rating: 4
Piecia
Level 14
Post#4 26 Aug 2009 19:08    

Re: PCF8583 i problem z konwersja z BCD>BIN>DEC (Codev


Hej
Pewnie temat juz nieaktualny ale jesli ktos jeszcze zaglada to moze mi pomoze:)
A wiec tak : chce wyswietlic ta sama metoda jednak po pobraniu danych z RTC wyswietla mi wartosci wszystkich danych (godz, min, sec) jako liczbe 165. Nie wiem czy problem tkwi w zlym programie czy niedzialajacym RTC??? Prosze o pomoc

dziekuje i pozdr

Helpful post? + 0
Back to top
Post new topic  Reply to topic     Main Page -> Forum Index -> Programming Generally -> PCF8583 i problem z konwersja z BCD>BIN>DEC (Codevisio
Page 1 of 1

Similar topics to pCF8583 i problem z konwersja z BCD>BIN>DEC (Codevisio

konwersja dec na bcd (7)
[C]Konwersja dec na bin lub dodawanie bin (7)
Wyświetlanie konwersja BCD, DEC na LED atmega c++ (2)
[ATmega16][C] konwersja liczby bin na dec (4)
[asm][avr] Konwersja BCD to BIN (3)
Konwersja DEC na U2 w C. (1)
Konwersja HEX na DEC. (1)
Zamiana HEX, BIN na DEC (10)
Konwersja DEC na znak moduł /U1/U2 (1)
konwersja HEX na DEC Prosze o pomoc (3)


Switch to mobile version Switch to version for desktops

Administrator || Moderators || Forum Rules || General Rules || Cookies information || Editors || Contact for companies || Contact

Page generation time: 0.062 seconds