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大神啊!!!!!!!!!
...全文
317 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
绿领巾童鞋 2012-12-17
  • 打赏
  • 举报
回复
测试单独打开串口和关闭串口看看有没有问题
安林 2012-12-17
  • 打赏
  • 举报
回复
楼上,谢谢!貌似还是不行,哎........谁还有方法么?
安林 2012-12-14
  • 打赏
  • 举报
回复
求大牛啊...............
ouziwen120624 2012-12-14
  • 打赏
  • 举报
回复
最近在高通平台也遇到类似问题,建议你去查下它这个关闭串口的代码,因为程序可能在关闭的时候死等一个事件(而程序中有可能对这个事件设置信号的时候时序出了问题,所以一直等待下去),你可以尝试着去设置超时,然后再手动的把资源释放掉。
zhuyf87 2012-12-13
  • 打赏
  • 举报
回复
MTK系统,去“嵌入”板块问问吧。-_-
安林 2012-12-13
  • 打赏
  • 举报
回复
顶一下,没人来帮帮我么.....

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