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

安林 2012-12-13 10:28:31
在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大神啊!!!!!!!!!
...全文
214 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
绿领巾童鞋 2012-12-17
测试单独打开串口和关闭串口看看有没有问题
回复
安林 2012-12-17
楼上,谢谢!貌似还是不行,哎........谁还有方法么?
回复
安林 2012-12-14
求大牛啊...............
回复
ouziwen120624 2012-12-14
最近在高通平台也遇到类似问题,建议你去查下它这个关闭串口的代码,因为程序可能在关闭的时候死等一个事件(而程序中有可能对这个事件设置信号的时候时序出了问题,所以一直等待下去),你可以尝试着去设置超时,然后再手动的把资源释放掉。
回复
zhuyf87 2012-12-13
MTK系统,去“嵌入”板块问问吧。-_-
回复
安林 2012-12-13
顶一下,没人来帮帮我么.....
回复
相关推荐
发帖
C语言
创建于2007-09-28

6.4w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2012-12-13 10:28
社区公告
暂无公告