打印
[FPGA]

SDK里面编写关于串口收发数据的问题uart XUartLite_Recv

[复制链接]
6694|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kc0309|  楼主 | 2011-5-21 13:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想用串口采集数据,现在调试串口遇到了问题,在用XUartLite_Recv函数接受从PC机传过来的数据的时候,总是不能接收到,而发送XUartLite_Send函数可以正常使用,不知道是什么问题,麻烦大家给解答一下,十分感谢!我的程序如下:

#include "stdio.h"
#include"xuartlite.h"
#include"xil_types.h"
#include"xparameters.h"
#include "xuartlite_l.h"

#define TEST_BUFFER_SIZE 16

XUartLite  xuar;


u8 SendBuffer[TEST_BUFFER_SIZE];
u8 RecvBuffer[TEST_BUFFER_SIZE];


int i,Index;
int state;
unsigned int rec_count;


int main()
{
  state=XUartLite_Initialize(&xuar, XPAR_RS232_UART_DEVICE_ID);
  if(state!=XST_SUCCESS ){
          return state;
      }

  XUartLite_ResetFifos(&xuar);

  state=XUartLite_SelfTest (&xuar);
  if(state!=XST_SUCCESS ){
            return state;
        }


  for (Index = 0; Index < TEST_BUFFER_SIZE; Index++)
     {
         SendBuffer[Index] = 0;
         RecvBuffer[Index] = 0;
     }

  while(1)
  {


   rec_count=XUartLite_Recv(&xuar,RecvBuffer ,TEST_BUFFER_SIZE);






   for (Index = 0; Index < TEST_BUFFER_SIZE; Index++)

    SendBuffer[Index]=RecvBuffer[Index] ;



         XUartLite_Send(&xuar,SendBuffer ,TEST_BUFFER_SIZE);
      for(i=0;i<9999999;i++);

  }

     return 0;
}

按以上程序,每次返回到串口调试助手上面的是00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00,也就是XUartLite_Recv这个函数没有接受到数据,我觉得是程序的问题,不知道这样用这个函数是否正确?刚刚接触Microblaze,很多地方不是很明白,希望有高手帮助,十分感谢!

相关帖子

沙发
AutoESL| | 2011-5-21 17:22 | 只看该作者
我记得Xilinx网站有串口的样例工程,下一个下来上板子先跑通,再调试自己的。确认环境没有问题

使用特权

评论回复
板凳
kc0309|  楼主 | 2011-5-22 10:14 | 只看该作者
谢谢你的建议,我去看看有没有,记得之前找过,好像是没有找到!

使用特权

评论回复
地板
jennyzheng| | 2011-6-2 16:03 | 只看该作者
帮顶~

使用特权

评论回复
5
bairan168| | 2011-6-22 14:05 | 只看该作者
:o

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

11

帖子

0

粉丝