2703
- 收藏
- 点赞
- 分享
- 举报
调试串口改通信串口读不到数据
各位大神有没用试过调试串口改通信串口,我改了之后能正常发送,可是接收不到数据,
1.把uboot的console=ttyAMA0,115200去掉了内核打印
2.注释掉inittab的ttyS000::respawn:/sbin/getty -L ttyS000 115200 vt100 # GENERIC_SERIAL
请问是不是我的方法不对?
我用cat /proc/tty/driver/ttyAMA 查看每次uart0的rx是有变化的,说明串口数据收到缓冲区了吧?但是调用read读数据的时候每次返回都是0,每次read都有select一下的
serinfo:1.0 driver revision:
0: uart:PL011 rev2 mmio:0x20080000 irq:5 tx:9025 rx:74 RTS|CTS|DTR|DSR|CD|RI
1: uart:PL011 rev2 mmio:0x20090000 irq:30 tx:9494 rx:21257 RTS|DTR|DSR|CD|RI
2: uart:PL011 rev2 mmio:0x200A0000 irq:25 tx:0 rx:1870 RTS|CTS|DTR|DSR|CD|RI
接收函数如下:
int UART0_Recv(int fd, char *rcv_buf, int data_len)
{
int len, fs_sel=1;
fd_set fs_read;
struct timeval time;
FD_ZERO(&fs_read);
FD_SET(fd, &fs_read);
time.tv_sec = 3;
time.tv_usec = 0;
fs_sel = select(fd + 1, &fs_read, NULL, NULL, &time);
int totol = 0;
ioctl(fd, FIONREAD, &totol);
printf("fs_sel = %d %d\n", fs_sel, totol);
if (fs_sel && FD_ISSET(fd, &fs_read))
{
len = read(fd, rcv_buf, 1);
printf("fs_sel %d = %d %s\n", errno, len, rcv_buf);
return len;
}
else
{
return FALSE;
}
}
1.把uboot的console=ttyAMA0,115200去掉了内核打印
2.注释掉inittab的ttyS000::respawn:/sbin/getty -L ttyS000 115200 vt100 # GENERIC_SERIAL
请问是不是我的方法不对?
我用cat /proc/tty/driver/ttyAMA 查看每次uart0的rx是有变化的,说明串口数据收到缓冲区了吧?但是调用read读数据的时候每次返回都是0,每次read都有select一下的
serinfo:1.0 driver revision:
0: uart:PL011 rev2 mmio:0x20080000 irq:5 tx:9025 rx:74 RTS|CTS|DTR|DSR|CD|RI
1: uart:PL011 rev2 mmio:0x20090000 irq:30 tx:9494 rx:21257 RTS|DTR|DSR|CD|RI
2: uart:PL011 rev2 mmio:0x200A0000 irq:25 tx:0 rx:1870 RTS|CTS|DTR|DSR|CD|RI
接收函数如下:
int UART0_Recv(int fd, char *rcv_buf, int data_len)
{
int len, fs_sel=1;
fd_set fs_read;
struct timeval time;
FD_ZERO(&fs_read);
FD_SET(fd, &fs_read);
time.tv_sec = 3;
time.tv_usec = 0;
fs_sel = select(fd + 1, &fs_read, NULL, NULL, &time);
int totol = 0;
ioctl(fd, FIONREAD, &totol);
printf("fs_sel = %d %d\n", fs_sel, totol);
if (fs_sel && FD_ISSET(fd, &fs_read))
{
len = read(fd, rcv_buf, 1);
printf("fs_sel %d = %d %s\n", errno, len, rcv_buf);
return len;
}
else
{
return FALSE;
}
}
我来回答
回答3个
时间排序
认可量排序
认可0
认可0
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2020-08-19 14:52:01
-
2015-05-24 14:35:14
-
2022-10-21 16:28:41
-
2020-10-22 14:55:26
-
2015-04-01 19:01:44
-
142017-09-18 10:52:07
-
2018-12-18 09:16:30
-
2008-11-19 18:58:18
-
2016-01-06 14:28:34
-
2021-03-01 15:23:46
-
2008-11-19 19:04:12
-
2020-10-22 15:31:02
-
2008-07-18 20:42:04
-
2020-04-07 13:57:54
-
2019-08-05 22:21:29
-
2013-08-26 23:31:50
-
2019-01-15 09:08:02
-
2016-11-09 11:20:38
-
2020-11-03 14:18:45
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5SS928的emmc有32GB,bootargs设置使用16GB,但是为啥能用的只有rootfs的大小
-
33SS928怎样烧写ubuntu系统
-
10ToolPlatform下载rootfs提示网络失败
-
10谁有GK7205V500的SDK
-
5Hi3516CV610 烧录不进去
-
10Hi3559AV100 芯片硬解码h265编码格式的视频时出现视频播放错误,解码错误信息 s32PackErr:码流有错
-
5海思SS928 / SD3403的sample_venc.c摄像头编码Demo中,采集到的摄像头的YUV数据在哪个相关的函数中?
-
5海鸥派openEuler无法启动网卡,连接WIFI存在问题
-
66有没有ISP相关的巨佬帮忙看看SS928对接IMX347的图像问题
-
50求助hi3559与FPGA通过SLVS-EC接口对接问题
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认