f
Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/sessions.php on line 548

Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/sessions.php on line 549

Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/page_header.php on line 343
And-Tech :: Zobacz temat - Zegar na EvB 3.0

Strona korzysta z plików cookie w celu realizacji usług zgodnie z Politykš prywatnoœci.

Możesz okreœlić warunki przechowywania lub dostępu do cookie w Twojej przeglšdarce lub konfiguracji usługi.

And-Tech Strona Główna And-Tech
Forum firmy And-Tech

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj  AlbumAlbum  DownloadDownload

Poprzedni temat «» Następny temat
Zegar na EvB 3.0
Autor Wiadomość
mlodygdynia

Dołączył: 22 Lut 2011
Posty: 3
Wysłany: Wto Lut 22, 2011 1:50 pm   Zegar na EvB 3.0

Witam serdecznie proszę o pomoc co może być źle z programem poniżej ze nie odczytuje czasu z PCFa. próbowałem wielu programów z netu i nic nie działa
Dziękuje za pomoc
Kod:

$regfile = "m16def.dat"
$crystal = 16000000

Declare Sub Odczyt
Declare Sub Gettime

Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2
Config Lcd = 16 * 2
Cls
Cursor Off Noblink

Config 1wire = Pind.5

Dim Temp As String * 6
Dim Temp2 As String * 6

Dim T1 As Integer , T2 As Integer
Dim Dsid1(8) As Byte
Dim Dsid2(8) As Byte



Config Scl = Portc.0
Config Sda = Portc.1



Dim S As Byte , M As Byte , H As Byte , D As Byte
Dim Wm As Byte , Yd As Byte


Dsid1(1) = 1wsearchfirst()
Dsid2(1) = 1wsearchnext()

Wait 1
Cls


Do

Call Odczyt
Call Gettime
Wait 1

         Locate 1 , 1
         Lcd "T1" ; Temp ; " " ; "T2" ; Temp2
         Lowerline
         Lcd " Czas: " ; Makebcd(h) ; Makebcd(m) ; Makebcd(s)





Loop
End







'*************  Temperatura   ***********
Sub Odczyt

  1wreset
   1wwrite &H55
   1wverify Dsid1(1)
   1wwrite &HBE
   T1 = 1wread(2)


   1wreset
   1wwrite &H55
   1wverify Dsid2(1)
   1wwrite &HBE
   T2 = 1wread(2)
   1wreset
   1wwrite &HCC
   1wwrite &H44
  Waitms 25

   T1 = T1 * 10
   T1 = T1 / 16
   If T1 > 0 Then
   Temp = Str(t1)
   Temp = Format(temp , "  0.0")
     Else
   Temp = Str(t1)
   Temp = Format(temp , " 0.0")

   End If

   T2 = T2 * 10
   T2 = T2 / 16
   If T2 > 0 Then
   Temp2 = Str(t2)
   Temp2 = Format(temp2 , "  0.0")
     Else
   Temp2 = Str(t2)
   Temp2 = Format(temp2 , " 0.0")

   End If

 End Sub

 '****************** ZEGAR ********************
Sub Gettime



I2cstart
I2cwbyte 160
    I2cwbyte 2
    I2cstart
    I2cwbyte 161

I2crbyte S , Ack
I2crbyte M , Ack
I2crbyte H , Nack

I2cstop
H = Makedec(h)
M = Makedec(m)
S = Makedec(s)

 Waitms 25


    End Sub

Prosze pamiętać o umieszczaniu programów w znacznikach code
Ostatnio zmieniony przez piotr94 Wto Lut 22, 2011 4:48 pm, w całości zmieniany 1 raz  
 
     
piotr94 
Site Admin

Dołączył: 02 Lut 2010
Posty: 606
Skąd: Kraków
Wysłany: Wto Lut 22, 2011 5:06 pm   

spróbuj:
Kod:
$regfile = "m644pdef.dat"
'$regfile = "m32def.dat"
'$regfile = "m16def.dat"

$crystal = 16000000

Config Sda = Portc.1
Config Scl = Portc.0
$baud = 9600


Dim S As Byte
Dim M As Byte
Dim H As Byte
Dim D As Byte
Dim Month As Byte

I2cinit
'inicjalizacja magistrali I2C

Waitms 1

Do
    I2cstart
    'Sygnał START
    I2cwbyte 162
    'Adres zegara do zapisu
    I2cwbyte 2
    'Numer rejestru (wg. dokumentacji tu rejestr nr 2 to rejestr sekund)
    I2cstart
    'Sygnał START
    I2cwbyte 163
    'Adres zegara do odczytu
    I2crbyte S , Ack
    'Odczyt sekund z rejestru 2
    I2crbyte M , Ack
    'Odczyt minut z rejestru 3
    I2crbyte H , Ack
    'Odczyt godzin z rejestru 4
    I2crbyte D , Ack
    'Odczyt dni z rejestru 5
    I2crbyte Month , Nack
    'Odczyt miesięcy z rejestru 6
    I2cstop
    'Sygnał STOP
    Print Bcd(h) ; ":" ; Bcd(m) ; ":" ; Bcd(s)
    Print Bcd(d) ; "-" ; Bcd(month)
   Wait 1
Loop
End
_________________
http://www.piotr94.net21.pl/
 
     
mlodygdynia

Dołączył: 22 Lut 2011
Posty: 3
Wysłany: Wto Lut 22, 2011 8:48 pm   

Dziękuje za odpowiedz
Niestety przy kompilacji wychodzi mi:
"unknown statement i2cinit"
 
     
piotr94 
Site Admin

Dołączył: 02 Lut 2010
Posty: 606
Skąd: Kraków
Wysłany: Wto Lut 22, 2011 8:59 pm   

a jakiego masz bascoma?
polecam wersję 1.11.9.8 lub w ostateczności 1.11.9.5
_________________
http://www.piotr94.net21.pl/
 
     
mlodygdynia

Dołączył: 22 Lut 2011
Posty: 3
Wysłany: Sro Lut 23, 2011 9:11 pm   

Dzięki Piotrze wielki
działa teraz wszystko, miałem stara wersję, dziękuje za pomoc !!!!!!!!!!!!!
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group