 
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięsaa6588 obsługa w BASCOM AVR
Moderatorzy:Jacek Bogusz, procesorowiec, r-mik, Moderatorzy
Witam wszystkich mam problem nie umiem obsługiwać układu saa6588 w bascomie.
Nie mam pojecia jak się do tego zabrać nie znam angielskiego wjęc nie wiem o co chodzi za bardzo w dokumentacji.
Byłbym wdzięczny jak by mi ktoś coś podpowiedział jak to obsługiwać najlepiej jakiś kawałek kodu albo troche informacji jak się za to zabrać.
Chciałbym odczytać nazwę stacji i nazwe wykonawcy utworu nie będe kożystał z innych funkcji.
			Nie mam pojecia jak się do tego zabrać nie znam angielskiego wjęc nie wiem o co chodzi za bardzo w dokumentacji.
Byłbym wdzięczny jak by mi ktoś coś podpowiedział jak to obsługiwać najlepiej jakiś kawałek kodu albo troche informacji jak się za to zabrać.
Chciałbym odczytać nazwę stacji i nazwe wykonawcy utworu nie będe kożystał z innych funkcji.
Re: saa6588 obsługa w BASCOM AVR
Widze że nikt nic nie wie na ten temat albo nie chce powiedzieć może jak pokaże co udało mi się zdziałać w dziedzinie obsługi saa6588 to ktoś coś podpowie.
Powyżej jest procedura wysłania danych do preprocesora saa6588 jest ona wykonywana tylko raz.
Kwarc urzyty to 8,644MHz.
Poniżej procedura odczytu danych z układu saa:
Ten licznik pętli jest potrzebny do opuszczania petli do loop dodam że nie odczytune stanu pinu DAVN.
Efektem podanego powyżej programu jest to że są krzaczki na wyświetlaczu zadnych konkretnych danych prosił bym o pomoc jak poprawić program aby poprawnie czytał nazwe stacji radiowej i radio text.
			Kod: Zaznacz cały
Sub Wyslij_saa6588:
  I2cstart
   I2cwbyte 32
   I2cwbyte &B00101011
   I2cwbyte 0
   I2cwbyte &B01111100
  I2cstop
End SubKwarc urzyty to 8,644MHz.
Poniżej procedura odczytu danych z układu saa:
Kod: Zaznacz cały
Sub Odczyt_saa6588:
 Rds_licznik = 0
 Do
  Incr Rds_licznik
  I2cstart
  I2cwbyte 33                                               'adres odczytu układu saa6588
   I2crbyte 0_saa , Ack                                     'odczyt danych
   I2crbyte 1_saa , Ack
   I2crbyte 2_saa , Ack
   I2crbyte 3_saa , Ack
   I2crbyte 4_saa , Ack
   I2crbyte 5_saa , Ack
   I2crbyte 6_saa , Nack
  I2cstop
                                                              'przepisanie 16 bitów do zmiennej d1 i d2
  Rds_d1.0 = 1_saa.0
  Rds_d1.1 = 1_saa.1
  Rds_d1.2 = 1_saa.2
  Rds_d1.3 = 1_saa.3
  Rds_d1.4 = 1_saa.4
  Rds_d1.5 = 1_saa.5
  Rds_d1.6 = 1_saa.6
  Rds_d1.7 = 1_saa.7
  Rds_d2.0 = 2_saa.0
  Rds_d2.1 = 2_saa.1
  Rds_d2.2 = 2_saa.2
  Rds_d2.3 = 2_saa.3
  Rds_d2.4 = 2_saa.4
  Rds_d2.5 = 2_saa.5
  Rds_d2.6 = 2_saa.6
  Rds_d2.7 = 2_saa.7
  Rds_wybor.0 = 0_saa.5
  Rds_wybor.1 = 0_saa.6
  Rds_wybor.2 = 0_saa.7
  Rds_wybor.3 = 0
  Rds_wybor.4 = 0
  Rds_wybor.5 = 0
  Rds_wybor.6 = 0
  Rds_wybor.7 = 0
  Select Case Rds_wybor
     Case 1:
       Rds_s = &H00
       Rds_s.3 = Rds_d1.3
       Rds_s.4 = Rds_d1.4
       Rds_s.5 = Rds_d1.5
       Rds_s.6 = Rds_d1.6
       Rds_s.7 = Rds_d1.7
       Select Case Rds_s
          Case 0:
            Set Flaga_ps
            Rds_s = &H00
            Rds_s.0 = Rds_d2.0
            Rds_s.1 = Rds_d2.1
            Select Case Rds_s
              Case 0:
                Pozycja = 1
              Case 1:
                Pozycja = 3
              Case 2:
                Pozycja = 5
              Case 3:
                Pozycja = 7
              Case 64:
            End Select
          Case 32:
            Set Flaga_rt
       End Select
     Case 2:
       If Flaga_rt = 1 Then
          R_txt = R_txt + Chr(rds_d1) + Chr(rds_d2)
          If Len(r_txt) > 16 Then R_txt = Right(r_txt , 16)
          Cls
          Lcd R_txt
          Reset Flaga_rt
       End If
     Case 3:
       If Flaga_ps = 1 Then
          Ps_namex = Chr(rds_d1) + Chr(rds_d2)
          Mid(ps_name , Pozycja , 2) = Ps_namex
          Cls
          Lcd Ps_name
          Reset Flaga_ps
       End If
     'Case 4:
       'Reset Flaga_ps
  End Select
 Loop Until Rds_licznik > 16Efektem podanego powyżej programu jest to że są krzaczki na wyświetlaczu zadnych konkretnych danych prosił bym o pomoc jak poprawić program aby poprawnie czytał nazwe stacji radiowej i radio text.

