主题 : 求助:有关armcomtest的用法 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 65760
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
综合积分: 16 分
注册时间: 2012-03-22
最后登录: 2012-08-13
楼主  发表于: 2012-07-16 18:35

 求助:有关armcomtest的用法

最近想通过超级终端(通过串口0)去控制Mini2440,想把串口1的波特率由原来的115200改为9600,让串口1去和单片机通信。用到armcomtest。请问这个怎么改啊?
这是它的提示
Usage: comtest [-d device] [-t tty] [-s speed] [-7] [-c] [-x] [-o] [-h]
         -7 7 bit
         -x hex mode
         -o output to stdout too
         -c stdout output use color
         -h print this help


可是我输入[root@FriendlyARM /]# armcomtest -s 9600B
提示是:Unable to open device
strerror() is No such file or directory


第二次root@FriendlyARM /]# armcomtest -s /dev/ttySAC1 9600B
Bad speed
strerror() is Success


谁可以帮我一下啊?很着急。。。
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2012-07-16 18:48
试试armcomtest -s /dev/ttySAC1 9600
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 65760
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
综合积分: 16 分
注册时间: 2012-03-22
最后登录: 2012-08-13
2楼  发表于: 2012-07-16 19:34

 回 1楼(mindee) 的帖子

这个还是不行
[root@FriendlyARM /]# armcomtest -s /dev/ttySAC1 9600
Bad speed
strerror() is Success

我找到应用程序,程序如下:
for (;;) {
        int c = getopt(argc, argv, "d:s:t:7xoch");
        if (c == -1)
            break;
        switch(c) {
        case 'd':
            DeviceName = optarg;
            break;
        case 't':
            TtyName = optarg;
            break;
        case 's':
        if (optarg[0] == 'd')
         {
        DeviceSpeed = SerialSpeed(optarg + 1);
        }
        else if (optarg[0] == 't')
         {
        TtySpeed = SerialSpeed(optarg + 1);
        }
        else
                TtySpeed = DeviceSpeed = SerialSpeed(optarg);
            break;
    case 'o':
        OutputToStdout = 1;
        break;
    case '7':
        ByteBits = CS7;
        break;
        case 'x':
            OutputHex = 1;
            break;
    case 'c':
        UseColor = 1;
        break;
        case '?':
        case 'h':
        default:
        PrintUsage();
        }
    }


而有关SerialSpeed的函数如下:
static int SerialSpeed(const char *SpeedString)
{
    int SpeedNumber = atoi(SpeedString);
#   define TestSpeed(Speed) if (SpeedNumber == Speed) return B##Speed
    TestSpeed(1200);
    TestSpeed(2400);
    TestSpeed(4800);
    TestSpeed(9600);
    TestSpeed(19200);
    TestSpeed(38400);
    TestSpeed(57600);
    TestSpeed(115200);
    TestSpeed(230400);
    Error("Bad speed");
    return -1;
}

请问如何写这几个参数呢?