tq2440开发板串口读写问题,各位请进,在线等待
可是用我的tq2440连接tc35开发板,写入数据却读不出来,也不能打电话,请各位大侠指点
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <error.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <stdlib.h>
int fd;
/*
* 打开串口1
*/
int open_ttyS0()
{
//O_RDWR:以读写的方式打开设备
//O_NOCTTY:如果欲打开的文件为终端设备时,则不会将该终端当成当前进程控制终端
//O_NDELAY:以不可阻断的方式打开文件,即无论有无数据读取或等待,都会立即返回进程之中
//fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY); //虚拟机Linux测试
fd = open("/dev/tq2440_serial0", O_RDWR | O_NOCTTY | O_NDELAY); //tq2440 Linux测试
printf("\nfd = %d\n\n", fd);
if(fd < 0) //打开失败
{
return -1;
}
//恢复串口为阻塞状态
if(fcntl(fd, F_SETFL, 0) < 0) //F_SETFL:改变open设置的标志
{
close(fd);
return -2;
}
//测试是否为终端设备
if(0 == isatty(fd)) //isatty:检查设备类型
{
close(fd);
return -3;
}
return fd;
}
/*
* 设置串口1,共9步
* 数据位:8
* 校验位:无
* 波特率:115200
* 停止位:1
*/
int set_ttyS0()
{
struct termios newtio, oldtio;
//1、保存原有串口配置
if(tcgetattr(fd, &oldtio) != 0)
{
return -1;
}
//2、激活本地连接和接受使能
bzero(&newtio, sizeof(newtio)); //使用之前先清空
newtio.c_cflag |= CLOCAL | CREAD;
//3、设置字符大小
newtio.c_cflag &= ~CSIZE; //除去数据位中的位掩码
newtio.c_cflag |= CS8; //设置数据位
//4、设置奇偶校验位:无奇偶校验位
newtio.c_cflag &= ~PARENB; //激活校验位使能标志
//5、设置波特率
cfsetispeed(&newtio, B115200);
cfsetospeed(&newtio, B115200);
//6、设置停止位:1
newtio.c_cflag &= ~CSTOPB;
//7、设置等待时间和最小接收字符
newtio.c_cc[VTIME] = 0;
newtio.c_cc[VMIN] = 0;
//8、处理要写入的引用对象
tcflush(fd, TCIFLUSH); //处理未接收字符串,TCIFLUSH:刷新收到的数据但不读
//9、激活新配置
if(tcsetattr(fd, TCSANOW, &newtio) != 0) //TCSANOW:改变的配置立即生效
{
return -2;
}
return 0;
}
int main()
{
char cmd[] = "ATD 15954179972;\r";
open_ttyS0();
set_ttyS0();
printf("write: %d\n", write(fd, cmd, sizeof(cmd)));
sleep(2);
printf("read: %d\n", read(fd, cmd, sizeof(cmd)));
return 0;
}
在tc35和pc机相连的时候执行成功,如下图

但是tc35和tq2440开发板相连的时候就出现问题了,如下图

相关推荐
TQ2440烧写uboot全过程
**兼容性问题**:注意所用软件与开发板之间的兼容性,避免使用不匹配的软件版本。#### 六、总结通过本文的详细介绍,相信读者已经了解了如何通过JTAG接口对TQ2440开发板进行U-Boot的烧写。
TQ2440开发板结合UCGUI实现触屏交互
TQ2440开发板是一款基于ARM9内核的高性能开发平台,广泛应用于嵌入式系统开发、物联网项目、移动通信设备等领域。该开发板搭载了S3C2440A处理器,具备丰富的接口资源和灵活的扩展能力,使其能够满足多种硬件开发需求。容感式触屏(Projected Capacitive Touch,PCT)是一种电容式触控技术,通过在屏幕的玻璃表面嵌入电极矩阵,当手指触摸屏幕时,人体的电容会影响电极矩阵中的电容分布,从而检测触摸位置。
TQ2440开发板综合测试与原理图分析
本文还有配套的精品资源,点击获取 简介:TQ2440作为基于Samsung S3C2440处理器的嵌入式开发板,在开发领域有着广泛的应用。文章深入解析了裸跑程序的开发和应用,以及相关的硬件设计如PCB布局、布线和原理图的详细信息。还涉及到使用ADS1.2工具链进行开发和调试,以及TQ2440测试程序,旨在提供完整的开发实例,并帮助开发者理解和应用S3C2440处理器的特性。...
TQ2440开发板64位USB下载驱动完整安装指南
TQ2440开发板是一款基于ARM9架构的经典嵌入式开发平台,广泛应用于教学、科研和工业控制领域。其核心处理器为三星S3C2440芯片,具备丰富的外设接口与良好的稳定性,是学习嵌入式Linux系统开发的理想硬件平台。本章将介绍TQ2440的基本结构、应用场景以及其在嵌入式开发中的地位,帮助读者建立对开发板的整体认知。同时,将简要阐述嵌入式系统的开发流程及其与通用计算机系统的差异,为后续章节的深入学习打下坚实基础。
TQ2440开发板 TQ2440开发板
TQ2440开发板是一款基于Samsung S3C2440处理器的嵌入式系统开发平台,常用于教学、研究以及硬件原型设计。


