天嵌 ARM开发社区

 找回密码
 注册
查看: 3024|回复: 6

tq2440板子里的串口设备文件是那个?

[复制链接]
鬼鬼一哈 发表于 2010-9-26 13:43:30 | 显示全部楼层 |阅读模式
没有ttyS0,是那个tq2440_serial0么?
还有第二幅图为什么一个执行程序卡在那里不动了呢?
第三个问题:我是想让我的电脑,也就是linux的终端执行一个程序,这个程序是通过笔记本的串口向2440发一些数,然后2440把收到的数再返回给电脑,电脑再显示出来,电脑发数的部分好像没问题了,就是2440接受的部分有问题。。。。。。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
天嵌_support1 发表于 2010-9-26 13:58:42 | 显示全部楼层
TQ2440上的串口设备名称是 tq2440_serialN (N==0,1,2).
你是想向串口写入数据,然后再终端上显示出来的吧?
你参考一下光盘的测试程序中的串口测试部分。
 楼主| 鬼鬼一哈 发表于 2010-9-26 15:14:17 | 显示全部楼层
本帖最后由 鬼鬼一哈 于 2010-9-26 15:18 编辑

我有点不明白,我的理解是:你说光盘里的测试程序串口部分,里面全是对寄存器操作,而且那也没有宏定义!例如下面一段代码,难道我要自己加宏定义?
#define rULCON0     (*(volatile unsigned *)0x50000000)
#define rUCON0      (*(volatile unsigned *)0x50000004)
#define rUFCON0     (*(volatile unsigned *)0x50000008)

void Uart_Init(int pclk,int baud)
{
    int i;
    if(pclk == 0)
    pclk    = PCLK;
    rUFCON0 = 0x0;   //UART channel 0 FIFO control register, FIFO disable
    rUFCON1 = 0x0;   //UART channel 1 FIFO control register, FIFO disable
    rUFCON2 = 0x0;   //UART channel 2 FIFO control register, FIFO disable
    rUMCON0 = 0x0;   //UART chaneel 0 MODEM control register, AFC disable
    rUMCON1 = 0x0;   //UART chaneel 1 MODEM control register, AFC disable
//UART0
    rULCON0 = 0x3;   //Line control register : Normal,No parity,1 stop,8 bits
    rUCON0  = 0x245;   // Control register
    rUBRDIV0=( (int)(pclk/16./baud+0.5) -1 );   //Baud rate divisior register 0
//UART1
    rULCON1 = 0x3;
    rUCON1  = 0x245;
    rUBRDIV1=( (int)(pclk/16./baud+0.5) -1 );
}
而linux中的串口只是把其设备文件进行操作,头文件要加入#include <termios.h>旧可以对串口进行操作你看下我这个简单的打开串口的程序:
int open_port(int com_port)
{
      int fd;
#if(COM_TYPE == GNR_COM)
char *dev[] = {"/dev/tq2440_serial0","/dev/tq2440_serial1","/dev/tq2440_serial2"};
#else
   char *dev[] = {"/dev/ttyUSB0","/dev/ttyUSB1","/dev/ttyUSB2"};
#endif
     
       if((com_port <0) || (com_port > MAX_COM_NUM))           { return -1; }

       fd = open(dev[com_port-1],O_RDWR|O_NOCTTY|O_NDELAY);
       if(fd <0)
         {
           perror("open serial port");
           return (-1);
         }
  
        if(fcntl(fd,F_SETFL,0) < 0)        {  perror("fctnl F_sETFL\n");}
        if(isatty(STDIN_FILENO)==0)        {  perror("standard input is not a termial device");}
        
        return fd;
}
大家指导指导啊。。。。。。。。。。。
qianguozheng 发表于 2011-8-20 17:48:14 | 显示全部楼层
这个tq2440_serial0串口是RS232吗 ? 我感觉是控制uart 的正好有三个
仰天大笑中 发表于 2011-10-4 08:02:16 | 显示全部楼层
学习学习学习
anling 发表于 2011-10-4 14:48:28 | 显示全部楼层
第一个是裸机代码
第二部分的代码是测试串口程序~~
也是前段时间做的串口通讯
不知道楼主哪里不理解呢?
写出来我们一起讨论吧!
mercury20102013 发表于 2012-8-31 22:14:43 | 显示全部楼层
同问,/dev/没有ttyS0,但是我在做qt4串口接收终端的时候,接收不到数据,也发送不了数据。这是为什么?那tq2440对应的串口COM1是/dev/下的哪一个呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-10-5 22:24 , Processed in 1.036173 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表