Re: saa6588 obsługa w BASCOM AVR
Widze że dalej nic sam pokombinowałem z zamieszczonym powyrzej kodem.
Umieściłem kod w przerwaniu wyzwalanym przy niskim stanie wykorzystałem też wyjście davn układu saa6588
odczytuje tylko nazwę stacji radiowej i jest mały problem.
Czasami pojawiają się przekłamania podczas wyswietlania tekstu.
Może ktoś mi teraz pomoże w kwestij tych przekłamań skąd one się biorą i jak temu zaradzić?
			Umieściłem kod w przerwaniu wyzwalanym przy niskim stanie wykorzystałem też wyjście davn układu saa6588
odczytuje tylko nazwę stacji radiowej i jest mały problem.
Czasami pojawiają się przekłamania podczas wyswietlania tekstu.
Może ktoś mi teraz pomoże w kwestij tych przekłamań skąd one się biorą i jak temu zaradzić?
Kod: Zaznacz cały
Odczyt_saa6588:
  Disable Int1
  Enable Interrupts
  I2cstart
  I2cwbyte 33                                               'adres odczytu układu saa6588
   I2crbyte 0_saa , Ack                                     'odczyt danych
   I2crbyte 1_saa , Ack
   I2crbyte 2_saa , Ack
   I2crbyte 3_saa , Ack
   I2crbyte 4_saa , Ack
   I2crbyte 5_saa , Ack
   I2crbyte 6_saa , Nack
  I2cstop
                                                              'przepisanie 16 bitów do zmiennej rds_d1 i rds_d2
  Rds_d1.0 = 1_saa.0
  Rds_d1.1 = 1_saa.1
  Rds_d1.2 = 1_saa.2
  Rds_d1.3 = 1_saa.3
  Rds_d1.4 = 1_saa.4
  Rds_d1.5 = 1_saa.5
  Rds_d1.6 = 1_saa.6
  Rds_d1.7 = 1_saa.7
  Rds_d2.0 = 2_saa.0
  Rds_d2.1 = 2_saa.1
  Rds_d2.2 = 2_saa.2
  Rds_d2.3 = 2_saa.3
  Rds_d2.4 = 2_saa.4
  Rds_d2.5 = 2_saa.5
  Rds_d2.6 = 2_saa.6
  Rds_d2.7 = 2_saa.7
  Rds_wybor.0 = 0_saa.5                                     'przepisanie zawartości wyboru bloku danych
  Rds_wybor.1 = 0_saa.6
  Rds_wybor.2 = 0_saa.7
  Rds_wybor.3 = 0
  Rds_wybor.4 = 0
  Rds_wybor.5 = 0
  Rds_wybor.6 = 0
  Rds_wybor.7 = 0
