找回密码
 注册
搜索
查看: 1475|回复: 12

[讨论] 求个高手帮忙搞定串口软件

[复制链接]
发表于 2013-4-21 19:43:24 | 显示全部楼层 |阅读模式
想在MTK6250上使用串口连接电脑,向电脑发送指定的数据,同时接收电脑数据,现在串口可以打开,也可以发送数据,
但是效率不行,比如有时电脑接收少了字符,求一高手对串口很熟悉的帮忙解决.费用面议.QQ:四三四692892.

我的代码如下:
写串口函数:(UART_PutBytes代码不支持,只支持U_PutUARTByte)
(问题描述:MTK以每秒8个字节向PC发送数据,PC零星接收到数据)
void write_to_uart()
{
U16 wSent = 0;
U8 bRet = KAL_FALSE;
static U8 j = 0;
U8 sendbuf[] = {'A','B','C','D','E','F','G','H','I'};

//        U_Purge(hPort,RX_BUF,hOwner);
U_Purge(uart_port1,TX_BUF,MY_MOD);
U_ClrTxBuffer(uart_port1,MY_MOD);
//        U_ClrRxBuffer(hPort,hOwner);

//        return;

for(wSent = 0; wSent  80)
            return;

//         uCount = U_GetBytesAvail(uart_port1);
uRead = U_GetUARTByte(port);
                buf[u1++] = uRead;               

return;
}

其中使用了U_Register_RX_cb(uart_port1, MY_MOD, read_from_uart);注册了读中断.

现在主要问题是,接收与发送不完美,但是BIN用串口下发正常.
发表于 2013-4-28 11:58:15 | 显示全部楼层
QQ 需要加入,需要验证
点评回复

使用道具 举报

 楼主| 发表于 2013-4-25 20:21:00 | 显示全部楼层
xmh800813
你是在哪里呀?可加QQ:四三四692892
点评回复

使用道具 举报

 楼主| 发表于 2013-4-25 20:19:43 | 显示全部楼层
这是我的QQ:四三四692892
期待
点评回复

使用道具 举报

发表于 2013-4-25 14:13:01 | 显示全部楼层
trade1有没搞定?如没有,你留个QQ号合电话。我与你连系
点评回复

使用道具 举报

发表于 2013-4-25 08:19:52 | 显示全部楼层
是的,我使用50 串口 和PC 连调模块的
点评回复

使用道具 举报

 楼主| 发表于 2013-4-24 21:02:15 | 显示全部楼层
mobix_a
来深圳,费用全包,代码都给你.只需帮我调通
点评回复

使用道具 举报

 楼主| 发表于 2013-4-24 21:01:31 | 显示全部楼层
你是说使用这个代码发数据没问题?
点评回复

使用道具 举报

发表于 2013-4-23 13:42:24 | 显示全部楼层
能否包给我,我帮你全部搞定
点评回复

使用道具 举报

发表于 2013-4-23 11:51:00 | 显示全部楼层
我使用50 连modis 发送数据没问题的,也是使用串口1
点评回复

使用道具 举报

 楼主| 发表于 2013-4-21 19:47:57 | 显示全部楼层
读串口:(UART_GetBytesAvail,UART_GetBytes不支持)
(读串口的问题:发现读串口不怎么被调用,我从PC以200MS一个周期向MTK发数据,MTK只是偶尔接收数据)
void read_from_uart(UART_PORT port)
{
U8 uRead;
static U32 u1 = 0;
U8 i;
kal_uint8 buf[100] = {0};
        if(u1 > 80)
            return;

//         uCount = U_GetBytesAvail(uart_port1);
uRead = U_GetUARTByte(port);
                buf[u1++] = uRead;               

return;
}

其中使用了U_Register_RX_cb(uart_port1, MY_MOD, read_from_uart);注册了读中断.

现在主要问题是,接收与发送不完美,但是BIN用串口下发正常.
点评回复

使用道具 举报

 楼主| 发表于 2013-4-21 19:47:18 | 显示全部楼层
怎么个情况,
void write_to_uart()
{
U16 wSent = 0;
U8 bRet = KAL_FALSE;
static U8 j = 0;
U8 sendbuf[] = {'A','B','C','D','E','F','G','H','I'};

//        U_Purge(hPort,RX_BUF,hOwner);
U_Purge(uart_port1,TX_BUF,MY_MOD);
U_ClrTxBuffer(uart_port1,MY_MOD);
//        U_ClrRxBuffer(hPort,hOwner);

//        return;

for(wSent \= 0; wSent \< 8; wSent++)
{
U_PutUARTByte(uart_port1, wSent + 0x30);
}

}
点评回复

使用道具 举报

 楼主| 发表于 2013-4-21 19:46:04 | 显示全部楼层
复制得有点问题.
再贴一次.
写串口函数:(UART_PutBytes代码不支持,只支持U_PutUARTByte)
(问题描述:MTK以每秒8个字节向PC发送数据,PC零星接收到数据)
void write_to_uart()
{
U16 wSent = 0;
U8 bRet = KAL_FALSE;
static U8 j = 0;
U8 sendbuf[] = {'A','B','C','D','E','F','G','H','I'};

//        U_Purge(hPort,RX_BUF,hOwner);
U_Purge(uart_port1,TX_BUF,MY_MOD);
U_ClrTxBuffer(uart_port1,MY_MOD);
//        U_ClrRxBuffer(hPort,hOwner);

//        return;

for(wSent = 0; wSent  80)
            return;

//         uCount = U_GetBytesAvail(uart_port1);
uRead = U_GetUARTByte(port);
                buf[u1++] = uRead;               

return;
}

其中使用了U_Register_RX_cb(uart_port1, MY_MOD, read_from_uart);注册了读中断.

现在主要问题是,接收与发送不完美,但是BIN用串口下发正常.
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-5-22 10:38 , Processed in 0.048682 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表