سلام
مستقیم میریم سراغ بحث:
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 به چه معناست؟
تقریبا تمام اترنت را یادگرفتم و فقط پروتکل پشته مونده...
دوستان کسی راجع به سوال ذکر شده اطلاعاتی داره؟؟؟؟
مستقیم میریم سراغ بحث:
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 به چه معناست؟
تقریبا تمام اترنت را یادگرفتم و فقط پروتکل پشته مونده...
دوستان کسی راجع به سوال ذکر شده اطلاعاتی داره؟؟؟؟
دیدگاه