Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ATMega8 - po podłączeniu do trx'a uC wiesza się

waldez 07 Lut 2013 11:59 1299 10
  • #1 07 Lut 2013 11:59
    waldez
    Poziom 10  

    Witam,
    mam do Was pytanie, co może być przyczyną wieszania(zatrzymywania) się uC?
    kod:

    Code:

    $regfile = "m8adef.dat"
    $crystal = 16000000
    $baud = 9600
    Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 2 , Databits = 8 , Clockpol = 0
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
    Config Serialin = Buffered , Size = 254
    Config Serialout = Buffered , Size = 254
    Config Portb.5 = Output

    Dim B1 As Byte
    Dim B2 As Byte
    Dim B3 As Byte
    Dim B4 As Byte
    Dim B5 As Byte

    Cls
    Enable Interrupts

    Do
       Waitms 25
       Printbin &H00 ; &H00 ; &H00 ; &H00 ; &HE7;
    '   Printbin &H00 ; &H00 ; &H00 ; &H00 ; &H03;
       Waitms 25

       If Ischarwaiting() = 1 Then
       Inputbin B1 , B2 , B3 , B4 , B5
       End If
       Locate 1 , 1
       Lcd Hex(b1)
       Lcd Hex(b2)
       Lcd Hex(b3)
       Lcd Hex(b4)
       Lcd Hex(b5)

       Clear Serialout
       Clear Serialin

       Waitms 250                                               ' dioda do sprawdzenia czy uC nie wisi
       Set Portb.5                                              ' dioda do sprawdzenia czy uC nie wisi
       Waitms 250                                               ' dioda do sprawdzenia czy uC nie wisi
       Reset Portb.5                                            ' dioda do sprawdzenia czy uC nie wisi
    Loop
    End


    jeżeli nadaję
    Code:
    Printbin &H00 ; &H00 ; &H00 ; &H00 ; &H03;

    to uC poprawnie odczytuje częstotliwość z radia

    jak nadaję
    Code:
    Printbin &H00 ; &H00 ; &H00 ; &H00 ; &HE7;

    to uC się zatrzymuje.

    Jak tylko nadaję z uC, a odczytuję z trx'a terminalem z pominięciem atmegi, to jest ok, uC nie zatrzymuje się.

    Pozdrawiam,
    Waldek.

    0 10
  • #2 09 Lut 2013 15:04
    skalsky5000
    Poziom 20  

    Po co włączasz przerwania skoro nigdzie nie obsługujesz żadnego ?

    0
  • #4 10 Lut 2013 19:09
    waldez
    Poziom 10  

    piotrva napisał:
    Te przerwania muszą być włączone do buforowanego trybu odbioru danych.
    Ale co jest podpięte z drugiej strony do procesora?
    Dalej zidentyfikuj, na której instrukcji procesor staje (podpowiem żeby szukać przed czy po Inputbin).


    Witajcie,
    program staje na inputbin,
    Code:

    Do
       Waitms 25
       Printbin &H00 ; &H00 ; &H00 ; &H00 ; &HE7;
    '   Printbin &H00 ; &H00 ; &H00 ; &H00 ; &H03;
       Waitms 25
       If Ischarwaiting() = 1 Then
        Set Portb.5
    '   Inputbin B1 , B2 , B3 , B4 , B5
       End If
       Locate 1 , 1
       Lcd Hex(b1)
       Lcd Hex(b2)
       Lcd Hex(b3)
       Lcd Hex(b4)
       Lcd Hex(b5)
       Clear Serialout
       Clear Serialin
       Waitms 250
       Reset Portb.5
       Waitms 250
    Loop

    po włączeniu radia, dioda zaczyna migać, zapala się po pojawieniu się danych w buforze,
    po wyłączeniu radia, dioda nie zapala się.
    uC mam podpięte do portu CAT w FT-857.
    Po wysłaniu &H00 ; &H00 ; &H00 ; &H00 ; &H03; radio nadaje aktualną częstotliwość i modulację,
    po wysłaniu &H00 ; &H00 ; &H00 ; &H00 ; &He7; radio nadaje status odbiornika, siła sygnału, subton, squelch.

    pozdrawiam,
    Waldek.

    0
  • #6 10 Lut 2013 19:57
    waldez
    Poziom 10  

    piotrva napisał:
    A może wtedy radio nie nadaje 5 bajtów? I Bascom czeka na jakieś dane?

    Radio nadaje, sprawdziłem terminalem na PC.

    0
  • #7 10 Lut 2013 20:34
    zumek
    Poziom 39  

    waldez napisał:
    ...Radio nadaje, sprawdziłem terminalem na PC.

    A ja z nudów, zajrzałem do manuala :-P

    ATMega8 - po podłączeniu do trx'a uC wiesza się
    ATMega8 - po podłączeniu do trx'a uC wiesza się

    0
  • #8 10 Lut 2013 20:54
    waldez
    Poziom 10  

    zumek napisał:
    waldez napisał:
    ...Radio nadaje, sprawdziłem terminalem na PC.

    A ja z nudów, zajrzałem do manuala :-P
    ...

    jest jeszcze opis tu

    0
  • #9 10 Lut 2013 21:33
    zumek
    Poziom 39  

    waldez napisał:

    jest jeszcze opis tu


    No to cytat, z podanej przez Ciebie stronki:
    "Command E7 - Read Receiver Status: This command returns one byte."

    0
  • #10 10 Lut 2013 23:03
    waldez
    Poziom 10  

    zumek napisał:
    waldez napisał:

    jest jeszcze opis tu


    No to cytat, z podanej przez Ciebie stronki:
    "Command E7 - Read Receiver Status: This command returns one byte."

    No tak, jasno napisane jest, dzięki za zwrócenie uwagi. Zostawiłem odczyt 5 bajtów, a radio zwraca 1.

    0