'====================================================================bloki=========================================================
  Select Case Rds_wybor
     Case 1:                                                'blok "A"
       Rds_s = 0                                            'ODCZYTANIE ADRESU SEGMĘTU
       Rds_s.3 = Rds_d1.3
       Rds_s.4 = Rds_d1.4
       Rds_s.5 = Rds_d1.5
       Rds_s.6 = Rds_d1.6
       Rds_s.7 = Rds_d1.7
       Select Case Rds_s
          Case 0:
            Set Flaga_ps
            Rds_s = 0
            Rds_s.0 = Rds_d2.0
            Rds_s.1 = Rds_d2.1
            Select Case Rds_s
              Case 0:
                Pozycja = 1
              Case 1:
                Pozycja = 3
              Case 2:
                Pozycja = 5
              Case 3:
                Pozycja = 7
            End Select
       End Select
     Case 3:                                                'blok "C" nazwa stacji
       If Flaga_ps = 1 Then
          Ps_namex = Chr(rds_d1) + Chr(rds_d2)
          Mid(ps_name , Pozycja , 2) = Ps_namex
          Cls
          Lcd Spc(4) ; Ps_name
          Reset Flaga_ps
       End If
  End Select
  Enable Int1
ReturnRe: saa6588 obsługa w BASCOM AVR
Przekłamania mogą się pojawiać nie z winy odczytu danych ale z błędów odbioru transmisji z nadajnika.
			Re: saa6588 obsługa w BASCOM AVR
To wygląda tak jakby jeden tekst nakładał się na drugi ale po czasie się stabilizuje i jest dobrze najwieksze problemy są przy odbiorze stacji o słabym sygnale wtedy to tylko krzaczki na wyświetlaczu.
Czy da się jakoś temu zaradzić?
			Czy da się jakoś temu zaradzić?

Re: saa6588 obsługa w BASCOM AVR
Było źle umieszczone polecenie kasowania lcd teraz nie ma przekłamań jedyna żecz co jest źle to to że jeśli mam ten sam tekst to ciągle jest czyszczony wyświetlacz ale z tym sobie poradze.
Poniżej zamieszczam poprawioną procedure odczytu danych z układu saa6588 gdyby komuś się przydało bo w sieci jest bardzo mało przykładów obsługi w bascomie.
To wyciszeni słurzy temu aby przy słabym sygnale nie wyświetlać komunikatów rds bo przekłamuje czasem.
			Poniżej zamieszczam poprawioną procedure odczytu danych z układu saa6588 gdyby komuś się przydało bo w sieci jest bardzo mało przykładów obsługi w bascomie.
Kod: Zaznacz cały
Odczyt_saa6588:
  Disable Int1
  Enable Interrupts
  I2cstart
  I2cwbyte 33                                               'adres odczytu układu saa6588
   I2crbyte 0_saa , Ack                                     'odczyt danych
   I2crbyte 1_saa , Ack
   I2crbyte 2_saa , Ack
   I2crbyte 3_saa , Ack
   I2crbyte 4_saa , Ack
   I2crbyte 5_saa , Ack
   I2crbyte 6_saa , Nack
  I2cstop
                                                              'przepisanie 16 bitów do zmiennej rds_d1 i rds_d2
  Rds_d1.0 = 1_saa.0
  Rds_d1.1 = 1_saa.1
  Rds_d1.2 = 1_saa.2
  Rds_d1.3 = 1_saa.3
  Rds_d1.4 = 1_saa.4
  Rds_d1.5 = 1_saa.5
  Rds_d1.6 = 1_saa.6
  Rds_d1.7 = 1_saa.7
  Rds_d2.0 = 2_saa.0
  Rds_d2.1 = 2_saa.1
  Rds_d2.2 = 2_saa.2
  Rds_d2.3 = 2_saa.3
  Rds_d2.4 = 2_saa.4
  Rds_d2.5 = 2_saa.5
  Rds_d2.6 = 2_saa.6
  Rds_d2.7 = 2_saa.7
  Rds_wybor.0 = 0_saa.5                                     'przepisanie zawartości wyboru bloku danych
  Rds_wybor.1 = 0_saa.6
  Rds_wybor.2 = 0_saa.7
  Rds_wybor.3 = 0
  Rds_wybor.4 = 0
  Rds_wybor.5 = 0
  Rds_wybor.6 = 0
  Rds_wybor.7 = 0
