اطلاعیه

Collapse
No announcement yet.

Reentrancy not allowd

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    Reentrancy not allowd

    سلام... :sad:
    خیلی دارم به مشکل میخورم...
    ببینید...
    sub procedure interrupt
    if TestBit(INTCON, INTF) = 1 then
    ClearBit(INTCON, INTF)
    RECEIVE() '<<<<<<<<<<< <<<<<<<<<<<<&l t;<<
    else
    if TestBit(INTCON, RBIF) = 1 then

    ClearBit(INTCON,RBIF)
    end if
    end if
    end sub
    main:

    Soft_Spi_Config(PORTC, 1, 3, 2)

    TRISA=%11100000
    TRISB=%10111001
    TRISC=%10000000
    INTCON=%00011011

    INIT()'<<<<<<<<<&l t;<<<<<<<<<<<< <<<<

    END.


    دو روال init و receive در نهایت از روال spi_soft_write استفاده میکنند...و این باعث خطا شده...چیکار کنم؟؟؟

    #2
    پاسخ : Reentrancy not allowd

    کار رو تا اینجا پیش بردم اما یه جای کار گیر داره..وقفه خارجی اتفاق نمیفته...
    کمککککککککککککک...
    dim swt,k,l,m,n as byte
    sub procedure interrupt
    if TestBit(INTCON, INTF) then
    swt=k
    else
    if TestBit(INTCON, RBIF) then
    if testbit(portb,5) then swt=l end if
    if testbit(portb,6) then swt=m end if
    if testbit(portb,7) then swt=n end if

    end if
    end if
    end sub
    main:
    Soft_Spi_Config(PORTC, 1, 3, 2)
    TRISA=%11100000
    TRISB=%10111001
    TRISC=%10000000
    INTCON=%00011011

    select case swt
    case k
    ClearBit(INTCON, INTF)
    'do some things
    case l
    ClearBit(INTCON,RBIF)
    'do some things
    case m
    ClearBit(INTCON,RBIF)
    'do some things
    case n
    ClearBit(INTCON,RBIF)
    'do some things
    end select



    END.

    دیدگاه


      #3
      پاسخ : Reentrancy not allowd

      مشکل تقریبا حل شد
      از اونجایی که واسه کسی جالب نبود و ینی اینکه کسی تا حالا بش بر نخورده
      و بازم یعنی اینکه کسی حوصله کار کردن با پیک رو نداره...چون پیک تمام اینتراپت هاش "no save" هست...
      به تمام این دلایل...نمیگم چه جوری حل شد...تا وقتی که کاملا جواب نگیرم از کدهام :biggrin:
      فعلا...

      دیدگاه


        #4
        پاسخ : Reentrancy not allowd

        سلام دوست عزیز
        به نظر میاد که GIE رو ست نکردی. اینجوری هیچ اینتراپتی فعال نمیشه. بیت 7 از INTCON رو باید ست کنی.
        لبه اینتراپت خارجی هم باید از تو OPTION_REG مشخص کنی.
        امیدوارم کمک کره باشه.
        خویشتن را اصلاح کنید تا خداوند کارها را اصلاح کند. امیر المومنین علی (ع)

        دیدگاه

        لطفا صبر کنید...
        X