اطلاعیه

Collapse
No announcement yet.

آموزش کامل nxp lpc1768 ethernet

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

    آموزش کامل nxp lpc1768 ethernet

    سلام

    مستقیم میریم سراغ بحث:

    1. در مثال esayweb تمام توابع باز هستند؟ یعنی اینکه میتوان بطور کامل به توابع نوشته شده در آن دسترسی پیدا کرد؟

    2. یک نگاه کلی به کتابخانه tcp انداختم که متوجه یک چیز عجیبی شدم:

    typedef enum { // states of the TCP-state machine
    CLOSED, // according to RFC793
    LISTENING,
    SYN_SENT,
    SYN_RECD,
    ESTABLISHED,
    FIN_WAIT_1,
    FIN_WAIT_2,
    CLOSE_WAIT,
    CLOSING,
    LAST_ACK,
    TIME_WAIT
    } TTCPStateMachine;

    extern TTCPStateMachine TCPStateMachine;

    void TCPLowLevelInit(void)
    {

    // Keil: Timer 0 is used for TCP retransmission control
    LPC_TIM0->MR0 = 3144000; // 262mSec
    LPC_TIM0->MCR = 3; // Interrupt and Reset on MR0
    LPC_TIM0->TCR = 1; // Timer0 Enable
    NVIC_EnableIRQ(TIMER0_IRQn);

    LPC_SC->PCONP |= (1<<12); // Deliver clock to AD
    /* all the related pins are set to ADC inputs, AD0.0~7 */
    LPC_PINCON->PINSEL0 |= 0x0F000000; /* P0.12~13, A0.6~7, function 11 */
    LPC_PINCON->PINSEL1 &= ~0x003FC000; /* P0.23~26, A0.0~3, function 01 */
    LPC_PINCON->PINSEL1 |= 0x00154000;
    LPC_PINCON->PINSEL3 |= 0xF0000000; /* P1.30~31, A0.4~5, function 11 */

    Init_EMAC();
    TransmitControl = 0;
    TCPFlags = 0;
    TCPStateMachine = CLOSED;
    SocketStatus = 0;
    }


    سوال اینجاست که با توجه به TCPStateMachine = CLOSED ، محتویات closed چیست؟

    و چرا در کتابخانه tcp ، نوع متغیر ها از نوع extern میباشد؟

    برای مثال extern TTCPStateMachine TCPStateMachine به چه معناست؟



    تقریبا تمام اترنت را یادگرفتم و فقط پروتکل پشته مونده...

    دوستان کسی راجع به سوال ذکر شده اطلاعاتی داره؟؟؟؟

    #2
    پاسخ : آموزش کامل nxp lpc1768 ethernet

    یعنی چی محتویات closed چیه؟ closed یه عدده که توی enum شما تعریف شده
    متغیرهای extern متغیرهایی هستند که جایی بیرون از برنامه شما نوشته شده اند و موقع لینک کردن لینکر اونها رو به برنامه تون اضافه میکنه
    این برای این هست که شما مجبرو نباشید همه سورس رو کامپایل کنید یا حتی برای این که نخوان سورس رو بهتون بدن

    دیدگاه

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