'====================================================================bloki=========================================================
  Select Case Rds_wybor
     Case 1:                                                'blok "A"
       Rds_s = 0                                            'ODCZYTANIE ADRESU SEGMĘTU
       Rds_s.3 = Rds_d1.3
       Rds_s.4 = Rds_d1.4
       Rds_s.5 = Rds_d1.5
       Rds_s.6 = Rds_d1.6
       Rds_s.7 = Rds_d1.7
       Select Case Rds_s
          Case 0:
            Set Flaga_ps
            Rds_s = 0
            Rds_s.0 = Rds_d2.0
            Rds_s.1 = Rds_d2.1
            Select Case Rds_s
              Case 0:
                Pozycja = 1
              Case 1:
                Pozycja = 3
              Case 2:
                Pozycja = 5
              Case 3:
                Cls
                Pozycja = 7
            End Select
       End Select
     Case 3:                                                'blok "C" nazwa stacji
       If Mute_tuner = 1 And Sygnal > 80 Then               'wyciszenie włączone
          If Flaga_ps = 1 Then                              'pokazuj komunikaty rds gdy sygnał jest na dobrym poziomie
             Ps_namex = Chr(rds_d1) + Chr(rds_d2)
             Mid(ps_name , Pozycja , 2) = Ps_namex
             Lcd Spc(4) ; Ps_name
             Reset Flaga_ps
          End If
       End If
       If Mute_tuner = 0 Then                               'wyciszenie wyłączone
          If Flaga_ps = 1 Then                              'pokazuj komunikaty rds
             Ps_namex = Chr(rds_d1) + Chr(rds_d2)
             Mid(ps_name , Pozycja , 2) = Ps_namex
             Lcd Spc(4) ; Ps_name
             Reset Flaga_ps
          End If
       End If
  End Select
  Enable Int1
ReturnRe: saa6588 obsługa w BASCOM AVR
Chodzi Ci o to, że odświeża pomimo tego że treść się nie zmienia?teraz nie ma przekłamań jedyna żecz co jest źle to to że jeśli mam ten sam tekst to ciągle jest czyszczony wyświetlacz ale z tym sobie poradze.
Re: saa6588 obsługa w BASCOM AVR
Dokładnie kolego pajączek tekst jest tej samej treści mimo to polecenie cls "czyszczenie wyświetlacza" jest wykonywane.
Polecenie to jest zawarte w tej samej instrukcji wyboru co ostatnia pozycja tekstu.
Czyli działa to tak że jeśli skompletuje nam się cały tekst to dopiero wtedy jest czyszczony wyświetlacz i tekst jest wyswietlany.
Tylko czy to powinno tak być przyznam że troche mie denerwóje te ciągłe miganie tekstu prubowałem sobie z tym poradzić ale kiepsko mi to wychodzi.
Kod ten znalazłem w internecie okroiłem go trochę z nie potrzebnych żeczy i dopasowałem do własnych potrzeb lecz denerwyjwe mnie to czyszczenie wyświetlacza.
			Polecenie to jest zawarte w tej samej instrukcji wyboru co ostatnia pozycja tekstu.
Czyli działa to tak że jeśli skompletuje nam się cały tekst to dopiero wtedy jest czyszczony wyświetlacz i tekst jest wyswietlany.
Tylko czy to powinno tak być przyznam że troche mie denerwóje te ciągłe miganie tekstu prubowałem sobie z tym poradzić ale kiepsko mi to wychodzi.
Kod ten znalazłem w internecie okroiłem go trochę z nie potrzebnych żeczy i dopasowałem do własnych potrzeb lecz denerwyjwe mnie to czyszczenie wyświetlacza.
Re: saa6588 obsługa w BASCOM AVR
Nie wiem jak to jest dokładnie w bascomie, ja zwykle robiłem tak,  że tworzyłem strukturę zawierającą mapę obrazu (tutaj po prostu poszczególne znaki na wyświetlaczu), oraz flagę czy coś się zmieniło (ustawianą przy każdym dodaniu znaku do mapy obrazu). Do tego wywoływana cyklicznie (timerem) procedura sprawdzająca czy jest ustawiona flaga, jeżeli jest to cls; wysłanie nowej treści na ekran i clr(flaga). Takie podejście powoduje, że ekran wyczyści się (a nawet nie musi się czyścić, bo nowa treść nadpisze CAŁY ekran, na nowo) tylko gdy zmienił się choć jeden znak (w celu zmniejszenia jeszcze bardziej transferu prock -> wyświetlacz a co za tym idzie częstości odświeżania całości) można to podzielić na mapy poszczególnych linii, ale to komplikuje nieco kod (obciążenie procka kosztem poprawy jakości odświeżania wyświetlacza).
Co do Twojego kodu w bascomie, nie chce mi się analizować co oznaczają poszczególne Rds_s czy Rds_d1, może to przybliżysz to będzie łatwiej...
Ale czy nie uważasz, że niektóre fragmenty są dosyć... dziwne, np.:
Po co ten nadrzędny switch (przepraszam... select) jeżeli zawiera tylko jednego case'a?
Ps. Prośba do Rafała. Jeżeli nie znasz się na "tekstowym programowaniu" to nie pisz proszę kolejnych postów które nie wnoszą nic do tematu, a w których jedynie przypominasz nam o tym fakcie... to zbyteczne, już wszyscy o tym wiedzą.
			Co do Twojego kodu w bascomie, nie chce mi się analizować co oznaczają poszczególne Rds_s czy Rds_d1, może to przybliżysz to będzie łatwiej...
