【发布时间】:2015-03-09 16:36:52
【问题描述】:
我已经在我的 FPGA 中包含了一个 UART 组件,并且我已经编写了这个示例代码来输出一个字符(我想测试它是否工作):
#include <alt_types.h>
#include <altera_avalon_pio_regs.h>
#include <altera_avalon_uart_regs.h>
#include <sys/alt_irq.h>
#include <sys/alt_alarm.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include "system.h"
int main(void)
{
int filed;
int x=0;
unsigned char c=5;
filed = open ("dev/uart_0", O_RDWR| O_NOCTTY );
while (x<10){
write (filed, &c,1);
x++;
}
}
我正在使用 realterm 读取输出,但没有出现任何内容,有什么帮助吗? 谢谢
【问题讨论】:
-
Uart 是一个硬件组件,它需要时间来传输东西,但你不会留下任何东西。无论如何,在硬件和软件上使用 NIOS 并不是那么简单,问题可能在链条的任何地方。
-
你不需要初始化东西吗?波特率等?你必须打开UART的电源吗?硬件(电缆、连接器等)是否正常工作?我们无法通过博客修复嵌入式内容 - 您必须在现场使用硬件、调试器、示波器、终端仿真器等进行修复。
-
@EugeneSh。感谢您通过我的问题,您所说的留出时间是什么意思,我应该增加诡计循环(x
-
@MartinJames 你好,当我在 Qsys 中添加 UART 组件时,我确实设置了波特率,目前我没有被审查以获得正确答案,我只想看到一个输出,会这段代码给我一个输出?如果没有,我该怎么办?
-
“不留时间”我的意思是,您正在尝试一遍又一遍地写入 UART,而无需等待前一个操作完成。但正如@MartinJames 所说,之前有很多东西需要修复..