KSerg писал(а):Приношу свои извинения за хамство в ветке всем ответившим. ALEX, EDM2007 и даже L.O.D.
И даже мне?!

Счастливого пути!

KSerg писал(а):Приношу свои извинения за хамство в ветке всем ответившим. ALEX, EDM2007 и даже L.O.D.



L.O.D писал(а):И даже мне?! Счастливого пути!

Ну как что - пусть учится.edm2007 писал(а):Ну не умеет человек иначе, чего уж тут поделать.

Дел-то было на два поста при нормальном вопросе и главное, при адекватной реакции. А вышло вон как...KSerg писал(а):поставил вот эти две галки
KSerg писал(а):поставил вот эти две галки
А так конечно правильно, лишним не будет точно.Это ж не наш метод!vem566 писал(а):... перестал трогать оптимизацию совсем.

Код: Выделить всё
Do
I2cstart
I2cwbyte &HD0
I2cwbyte &H00
I2cstart
I2cwbyte &HD1
I2crbyte Seco , Ack
I2crbyte Mine , Ack
I2crbyte Hour , Ack
I2crbyte Dat , Ack
I2crbyte Dat , Ack
I2crbyte Month , Ack
I2crbyte Year , Nack
I2cstop
Seco = Makedec(seco)
Mine = Makedec(mine)
Hour = Makedec(hour)
Dat = Makedec(dat)
Month = Makedec(month)
Year = Makedec(year)
Locate 1 , 5
If Hour < 10 Then
Lcd "0" ; Hour ;
Else
Lcd Hour
End If
Lcd ":" ;
If Mine < 10 Then
Lcd "0" ; Mine ; ":" ;
Else
Lcd Mine ; ":" ;
End If
If Seco < 10 Then
Lcd "0" ; Seco
Else
Lcd Seco
End If
Locate 2 , 3
If Dat < 10 Then
Lcd "0" ; Dat
Else
Lcd Dat
End If
Locate 2 , 5
Lcd "-"
Locate 2 , 6
Select Case Month
Case 1 : Lcd "Jan"
Case 2 : Lcd "Feb"
Case 3 : Lcd "Mar"
Case 4 : Lcd "Apr"
Case 5 : Lcd "May"
Case 6 : Lcd "Jun"
Case 7 : Lcd "Jul"
Case 8 : Lcd "Aug"
Case 9 : Lcd "Sep"
Case 10 : Lcd "Okt"
Case 11 : Lcd "Nov"
Case 12 : Lcd "Dec"
Case Else : Month = 1
End Select
Locate 2 , 9
Lcd "-" ; "20" ; Year ; " "
If Hour = 21 And Mine = 55 Then Set Out_1
If Hour = 21 And Mine = 56 Then Reset Out_1
If Out_1 = 0 Then
Locate 1 , 15
Lcd "ON"
End If
If Out_1 = 1 Then
Locate 1 , 1
Lcd "OF"
End If
Не оттого ли, что у них координаты разные?domrustika писал(а):как только не пробовал в итоге горят обе надписи
А если они и должны быть в разных местах, тогда нужно не только выводить актуальную, но и гасить неактуальную, типа "Locate 1 , 15 / Lcd " "".domrustika писал(а):Код: Выделить всё
Locate 1 , 15
Lcd "ON"
...
Locate 1 , 1
Lcd "OF"
Код: Выделить всё
If Out_1 = 1 Then
Locate 1 , 1 ' гасим OF
Lcd " "
Locate 1 , 15 ' включаем ON
Lcd "ON"
End If
If Out_1 = 0 Then
Locate 1 , 15 ' гасим ON
Lcd " "
Locate 1 , 1 ' включаем OF
Lcd "OF"
End If
Вообще, я был удивлен тем, что они в разных местах дисплея находятся. Ладно бы еще дисплей был 80x25, но на 16x2 обычно место экономят и пишут что-то типа "State: On "/ "State: Off".edm2007 писал(а):Тут либо полное обновление дисплея, либо пробелами затирать.