首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

为什么我的串口接收不到PC发来的数据

为什么我的串口接收不到PC发来的数据

#include <stdio.h>
#include "alt_types.h"
int main(void)
{
alt_u8  time1;
alt_u16 time2;
alt_u32 time3;
FILE* fp;
fp=fopen("/dev/UART0","r+");

if(fp==NULL)
  {
  printf("Can't open uart!");
  exit(1);
  }
else
  {
  while(1)
    {
    time1=getc(fp);
    time2=getc(fp);
    time3=getc(fp);
    fprintf(fp,"time1=%c,time2=%c,time3=%c",time1,time2,time3);
    }
  fclose(fp);
  }
}

当我通过串口助手发送了3个字符后.始终没有打印出来.

各位说说啥
NIOS从串口接收的数据要以十六进制数“D”(十进制的“13”)做为字符串的结尾才行。
软件?硬件?这是一个问题!

谢谢楼上的了

我通过串口助手发了0D了,还是不行

好像程序在停在getc(fp)这里了,我用示波器打了FPGA这边关于UART的RX ,这根线上数据是对的,就是接收不到,现在都急死了,那位仁兄给指点小弟下啥

是不是有什么地方没有设置好?

测试过了,正常!!!!!!!

dfdf
time1=d,time2=f,time3=d
dfdsfdfdfd
time1=f,time2=
,time3=
time1=d,time2=f,time3=dtime1=s,time2=f,time3=dtime1=f,time2=d,time3=f
fggfgfg
time1=d,tim
e2=
,time3=
time1=f,time2=g,time3=gtime1=f,time2=g,time3=f

不是程序上的问题,你看一下你的uart设置、时钟等,是不是有什么问题,以前碰到过类似的问题,uart的时钟选择错了。

在交流中前进,共同实现nios的应用。

kzw您好,

我在使用uart中遇到一些问题,nios能发送,但不能接收信息,

提到uart的时钟选择错了,那么时钟的选择有什么需要注意的?

打扰了!谢谢!!

找到问题了,是由于FPGA上的资源不足了,导致uart接收部分出现问题
返回列表