| Author |
Message
|
Villen Poziom 18

Joined: 22 Dec 2006 Posts: 484
|
#1
21 Apr 2010 11:04 Bascom, PCF8583 i godzina jako 4 zmienne |
|
|
|
Witam,
standardowy sposób odczytu godziny z PCF'a wygląda mniej więcej tak:
| Quote: |
I2cinit
I2cstart
I2cwbyte 162
I2cwbyte 2
I2cstart
I2cwbyte 163
I2crbyte Sekunda , Ack
I2crbyte Minuta , Ack
I2crbyte Godzina , Nack
I2cstop
|
Program taki zapisuje odczytane wartości sekund, minut i godzin do zmiennych Sekunda, Minuta i Godzina.
Ja potrzebuję jednak rozbić godziny i minuty na liczby oznaczające dziesiątki godzin, jedności godzin, dziesiątki minut i jednostki minut. Kombinuję z tym od wczoraj, ale nie mogę nic wymyślić ;(
Czy ktoś mógłby mi podsunąć choćby małą podpowiedź jak to ugryźć?
|
|
| Back to top |
|
 |
Google

|
#
21 Apr 2010 11:04 |
|
|
|
|
|
| Back to top |
|
 |
tadzik85 Poziom 22

Joined: 28 Feb 2007 Posts: 1637 Location: Bydgoszcz
|
#2
21 Apr 2010 11:11 Re: Bascom, PCF8583 i godzina jako 4 zmienne |
|
|
|
Zamień na BCD i wówczas zapisuj.
Bascom ma gotowe instrukcje w tym celu.
|
|
| Back to top |
|
 |
Google

|
#
21 Apr 2010 11:11 |
|
|
|
|
|
| Back to top |
|
 |
Villen Poziom 18

Joined: 22 Dec 2006 Posts: 484
|
#3
21 Apr 2010 11:18 Re: Bascom, PCF8583 i godzina jako 4 zmienne |
|
|
|
No dobrze, więc tak:
| Quote: |
I2cinit
I2cstart
I2cwbyte 162
I2cwbyte 2
I2cstart
I2cwbyte 163
I2crbyte Sekunda , Ack
I2crbyte Minuta , Ack
I2crbyte Godzina , Nack
I2cstop
Godzina = Makebcd(godzina)
Minuta = Makebcdminuta)
|
Ale to dalej są dwie zmienne, tylko w przypadku kiedy będzie np godzina 8, to wartość zmiennej Godzina wynosiłą będzie 08.
A ja chciałbym mieć to w dwóch zmiennych, np:
godziny_dziesiatki = 0
godziny_jednosci = 8
i minuty analogicznie...
|
|
| Back to top |
|
 |
Google

|
#
21 Apr 2010 11:18 |
|
|
|
|
|
| Back to top |
|
 |
wicy Poziom 18

Joined: 13 Mar 2003 Posts: 562 Location: Łódź
|
#4
21 Apr 2010 12:24 Re: Bascom, PCF8583 i godzina jako 4 zmienne |
|
|
|
Było już sporo przykładów na forum. Sam to wyłuskałem z przykładów konwersji temperatur z DS18b20. Np. cos takiego:
| Code: |
godzina = Makebcd(godzina)
Jednosci = Temp And &B00001111
Shift godzina , Right , 4
Dziesiatki = godzina
|
|
|
| Back to top |
|
 |
Villen Poziom 18

Joined: 22 Dec 2006 Posts: 484
|
#5
21 Apr 2010 18:29 Re: Bascom, PCF8583 i godzina jako 4 zmienne |
|
|
|
A da sie jeszcze prościej, przed chwilą wykoncypowałem ;)
| Code: |
Minuty_dziesiatki = Minuty / 10
Minuty_jednosci = Minuty mod 10
|
Godziny i sekundy analogicznie ;)
Dzięki za pomoc!
|
|
| Back to top |
|
 |