gpt4 book ai didi

c - 为什么我的串行通信不工作?

转载 作者:太空宇宙 更新时间:2023-11-04 08:52:44 25 4
gpt4 key购买 nike

我查看了 manual (第 177 页)对于 DE2,据我所知,应该可以通过 putty 和 usb-to-serial 电缆到电路板进行串行通信,所以我从手册中获取程序:

/* A simple program that recognizes the characters 't' and 'v' */
#include <stdio.h>
#include <string.h>
int main ()
{
char* msg = "Detected the character 't'.\n";
FILE* fp;
char prompt = 0;
fp = fopen ("/dev/uart1", "r+"); //Open file for reading and writing
if (fp)
{
while (prompt != 'v')
{ // Loop until we receive a 'v'.
prompt = getc(fp); // Get a character from the JTAG UART.
if (prompt == 't')
{ // Print a message if character is 't'.
fwrite (msg, strlen (msg), 1, fp);
}
if (ferror(fp))// Check if an error occurred with the file pointer
clearerr(fp); // If so, clear it.
}
fprintf(fp, "Closing the JTAG UART file handle.\n");
fclose (fp);
}
return 0;
}

我尝试将它作为 Nios2 硬件运行,但是当我将 std i/o 配置为使用 uart 时,我收到了这条消息

nios2-terminal: 无法打开 uart: 没有那个文件或目录

然后,当我连接到终端程序(putty 串行连接)时,它无法连接。我究竟做错了什么?我尝试在 projet 的属性中将 std i/o 更改为 uart,但这没有帮助。你能帮帮我吗?

最佳答案

如何调试串行通信:

拿起 9 针串行电缆并将跳线针 2 和 3 放在一起。您可以使用回形针或任何手边的东西。引脚 2 和 3 是 TX 和 RX。如果将它们连接在一起,则计算机将接收到您从计算机发送的任何命令。您已经创建了一个串行环回!

打开 Putty,尝试连接到您的串行电缆。敲击键盘上的任意键。波特率和其他因素无关紧要,因为它是环回。

如果您在终端上看到您发送出去的字符,那么您的串口线工作正常!如果不是,则您的电缆或腻子有问题。我过去在串行通信方面遇到过腻子问题。尝试下载 Tera Term如果您遇到 Putty 无法连接的问题。

或者为您的串行电缆寻找新的驱动程序!祝你好运。

关于c - 为什么我的串行通信不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19023485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com