Ale czy nie uważasz, że niektóre fragmenty są dosyć... dziwne, np.:
Kod: Zaznacz cały
Select Case Rds_s
          Case 0:
            Set Flaga_ps
            Rds_s = 0
            Rds_s.0 = Rds_d2.0
            Rds_s.1 = Rds_d2.1
            Select Case Rds_s
              Case 0:
                Pozycja = 1
              Case 1:
                Pozycja = 3
              Case 2:
                Pozycja = 5
              Case 3:
                Cls
                Pozycja = 7
            End Select
       End SelectPs. Prośba do Rafała. Jeżeli nie znasz się na "tekstowym programowaniu" to nie pisz proszę kolejnych postów które nie wnoszą nic do tematu, a w których jedynie przypominasz nam o tym fakcie... to zbyteczne, już wszyscy o tym wiedzą.
Re: saa6588 obsługa w BASCOM AVR
Co do migania wyświetlacza to nie korzystaj z dyrektywy cls tylko nadpisuj wybrany fragment wyświetlacza pisząc locate X,Y i wpisując na lcd to co chcesz. Nie będzie Ci wtedy to migać.
			Re: saa6588 obsługa w BASCOM AVR
To też jest wyjście... pod warunkiem że tekst znajduje się zawsze w tym samym miejscu (albo zapamiętujemy gdzie był ostatnio), dodatkowo konieczne będzie za każdym razem wypisywanie tekstów o tej samej długości, by zamazać ew. znaki które pozostaną po poprzedniku.Co do migania wyświetlacza to nie korzystaj z dyrektywy cls tylko nadpisuj wybrany fragment wyświetlacza pisząc locate X,Y i wpisując na lcd to co chcesz. Nie będzie Ci wtedy to migać.
Ale faktycznie, dla krótkich fraz również stosowałem takie rozwiązanie z powodzeniem.
Można też zdefiniować sobie funkcję clrln, która wypisuje na ekran pustą linię, i ustawia kursor na jej początku. Wówczas sprawa będzie chyba już prosta.
Re: saa6588 obsługa w BASCOM AVR
Prubowałem z tym locate x,y i bez dyrektywy cls i nic z tego co prawda nie ma migania ale tekst jest pisany po całym wyswietlaczu nawet ieśli ustawie locate 1 , 1 a potem lcd ;text do wyświetlenia;
Najlepiej to by było zastosować jakąś flage ktura jest ustawiana jek tekst ma inną wartość jak ktoś ma jakiś pomysł to proszę ja trochę nad tym posiedze w niedzielę.
A cls musi być konieczne w tym case co jest teraz inaczej nie działa.
Udało się zaradzić miganiu wyswietlacza teraz cls jest wykonywane tylko wtedy gdy tekst się zmienia ponizej treść podprogramu obsługi rds-u:
Program działa lecz na niekturych stacjach czasem przekłamuje nawet gdy sygnał ma wysoki poziom.
Czy to możliwe żeby dane były źle odebrane?
			Najlepiej to by było zastosować jakąś flage ktura jest ustawiana jek tekst ma inną wartość jak ktoś ma jakiś pomysł to proszę ja trochę nad tym posiedze w niedzielę.
