求教,关于MTK60A的AGPS通过UART2写入数据无效的问题
时间:10-02
整理:3721RD
点击:
用的是UBLOX芯片。
写数据函数如下:
kal_uint16 UART_write_bytes(UART_PORT port, kal_uint8 *Buffaddr, kal_uint16 Length, module_type ownerid)
{
DCL_HANDLE handle;
UART_CTRL_PUT_BYTES_T data;
data.u4OwenrId = ownerid;
data.u2Length = Length;
data.puBuffaddr = Buffaddr;
handle = DclSerialPort_Open(port,0);
DclSerialPort_Control(handle,SIO_CMD_PUT_BYTES, (DCL_CTRL_DATA_T*)&data);
return data.u2RetSize;
}
buffer最大写入值是2048,
写入数据返回值正常。
对应UART的写入函数为U_PutBytes_VFIFO,
执行到
for (index = 0; index < real_count; index++)
{
DMA_PUSH(ch,*(Buffaddr+index));
}
但是UBLOX的芯片里,没有任何写入的数据;
在电脑使用UBLOX的工具,通过UART2写入数据没有问题;
写数据函数如下:
kal_uint16 UART_write_bytes(UART_PORT port, kal_uint8 *Buffaddr, kal_uint16 Length, module_type ownerid)
{
DCL_HANDLE handle;
UART_CTRL_PUT_BYTES_T data;
data.u4OwenrId = ownerid;
data.u2Length = Length;
data.puBuffaddr = Buffaddr;
handle = DclSerialPort_Open(port,0);
DclSerialPort_Control(handle,SIO_CMD_PUT_BYTES, (DCL_CTRL_DATA_T*)&data);
return data.u2RetSize;
}
buffer最大写入值是2048,
写入数据返回值正常。
对应UART的写入函数为U_PutBytes_VFIFO,
执行到
for (index = 0; index < real_count; index++)
{
DMA_PUSH(ch,*(Buffaddr+index));
}
但是UBLOX的芯片里,没有任何写入的数据;
在电脑使用UBLOX的工具,通过UART2写入数据没有问题;
遇到相同问题,请教一下哦
GPS上电后不能立即进行写操作,稍微延时一下就可以了
小编,你的读UART数据是用是断方式吗?
