|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
串口中間件modem撥號(hào)實(shí)驗(yàn) |
| 作者:dspinxd 欄目:ARM技術(shù) |
MODEM.c uint8 MODEMInit(uint32 bps) { ... if (MODEMSem != NULL) { if ((U1MSR & 0x30) != 0x30) { OSTimeDly(OS_TICKS_PER_SEC); if ((U1MSR & 0x30) != 0x30) { MODEMState = NOT_FIND_MODEM; } } if (MODEMState == MODEM_CLOSE) { MODEMCommand("ATE0"); ... } else { MODEMState = NOT_INIT_MODEM; } } return MODEMState; } 對(duì)這這段我是這樣理解的: MODEMSem != NULL,是判斷系統(tǒng)中有沒有可用的事件控制塊。 用到MODEMSem的只有函數(shù)MODEMWrite(), 只要OSSemPend(MODEMSem, 0, &err);和OSSemPost(MODEMSem)沒運(yùn)行,MODEMSem != NULL為真,即然MODEMWrite()在運(yùn)行,還要檢測(cè)(U1MSR & 0x30) != 0x30嗎? MODEMState == MODEM_CLOSE為真時(shí),MODEM關(guān)閉,發(fā)送命令沒有意義啊! 我運(yùn)行的時(shí)候,MODEMSem != NULL不成立,程序都是else后邊的分支,這就表示MODEM沒被占用,可以進(jìn)行初始化了,為什么程序中卻是MODEMState = NOT_INIT_MODEM. 還有MODEM的狀態(tài),怎樣判斷MODEM是否上電連接到了串口? 對(duì)這些極其不理解,請(qǐng)各位幫忙解答! |
| 2樓: | >>參與討論 |
| 作者: dspinxd 于 2006/6/29 14:59:00 發(fā)布:
請(qǐng)各位高手,幫忙解答!謝謝! |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |