logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Prośba o sprawdzenie programu. mega8 + 4x max6675

CyccX 30 Cze 2011 23:38 2203 10
REKLAMA
  • #1 9667965
    CyccX
    Poziom 15  
    Witam, proszę kolegów o sprawdzenie tego kodu.. głównie chodzi mi o to czy dobrze skonfigurowałem porty itp, żeby to funkcjonowało.

    Kod: text
    Zaloguj się, aby zobaczyć kod


    p.s. portb.4 jest oryginalnie portem MISO w atmega. A czy na potrzeby ISP [Din] mogę przypisac go do dowolnego innego portu ??
  • REKLAMA
  • REKLAMA
  • #3 9668087
    CyccX
    Poziom 15  
    Kod: text
    Zaloguj się, aby zobaczyć kod


    poprawiłem konfigurację pinów d.4-7 teraz dobrze ??. Dodałem do kodu jeszcze opcje wyświetlania chwilowej maksymalnej wartości oraz jej zapamiętywania.
  • REKLAMA
  • #4 10257340
    CyccX
    Poziom 15  
    Witam

    ciąg dalszy problemów z uruchomieniem transmisji ISP na AT8.

    poniżej załączam kod. Niestety nie komunikuje się on z układami max6675. wyświetlacz bez zmian pokazuje wartość 2047. a gdy zmienię 39 linijkę - portc.5 = 0 - to pomiary temp są wszędzie 0 bez zmian.

    może ktoś widzi jakiś błąd w konfiguracji ?? dodam że wyświetlacz graficzny pożera mi większość część portów i nie bardzo mam już pole manewru.

    proszę o pomoc.

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #5 10260669
    CyccX
    Poziom 15  
    nikt nie ma pomysłu ?
  • #6 10261527
    sorex86
    Poziom 15  
    Tutaj masz kod, ktory idealnie dziala ...
    https://www.elektroda.pl/rtvforum/topic951138.html

    
    $regfile = "m8def.dat"
    
    Config Spi = Soft , Din = Pinc.2 , Dout = Portc.3 , Ss = None , Clock = Portc.4
    Cursor Off
    Config Pinc.4 = Output
    Config Pinc.3 = Output
    Config Pinc.2 = Input
    Sck Alias Portc.4
    Cs Alias Portc.3
    So Alias Pinc.2
    Dim Maxdata As Word
    Cs = 1
    Sck = 0
    Portc.2 = 1
    Cls
    Lcd "Temp "
    
    Do
      Cs = 0
      Shiftin So , Sck , Maxdata , 0 , 16
      Cs = 1
      Shift Maxdata , Right , 3
      Maxdata = Maxdata / 4
      Locate 1 , 6
      lcd Maxdata; "   "
      Waitms 800
      Loop
    
    End
    



    Max6675 to wolny scalak, nie odpytuj go czesciej niz 500ms.
  • #7 10265388
    CyccX
    Poziom 15  
    wcześniej już miałem program który obsługiwał maxa6675 i wszystko działało. Jednak że wcześniej miałem podłączony wyświetlacz 2x16 i do jego obsługi potrzeba mniej wyjść uC.

    przy graficznym musiałem zmienić porty w konfiguracji SPI i od tego czasu nie chce działać.

    czy przyczyną może być to że SPI nie jest skonfigurowane na jednej grupie portów ?? NP w przykładzie Twoim wszystkie ustawienia są na port C, a u mnie wykorzystuje port C i wyjśćie z portu B.
  • REKLAMA
  • #8 10265743
    sorex86
    Poziom 15  
    Prosty test. Ustaw wszystkie porty jako diody na miganie. Sprawdz, ktore porty powoduja, ze dioda Ci miga... Wtedy sie dowiesz, ktore porty masz pod kontrola, a ktores sa 'zablokowane'... Obstawiam, ze probojesz na portach, ktorych nie mozesz uzywac.... A dlaczego nie zrobisz tego na SPI sprzetowym? Przeciez wtedy potrzebujesz jeszcze tylko 3 porty na CHIP SELECT:

    Ustawiasz tak:
    pb5 sck, pb4 miso, pb3 mosi, pb2ss(chip select 1 maxa)
    Potem Pa5,4,3 jako chip select nr 2,3,4.

    Odpytuj max6675 max 500ms.
    Test z diodami. Podlacz wyswietlacz hd44875 i sprawdz czy dziala. Potem podlacz 1 max i sprawdz odczyt z czujnika. Jezeli dziala dolacz kolejny czujnik. Jak bedzie wszystko w porzadku bierz sie dopiero za graficzny. Malymi krokami, eliminujace kolejne ewentualne problemy.

    Wtedy masz pewnosc, ze zadne fusy ani inne ustawiania Cie nie blokuja.
  • #9 10267507
    CyccX
    Poziom 15  
    a ja głupi lutowałem wszystko.. ;/ teraz mnie czeka rozmontowywanie wszystkiego
  • #11 10268741
    CyccX
    Poziom 15  
    Dzieki rs07 za pomoc !!!

    układ już działa
REKLAMA