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

DE2板的串口UART(RS232)调试问题

DE2板的串口UART(RS232)调试问题

请教高手:


    我在DE2板上将Altera软核和相关的外设(包括串口IP)下载到FPGA中后,写程序调试遇到问题,我本是想让DE2板向电脑不停的发一个数据,但在电脑上就是收不到数据,这是那里出了问题?程序如下:


     #include <stdio.h>
#include <unistd.h>
#include "system.h" 
#include "altera_avalon_uart_regs.h"


int main(void)
{
  while (1)
  {
     IOWR_ALTERA_AVALON_UART_TXDATA(0x00001080, 0x55);
     usleep(30000); usleep(30000); usleep(30000);
     usleep(30000); usleep(30000); usleep(30000);
     usleep(30000); usleep(30000); usleep(30000);
  }
}


IOWR_ALTERA_AVALON_UART_TXDATA(0x00001080, 0x55);
在altera_avalon_uart_regs.h中有定义:


#define IOWR_ALTERA_AVALON_UART_RXDATA(base, data)    IOWR(base, 0, data)


0x00001080是UART模块的基地址


0X55是我要发的数据


另外其他的设置方面应该没有问题:如波特率,效验位,停止位等


我在论坛上看到很多人都使用的文件来访问UART,是不是只能用文件的方式访问UART吗?


我直接写发送寄存器的这种方法是不是行不通?


请高手指教。

看NiosII的软件开发文档,上面有UART的例子
谢谢giantice,giantice的答复,我已经找到了问题出在那里,这个程序可以运行,且用示波器观察到可以发出波形,而且波特率也正确,只是幅值小了点,正常的RS232的幅值应为-15v和+15v而我用示波器观察到的波形只有-6v和+6v,安RS232的数据手册应该是可以识别的电压,但是电脑就是收不到数据,不知是为什么?
我也遇到同样问题,pc机接收不到数据,可是板子上txd发送灯却亮着~~
我思故我在
uart 你直接作为字符设备,用文件打开
或将uart设为stdout看看能不能发送
我就是将uart作为字符设备的,即fp=\dev\uart_0,uart_0是我sopc里配置的串口,
再用fprintf语句,可还是收不到数据(我用串口调试工具来接收的)
我思故我在
嗯,我也遇到了这个问题,收不到数据!
亲切
你们看一下串口使用的是什么时钟,是用的系统时钟吗,其他的不可能出问题了。
在交流中前进,共同实现nios的应用。
[em08][em06][em05][em04]

你的DE2板,多少钱买的??

谢谢了..

[em06][em06][em01][em01]
返回列表