A cls musi być konieczne w tym case co jest teraz inaczej nie działa.
Udało się zaradzić miganiu wyswietlacza teraz cls jest wykonywane tylko wtedy gdy tekst się zmienia ponizej treść podprogramu obsługi rds-u:
Kod: Zaznacz cały
Odczyt_saa6588:
  Disable Int1
  Enable Interrupts
  I2cstart
  I2cwbyte 33                                               'adres odczytu układu saa6588
   I2crbyte 0_saa , Ack                                     'odczyt danych
   I2crbyte 1_saa , Ack
   I2crbyte 2_saa , Ack
   I2crbyte 3_saa , Ack
   I2crbyte 4_saa , Ack
   I2crbyte 5_saa , Ack
   I2crbyte 6_saa , Nack
  I2cstop
                                                            'przepisanie 16 bitów do zmiennej rds_d1 i rds_d2
  Rds_d1.0 = 1_saa.0
  Rds_d1.1 = 1_saa.1
  Rds_d1.2 = 1_saa.2
  Rds_d1.3 = 1_saa.3
  Rds_d1.4 = 1_saa.4
  Rds_d1.5 = 1_saa.5
  Rds_d1.6 = 1_saa.6
  Rds_d1.7 = 1_saa.7
  Rds_d2.0 = 2_saa.0
  Rds_d2.1 = 2_saa.1
  Rds_d2.2 = 2_saa.2
  Rds_d2.3 = 2_saa.3
  Rds_d2.4 = 2_saa.4
  Rds_d2.5 = 2_saa.5
  Rds_d2.6 = 2_saa.6
  Rds_d2.7 = 2_saa.7
  Rds_wybor.0 = 0_saa.5                                     'przepisanie zawartości wyboru bloku danych
  Rds_wybor.1 = 0_saa.6
  Rds_wybor.2 = 0_saa.7
  Rds_wybor.3 = 0
  Rds_wybor.4 = 0
  Rds_wybor.5 = 0
  Rds_wybor.6 = 0
  Rds_wybor.7 = 0
'====================================================================bloki=========================================================
  Select Case Rds_wybor
     Case 1:                                                'blok "A"
       Rds_s = 0                                            'ODCZYTANIE ADRESU SEGMĘTU
       Rds_s.3 = Rds_d1.3
       Rds_s.4 = Rds_d1.4
       Rds_s.5 = Rds_d1.5
       Rds_s.6 = Rds_d1.6
       Rds_s.7 = Rds_d1.7
       Select Case Rds_s
          Case 0:
            Set Flaga_ps
            Rds_pozycja = 0
            Rds_pozycja.0 = Rds_d2.0
            Rds_pozycja.1 = Rds_d2.1
            Select Case Rds_pozycja
              Case 0:
                Pozycja = 1
              Case 1:
                Pozycja = 3
              Case 2:
                Pozycja = 5
              Case 3:
                If Flaga_zezwolenia = 1 Then
                   Set Flaga_ps_name
                End If
                Pozycja = 7
            End Select
       End Select
     Case 3:                                                'blok "C" nazwa stacji
       If Mute_tuner = 1 And Sygnal >= 112 Then             'wyciszenie włączone
          If Flaga_ps = 1 Then                              'pokazuj komunikaty rds gdy sygnał jest na dobrym poziomie
             Ps_namex = Chr(rds_d1) + Chr(rds_d2)
             Mid(ps_name , Pozycja , 2) = Ps_namex
             If Pomoc_ps_name <> Ps_name Then : Flaga_zezwolenia = 1 : Else : Flaga_zezwolenia = 0 : End If
             pomoc_ps_name = ps_name
             If Flaga_ps_name = 1 Then
                Cls
                Lcd Spc(4) ; Ps_name
                Reset Flaga_ps_name
             End If
             Reset Flaga_ps
          End If
       End If
       If Mute_tuner = 0 Then                               'wyciszenie wyłączone
          If Flaga_ps = 1 Then                              'pokazuj komunikaty rds
             Ps_namex = Chr(rds_d1) + Chr(rds_d2)
             Mid(ps_name , Pozycja , 2) = Ps_namex
             If Pomoc_ps_name <> Ps_name Then : Flaga_zezwolenia = 1 : Else : Flaga_zezwolenia = 0 : End If
             pomoc_ps_name = ps_name
             If Flaga_ps_name = 1 Then
                Cls
                Lcd Spc(4) ; Ps_name
                Reset Flaga_ps_name
             End If
             Reset Flaga_ps
          End If
       End If
     Case 4:
       Reset Flaga_ps
  End Select
  Enable Int1
ReturnCzy to możliwe żeby dane były źle odebrane?
Re: saa6588 obsługa w BASCOM AVR
Co Ty gadasz? Ja całe menu i to złożone tworzyłem do pewnego projektu i wszystko działa jak trzeba. Musisz dobrze przemyśleć pisanie.Prubowałem z tym locate x,y i bez dyrektywy cls i nic z tego co prawda nie ma migania ale tekst jest pisany po całym wyswietlaczu nawet ieśli ustawie locate 1 , 1 a potem lcd ;text do wyświetlenia;
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 30 gości



