2658
- 收藏
- 点赞
- 分享
- 举报
调试串口改通信串口读不到数据
各位大神有没用试过调试串口改通信串口,我改了之后能正常发送,可是接收不到数据,
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
-
2021-03-01 15:23:46
-
2008-07-18 20:42:04
-
2008-11-19 19:04:12
-
2020-10-22 15:31:02
-
2016-01-06 14:28:34
-
2020-04-07 13:57:54
-
2019-08-05 22:21:29
-
2013-08-26 23:31:50
-
2016-11-09 11:20:38
-
2019-01-15 09:08:02
-
2020-11-03 14:18:45
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认