注册 登录
查看: 429|回复: 6

[其他] 上位机-NRF

[复制链接]
发表于 2018-10-24 09:35:20 | 显示全部楼层 |阅读模式
本帖最后由 hui_ 于 2018-10-24 10:12 编辑

今日登录论坛,看到山外出了NRF转USB的模块,想起之前自己用的一个上位机软件,软件是在智能车调试软件(NRF通讯)——共享这个帖子的基础上加的,主要增加了两个东西,一个是摄像头图像页面中的两个按钮(黑白反转与显示线条),另外一个是多增加了一个页面用来设置NRF转串口模块。对于“黑白反转”,主要是“1代表黑0代表白”与“1代表白0代表黑”的区别,似乎对于山外的图像应该关闭(好久没用记得不太清楚,如果错了勾选这个按钮就是了);对于“显示线条”,主要是在单片机传送图像的时候,顺便把寻线的结果传回来,显示到上位机上;而设置NRF转USB模块,是当时网上找到个软件,但是多用几次就不让用了,故加上了这个功能,我用的就是网上普通的NRF转USB串口模块,跟那个帖子里面的是一样的,不知道现在山外现在出的模块能不能用。



如果需要上位机显示单片机的寻线结果,单片机应该这样发送数据:
void vcan_sendImgLine(void *imgaddr, uint32_t imgsize)
{
    uint8_t cmdf[13] = {'#', '|','1', '|','1','|', '(','8', '0','+', '6','0', ')'};    //上位机 使用的命令
    uint8_t cmdr[2] = {'|','$'};    //上位机 使用的命令

    uint8 sendBuff[180];
    uart_putbuff(VCAN_PORT, cmdf, sizeof(cmdf));    //先发送命令
    uart_putbuff(VCAN_PORT, (uint8_t *)imgaddr, imgsize); //再发送图像

    for(int i = 0; i<60; i++)
    {
        sendBuff= (uint8)left_line;
    }
    for(int i = 0; i<60; i++)
    {
        sendBuff[i+60] = mid_line;
    }
    for(int i = 0; i<60; i++)
    {
        sendBuff[i+120] = right_line;
    }
    uart_putbuff(VCAN_PORT, (uint8_t *)sendBuff, 180); //再发送线

   
    uart_putbuff(VCAN_PORT, cmdr, sizeof(cmdr));    //先发送命令
}
左边线,中线,右边线的结果分别放到
left_line[60],mid_line[60],right_line[60]这三个数组里面,然后用调用函数vcan_sendImgLine(void *imgaddr, uint32_t imgsize)。
注:这个
函数vcan_sendImgLine是用蓝牙或者串口发的,如果要用nrf稍微改一下应该可以用,我没有用过nrf给电脑发图片。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2018-10-24 09:48:57 | 显示全部楼层
我们那款USB转NRF,和之前网上通用那款,协议是一样的。2个,只要参数配置一致,你可以一个电脑用我们的usb转NRF,另外一个电脑用常见的那款USB转NRF,是可以相互通信的。

主要是原先的那款传输能力比较弱,数据一多就必然丢数据,只能用低波特率,所以才新出一款。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-24 09:55:50 | 显示全部楼层
我是十三届的,十四届应该不会参加了。
以前那款nrf转usb的速率确实不太行,特别容易卡死,电脑和单片机之间传图像成功率比较低。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-24 09:57:46 | 显示全部楼层
本帖最后由 hui_ 于 2018-10-24 10:01 编辑
山外メ雲ジ 发表于 2018-10-24 09:48
我们那款USB转NRF,和之前网上通用那款,协议是一样的。2个,只要参数配置一致,你可以一个电脑用我们的usb ...

我用这个上位机的时候,基本是用蓝牙传的图像
NRF是我用来给单片机之间通信的,偶尔与电脑连接下
回复 支持 反对

使用道具 举报

发表于 2018-10-24 10:33:44 | 显示全部楼层
hui_ 发表于 2018-10-24 09:57
我用这个上位机的时候,基本是用蓝牙传的图像
NRF是我用来给单片机之间通信的,偶尔与电脑连接下

蓝牙,我们自己测试也只能用9600,不然数据一多,就会丢数据。

蓝牙的缓存,肯定比原先的那款usb转nrf大。

单片机之间,用NRF是没问题,主要是单片机内部做了缓存,但原先那款usb转nrf,缓存太低
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-24 11:29:40 | 显示全部楼层
山外メ雲ジ 发表于 2018-10-24 10:33
蓝牙,我们自己测试也只能用9600,不然数据一多,就会丢数据。

蓝牙的缓存,肯定比原先的那款usb转nrf ...

我当时用的115200,发的速率稍微慢一点点 ,效果还是可以的
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2018-10-25 14:16:36 | 显示全部楼层
谢谢分享,收下了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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