baimahe

baimahe

0个粉丝

6

问答

0

专栏

1

资料

baimahe  发布于  2016-04-08 16:06:29
采纳率 0%
6个问答
3415

海思使用串口1的时候,接收不及时。请问是什么原因呢

 
本帖最后由 baimahe 于 2016-4-8 16:08 编辑

现在因项目需求,需要使用串口1,海思使用串口1的时候,串口发送没有问题,但是接收不及时。不使用CAT /dev/ttyAMA& 根本不能立即接收。但是目前遇到的问题是,发送的字符串头尾倒置,比如我发addddddddddddddddddffffff,得到的数据是faddddddddddddddd,请问是什么原因呢[code]void RS485_Open(void)
{
        struct sigaction saio; /*definition of signal axtion */
         char *dev  = "/dev/ttyAMA1"; //串口1
         fd_RS485= OpenDev(dev);
          set_speed(fd_RS485,115200);
         if (set_Parity(fd_RS485, 8, 1, 'N') == FALSE)  
         {
                   printf("Set Parity Error/n");
                   return -1;
         }

}


void Clear_RS485_RX(void)
{
        int  i;
        RS485_startup = 0;
        for(i=0;i<1024;i++) {g8_RS485_Buff=0;}
}

void Send_RS485_Command(const char *s)
{
        unsigned int count;
        char Height[5];
        count = 12;//strlen(s);
        Clear_RS485_RX();
        write(fd_RS485, s, count);
}


void* RS485_monitor(void *arg)  /* 捕捉RS485数据接收 */
{
        char RS485_VALE[10]= {0};
        while(1)
        {
                if(read(fd_RS485, RS485_VALE, 1) > 0)
                {
                       if(RS485_startup ++ >= 1024)
                               {
                                  RS485_startup = 0;
                               }
                        memcpy(&g8_RS485_Buff[RS485_startup],RS485_VALE,1);                       
                        //printf(".\n");
                        printf( "%s", RS485_VALE);
                }               
        }
}
[/code]
我来回答
回答2个
时间排序
认可量排序

药导

1个粉丝

23

问答

0

专栏

11

资料

药导 2016-07-07 11:34:33
认可0
你这个应该不是发送的字符串头尾倒置的问题,详细可以参考我的帖子[url]http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=11862&page=1#pid33397[/url]

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-07-07 23:26:34
认可0
本帖最后由 ngswfx 于 2016-7-7 23:32 编辑

尝试读取的时候,读取大一点试试。感觉一个字符有点太狠了。底层要是有缓冲问题不大,如果缓冲小,估计麻烦了。
每次读取1024个字符,然后根据读取到的实际长度,拷贝。

////////////我在想,串口部分的缓冲底层不知道怎么处理的。如果线程优先级不够高,会不会读取不及时?


////////////另外,串口数据首发这种东西,最好还是封装一下。可以容错。
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区