|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
一個在ucOS+lwip上socket編程的問題,請高手指點(diǎn) |
| 作者:flyair 欄目:ARM技術(shù) |
想在ARM上實(shí)現(xiàn)與PC機(jī)之間的數(shù)據(jù)通信,但遇到一個吐血問題。 我的基本想法是把PC端當(dāng)作Server,ARM當(dāng)作CLient,數(shù)據(jù)從PC發(fā)到ARM上。 第一個問題是: 在ARM上何時調(diào)用recv(...);來接受數(shù)據(jù) 第二問題比較奇怪: void lwip_init_task(void* parm) { sys_sem_t sem; #if LWIP_STATS stats_init(); #endif sys_init(); mem_init(); memp_init(); pbuf_init(); netif_init(); sem = sys_sem_new(0); tcpip_init(tcpip_init_done, &sem); sys_sem_wait(sem); sys_sem_free(sem); 。。。。。 } OSTaskCreate(lwip_init_task, (void *)&Id3, &lwip_init_stk[STACKSIZE_L-1], 2); 這樣的任務(wù)調(diào)度,ARM和PC機(jī)還可以通信。 但是,加一個任務(wù)后 OSTaskCreate(lwip_init_task, (void *)&Id3, &lwip_init_stk[STACKSIZE_L-1], 2); OSTaskCreate(Disp_task, (void*)&Id5, &Disp_task_stk[STACKSIZE_L-1],5); 顯示傳輸來的數(shù)據(jù) 程序運(yùn)行到lwip_init_task()中的這幾句 sem = sys_sem_new(0); tcpip_init(tcpip_init_done, &sem); sys_sem_wait(sem); ///在這一句任務(wù)會阻塞 sys_sem_free(sem); 很不理解 |
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |