2465
- 收藏
- 点赞
- 分享
- 举报
调试串口改通信串口读不到数据
各位大神有没用试过调试串口改通信串口,我改了之后能正常发送,可是接收不到数据,
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
-
2008-11-19 19:04:12
-
2020-10-22 15:31:02
-
2021-03-01 15:23:46
-
2008-07-18 20:42:04
-
2016-01-06 14:28:34
-
2020-04-07 13:57:54
-
2019-08-05 22:21:29
-
2013-08-26 23:31:50
-
2019-01-15 09:08:02
-
2019-12-12 10:48:31
-
2020-03-24 10:52:57
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
10海思IVP928
-
522AP10支持F35SQA001G spi nand flash
-
20如何将自有训练的RAW降噪模型应用于AIBNR?
-
10RV1106的低功耗和休眠唤醒功能
-
10海思平台(Hi3516DV500),设置完ldc参数后 工作异常
-
5rv1126-dc-201 安装hi3881.ko wifi驱动成功后 启动connmand服务,系统就崩了
-
10ss928编码的h264帧流,用RTSP传输到电脑,VLC播放不了是什么情况?
-
10我运行rv1126的开发环境后,编译demo提示没有opencv,自行编译安装后没有解决,请问这个怎么处理呢?板子是easy eai nano
-
50CPS-1848 link不上FPGA。
-
10想问一下各位大佬们,关于VI配置成8Lan LVDS模式的相关问题
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认