سلام . اون مشکل سون سگمنت حل شد. حالا من یه برنامه دارم که ماله راه اندازی سنسور دما ds18b20 و سنسور رطوبت dht22 هست .خواندن رطوبت توسط تایمر 0 میکرو انجام میشه .من سون سگمنت هامو با تایمر 1 رفرش میکنم . وقتی برنامه سنسور رطوبت رو از برنامه اصلی پاک میکنم سون سگمنتهام خیلی خوب کار میکنن و دما رو نشون میدن ولی وقتی برنامه سنسور رطوبت رو به برنامه اضافه میکنم کل سون سگمنتها عدد 0 رو نشون میدن ناگفته نمونه که همین برنامه رو ال سی دی کاراکتری کاملا جواب میده و مشکل فکر کنم ماله تداخل زمانی دو تایمر 0 و 1 یعنی تایمر سنسور روطوبت و تایمر سون سگمنتها باشه . من زیاد با تایمرها کار نکردم و مطمعنم که مشکل برنامم از تداخل تایمرهاست خواهشا یکی کمک کنه از صبح گیرم.
Const Min_time = 48
Config Portc = Output
Config Porta = Output
'Config Portd.7 = Output
Dim A1 As Byte
Dim B1 As Byte
Dim C1 As Byte
Dim D1 As Byte
Dim E1 As Byte
Dim F1 As Byte
'------------DHT22
Dim Num As Byte
Dim Count As Byte
Dim Signaltime(43) As Byte
Dim Humidityw As Word
Dim Temperaturew As Word
Dim Humsens_chksum As Byte
Dim Humiditys As String * 16
Dim Temperatures As String * 16
Dim Strstring As String * 14
Dim Ib As Byte
Declare Sub Read_timings
Declare Sub Humtemp_values
Declare Function Compare_chksum(byval Hsens_humidity As Word , _
Byval Hsens_temperature As Word , Byval Hsens_chksum As Byte) As Byte
'------------------------------------
Dim Arr(9) As Byte
Dim X As Integer
Dim Y As Single
Dim Y1 As String * 5
Dim T1 As String * 5
Dim T2 As String * 5
Dim T3 As String * 5
Dim Ax1 As Byte
Dim Ax2 As Byte
Dim Ax3 As Byte
Dim H1 As String * 16
Dim H2 As String * 16
Dim Bx1 As Byte
Dim Bx2 As Byte
If Chksum = Hsens_chksum Then
Compare_chksum = 1
Else
Compare_chksum = 0
End If
End Function
'----------------------------------------------------
Data_code:
Data &B00111111 '0
Data &B00000110 '1
Data &B01011011 '2
Data &B01001111 '3
Data &B01100110 '4
Data &B01101101 '5
Data &B01111101 '6
Data &B00000111 '7
Data &B01111111 '8
Data &B01101111
سلام
کاش برای این مشکل یه تاپیک جدا ایجاد میکردی.
راستش من تا حالا همزمان از دو تایمر استفاده نکردم و اصول کار با دو تایمر رو نمیدونم در این مورد یه سرچ بزن ببین چیزی دستگیرد میشه.(اگه رو برنامه تم کار بکنی احتمالاً بتونی فقط با استفاده از یه تایمر درستش کنی)
در ضمن تو زیر برنامه سگمنت چرا از دستور wait استفاده کردی؟؟زمانی که از تایمر استفاده میکنی دیگه استفاده از ویت منطقی نیست .دقت تایمر رو کلاً از بین میبره
مجوی درستی عهد زین جهان سست نهاد که این عجوزه عروس هزار داماد است
دیدگاه