Board logo

标题: 关于UART数据的接受格式 [打印本页]

作者: xinyun001    时间: 2006-4-11 17:22     标题: 关于UART数据的接受格式

char *msg=""hellow world from nios_2!"!";


fprinf(pf,"%s",msg);


在PC段接受到的数据如下:


60 92 9C 70 82 6E 6E 9E 00 EC 9E 7E 62 9F 38 82 9C 00 8C 9C 8C F2 6E EE 02 C4 3E 12 6E 6E 7C FE 12 1C 02 8C 02


是十六进制的。


当我向串行口输出的是a[100],里面的值为0到99


pc得到的数据为


80 6C 1C 8C EC 1C 90 6C 8E 9C EC 8E E0 6C 1F 82 0C 1C 82 6C 1C 82 8C 1C 82 EC 1C 82 0C 8E 82 6C 8E 82 8C 8E 82 EC 8E 82 0C 1F 82 6C 1F 8C 0C 1C 8C 6C 1C 8C 8C 1C 8C EC 1C 8C 0C 8E 8C 6C 8E 8C 8C 8E 8C EC 8E 8C 0C 1F 8C 6C 1F 8E 0C 1C 8E 6C 1C 8E 8C 1C 8E EC 1C 8E 0C 8E 8E 6C 8E 8E 8C 8E 8E EC 8E 8E 0C 1F 8E 6C 1F 90 0C 1C 90 6C 1C 90 8C 1C 90 EC 1C 90 0C 8E 90 6C 8E 90 8C 8E 90 EC 8E 90 0C 1F 90 6C 1F 92 0C 1C 92 6C 1C 92 8C 1C 92 EC 1C 92 0C 8E 92 6C 8E 92 8C 8E 92 EC 8E 92 0C 1F 92 6C 1F 9C 0C 1C 9C 6C 1C 9C 8C 1C 9C EC 1C 9C 0C 8E 9C 6C 8E 9C 8C 8E 9C EC 8E 9C 0C 1F 9C 6C 1F 9E 0C 1C 9E 6C 1C 9E 8C 1C 9E EC 1C 9E 0C 8E 9E 6C 8E 9E 8C 8E 9E EC 8E 9E 0C 1F 9E 6C 1F E0 0C 1C E0 6C 1C E0 8C 1C E0 EC 1C E0 0C 8E E0 6C 8E E0 8C 8E E0 EC 8E E0 0C 1F E0 6C 1F E2 0C 1C E2 6C 1C E2 8C 1C E2 EC 1C E2 0C 8E E2 6C 8E E2 8C 8E E2 EC 8E E2 0C 1F E2 6C 1F


不知道上面的是什么格式的。看不懂!


 


作者: meling    时间: 2006-4-12 00:27

我也遇到同样的问题
作者: meling    时间: 2006-4-12 00:33

#include
#include
int main (void)
{
char buff[256];
char* msg = “hello world”;
FILE* fp;
fp = fopen (“/dev/uart1”, “w”);
if (fp)
{
fprintf(fp, “%s”,msg);
fread(buff,1,256,fp);

fclose (fp);
}
return 0;
}
我用这段程序测试有问题啊
我在sopc中的仿真输入字符流为iloveming,但读进去后再打印出来显示不匹配
就是上面的问题
作者: UseNios    时间: 2006-4-13 14:12

用的晶振是几兆的?
加这个模块时提示的错误率是多少?
作者: meling    时间: 2006-4-13 19:51

uart接受数据就没有正确过
这和晶振有什么关系吗?
作者: xinyun001    时间: 2006-4-15 13:58

50M
uart是9600
我的这样的
但是现在没有实验箱了
过几天再调试了

作者: meling    时间: 2006-4-15 21:45

#include
#include
int main (void)
{
char buff[256];
char* msg = “hello world”;
FILE* fp;
fp = fopen (“/dev/uart1”, “r+”);
if (fp)
{
fprintf(fp, “%s”,msg);
fread(buff,1,256,fp);

fclose (fp);
}
return 0;
}

fread(buff,1,256,fp);

fclose (fp);
}
return 0;
}
我知道为什么我读出的数据部队了,在用bebug时发现fopen就没有打开uart
为什么打不开呢?
作者: meling    时间: 2006-4-15 21:47

以“w”方式打开就不能接受,只能发送
作者: moonduke    时间: 2006-7-28 20:35

我遇到奇怪的问题,板子上txd发送数据绿灯亮,可是pc机收不到数据(我用串口调试工具来接收),这是怎么回事??
作者: meling    时间: 2006-7-29 00:36

你试着把uart设为stdout
作者: moonduke    时间: 2006-7-29 12:20

如果把uart设为stdout,会提示permission denied ,pc机这边就无法打开调试工具接收数据!
作者: chengbing8201    时间: 2006-11-27 14:07

很多问题没有解决!希望高手能看看!
作者: kzw    时间: 2006-11-27 16:06

串口设置为stdout会出问题??

楼上有什么问题。


作者: fengdan    时间: 2006-11-29 16:05

基本上,他们遇到的问题我都遇到过!郁闷了我就!
作者: kzw    时间: 2006-11-29 17:04

串口其实是很容易操作的,可以直接设置为stdout,自己可以编程操作。
作者: bjxiong    时间: 2006-11-30 09:59

嗯!楼上的方法不错!最好有一个流程表,按照流程做就ok了




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0