首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

MTK串口关不了的有关问题!

2013-01-02 
MTK串口关不了的问题!!!在MTK下,现在的问题是:打开GPS的同时也唤醒了串口,但关闭GPS的同时也关闭串口,发现

MTK串口关不了的问题!!!
在MTK下,现在的问题是:
   打开GPS的同时也唤醒了串口,但关闭GPS的同时也关闭串口,发现GPS关闭了,而串口却没有关掉,感觉关串口的代码也没有问题啊,不知道是怎么回事....!!求大牛解惑!!!!!
初始化串口代码如下:
   void SIRF4_UART2_INIT(void)
{
kal_bool bSuccess = KAL_FALSE;

//SetProtocolEventHandler(SIRF4_UART2_READ, MSG_ID_UART_READY_TO_READ_IND);
UART_Close(GPS_UART, UART_GetOwnerID(GPS_UART));
GPIO_ModeSetup(22, 1);
GPIO_ModeSetup(23, 1);  //UART2

UART_HWInit(GPS_UART);

uart_dcb_sirf4.baud = (UART_baudrate) UART_BAUD_4800;
UART_TurnOnPower(GPS_UART, KAL_TRUE);
UART_SetOwner (GPS_UART, MOD_SIRF4);
bSuccess = UART_Open(GPS_UART, MOD_SIRF4);
UART_SetDCBConfig(GPS_UART, &uart_dcb_sirf4, MOD_SIRF4);
UART_Register_RX_cb(GPS_UART, MOD_SIRF4, SIRF4_uart_callback);
}

关闭串口代码:
    static void SIRF4_POWER_OFF(void)
{
GPIO_WriteIO(0, GPS_GPIO_RF);
GPIO_WriteIO(0, GPS_GPIO_EN);
SIRF4_Delayms(30);
GPIO_WriteIO(1, GPS_GPIO_EN);
//SIRF4_Delayms(30);
//GPIO_WriteIO(0, GPS_GPIO_EN);

UART_TurnOnPower(GPS_UART, KAL_FALSE);
UART_Close(GPS_UART, MOD_SIRF4);
L1SM_SleepEnable(gps_sleep_handle);
print_debug("SIRF4_POWER_OFF...............");
}

求MTK大神啊!!!!!!!!!MTK串口关不了的有关问题!
[解决办法]
MTK系统,去“嵌入”板块问问吧。-_-
[解决办法]
最近在高通平台也遇到类似问题,建议你去查下它这个关闭串口的代码,因为程序可能在关闭的时候死等一个事件(而程序中有可能对这个事件设置信号的时候时序出了问题,所以一直等待下去),你可以尝试着去设置超时,然后再手动的把资源释放掉。
[解决办法]
测试单独打开串口和关闭串口看看有没有问题

热点排行
Bad Request.