1. 硬件环境
CPU:S3C2443X
GPRS模块:SIM900
CPU和SIM900的物理端口连接如下:
GPH0 -------------TX
GPH1 -------------RX
GPH8 -------------CTS
GPH9 -------------RTS
GPF6 -------------DCD
GPE13 -------------DSR
GPF4 -------------通过中间模拟电路再连接到SIM900的供电引脚
GPG13 -------------POWERKEY
GPL9 -------------RESET
相关电路图如下:
2. 软件环境
WINCE6.0
3. 实现
3.1 串口驱动相关实现
⑴ 在ser_smdk2443.cpp文件的CreateSerialObject函数中加入下面关于GPRS的内容
CSerialPDD * CreateSerialObject(LPTSTR lpActivePath, PVOID pMdd,PHWOBJ pHwObj, DWORD DeviceArrayIndex)
{
CSerialPDD * pSerialPDD = NULL;
RETAILMSG( TRUE, (TEXT("DEBUG: CreateSerialObject %d/r/n"), DeviceArrayIndex));
switch (DeviceArrayIndex) {
case 0: ///< UART0: GPRS
pSerialPDD = new CPdd2443Serial0(lpActivePath,pMdd, pHwObj);
break;
case 1: ///< UART1: debug,GPRS_DEBG
pSerialPDD = new CPdd2443Serial1(lpActivePath,pMdd, pHwObj);
break;
case 2: ///< UART2: GPS
pSerialPDD = new CPdd2443Serial2(lpActivePath, pMdd, pHwObj);
break;
case 3: ///< UART3:blue