PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > MiWi, Zigbee, Ethernet

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

MiWi, Zigbee, Ethernet ZigBee có khả năng kết nối tới 65000 node, MiWi dành riêng cho Microchip chỉ kết nối được 1000 node, nhưng điều gì đang diễn ra...?

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 22-01-2010, 11:02 PM   #1
vhg
Đệ tử 1 túi
 
Tham gia ngày: Feb 2009
Bài gửi: 12
:
BSD_socket- Các bác dành chút thời gian giúp em nhé!

em đang viết đoạn chương trình cho client trên PIC32 để yêu cầu connect tới server trên PC.Em đã giao tiếp tốt giữa 2 PC cũng với chươnng trình cho PC đó.Nhưng trên PIC32 em ko thể nào connect được.Project của em dùng thư viện pic32mx_mchp_tcp_ip_v1_0_00.Đây là đoạn chương trình chính của em.Các bác xem còn sai gì nhé.em test phần cứng và khẳng định ok:
#pragma config FPLLMUL = MUL_18, FPLLIDIV = DIV_2, FPLLODIV = DIV_1, FWDTEN = OFF, WDTPS = PS512
#pragma config POSCMOD = HS, FNOSC = PRIPLL, FPBDIV = DIV_2, DEBUG = OFF, IESO = OFF, FCKSM = CSDCMD, FSOSCEN = OFF
#define PC_SERVER_IP_ADDR "10.10.33.79"
#define CLIENT_IP_ADDR "10.10.33.201"
static unsigned int i,j,k;

static BYTE bfr[100];
REG b;
BYTE a;
//-------------------------------------------------------------------
void SetupDefault_IP_MAC()
{
// Initialize default IP and MAC address
IP_StrToDWord( DEFAULT_IP_ADDR, &SysIPAddr.Val );
IP_StrToDWord( DEFAULT_IP_MASK, &SysIPMask.Val );
IP_StrToDWord( DEFAULT_IP_GATEWAY, &SysIPGateway.Val );
MAC_StrToBin ( DEFAULT_MAC_ADDR, SysMACAddr.v );
}

//--------------------------------------------------------------------
int main()
{
SOCKET sclient;
struct sockaddr_in addr;
int addrlen = sizeof(struct sockaddr_in);
BOOL ClientConnected = FALSE;
DWORD TestServerIP, clientIP;
int len=100;
SYSTEMConfigWaitStatesAndPB(72000000);
TRISC=0x00;
TRISE=0x00;
_LATE9=1;
_LATC1=1;
_LATE9=0;
_LATC2=1;
_LATE9=1;
OpenXLCD(0x3F);
WriteCmdXLCD(0x01);
INTEnableSystemMultiVectoredInt();
SetupDefault_IP_MAC();
MSTimerInit(36000000);
InitStackMgr();
TickInit();

IP_StrToDWord( PC_SERVER_IP_ADDR, &TestServerIP );
IP_StrToDWord( CLIENT_IP_ADDR, &clientIP );

//create tcp client socket
if( (sclient = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP )) == SOCKET_ERROR )
return -1;
//bind to a unique local port
addr.sin_port = 7000; // Let the stack pick a unique port for us
addr.sin_addr.S_un.S_addr = clientIP;//IP_ADDR_ANY;

if( bind(sclient ,(struct sockaddr*)&addr, addrlen ) == SOCKET_ERROR )
return -1;

ClientConnected = FALSE;
addr.sin_port = 7000;//SERVER_PORT;
addr.sin_addr.S_un.S_addr = clientIP;//TestServerIP;//SERVER_IP;
addrlen = sizeof(struct sockaddr);
setsockopt( sclient, SOL_SOCKET, SO_SNDBUF, (char*)&len, sizeof(int) );

addrlen = sizeof(struct sockaddr);

WriteCmdXLCD(0x01);

LATA=0;
WriteDataXLCD(6%10+0x30);
while(1)
{

StackMgrProcess();
len = 10;

if( !ClientConnected )
{
if(k++==2)
{
if( connect( sclient, (struct sockaddr*)&addr, addrlen ) == 0 )
{
ClientConnected = TRUE;
WriteCmdXLCD(0x01);
PutsXLCD("Connected!");
while(1);
}
WriteCmdXLCD(0x02);
WriteDataXLCD(LATA%10+0x30);
i++;
//j=0;
k=0;
}
}
for (j=0;j<200000;j++);
}
}
vhg vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 08:46 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam