免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5472 | 回复: 13
打印 上一主题 下一主题

求串口驱动的读写程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-21 15:51 |只看该作者 |倒序浏览
linux  下 9263的串口驱动的读写程序

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
2 [报告]
发表于 2008-07-21 16:02 |只看该作者
9263没有弄过,不过串口应该是最基本的驱动程序,建议楼主参考其他的串口驱动,自己完成,何尝不是一次很好的锻炼,呵呵。

论坛徽章:
0
3 [报告]
发表于 2008-07-22 09:17 |只看该作者

回复 #2 dreamice 的帖子

呵呵 谢谢 可是我也是新手 刚刚学习 所以请教大家 以后会慢慢弄明白的

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
4 [报告]
发表于 2008-07-22 09:30 |只看该作者
原帖由 xiaoyao183 于 2008-7-22 09:17 发表
呵呵 谢谢 可是我也是新手 刚刚学习 所以请教大家 以后会慢慢弄明白的


刚学习的时候就把它弄明白阿,你不懂的或者有疑问的可以把代码贴上来大家一起讨论,这样求程序,对你没有多大帮助的。呵呵。

论坛徽章:
0
5 [报告]
发表于 2008-07-22 09:41 |只看该作者

回复 #4 dreamice 的帖子

哦 我刚学 所以对有些概念不清楚
以下是我对串口驱动的一些认识 请你指教一下
串口驱动 里比较重要数据结构应该是uart_drvier uart_ops uart_port
串口主要的功能模块也就是 初始化 释放 数据的读写和 设备检测错误的检测
我看了很多驱动 看到 数据的读写无非就是调用write read 函数罢了 具体是这样子的码
还有就是两个串口之间通讯的细节 能帮忙分析一下吗 谢谢

[ 本帖最后由 xiaoyao183 于 2008-7-22 09:46 编辑 ]

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
6 [报告]
发表于 2008-07-22 10:02 |只看该作者
原帖由 xiaoyao183 于 2008-7-22 09:41 发表
哦 我刚学 所以对有些概念不清楚
以下是我对串口驱动的一些认识 请你指教一下
串口驱动 里比较重要数据结构应该是uart_drvier uart_ops uart_port
串口主要的功能模块也就是 初始化 释放 数据的读写和 设备 ...



主要就是4个函数:
open() -- 打开串口,在里面完成串口的硬件相关设置;
read() -- 读串口数据,从串口数据寄存器读取数据;
write() -- 写串口,发送数据;
release() -- 释放也就是关闭串口;

另外还有一个ioctl()函数,实现用户空间对硬件的一些控制。

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
7 [报告]
发表于 2008-07-22 10:13 |只看该作者
建议你看看linux内核源码里面的这个文件:../drivers/char/serial167.c   从serial167_init(void)开始跟踪,不明白的可以拿出来讨论,尽量自己多思考解决问题,不然你始终不明白驱动是怎么回事。

论坛徽章:
0
8 [报告]
发表于 2008-07-22 10:19 |只看该作者

回复 #7 dreamice 的帖子

你说的那些函数我知道 他们都是些入口节点 可是你所说的那是在用户层 他真正要调用到驱动中直接跟硬件打交道的操作函数 而这个也正是程序员要完成的任务 是这样吧

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
9 [报告]
发表于 2008-07-22 10:29 |只看该作者

回复 #8 xiaoyao183 的帖子

你完成底层的驱动,以模块形式或者直接编译进内核,就会在/dev下面出现相应的设备符号,你操作这个符号就如等价于操作硬件实体了。先把驱动结构搞明白一些,仔细分析一个驱动的实现,这样对你才有很大的帮助。

论坛徽章:
0
10 [报告]
发表于 2008-07-22 10:44 |只看该作者

回复 #9 dreamice 的帖子

那我能问你一个问题吗  如果我现在就有一个硬件串口 想让它实现通讯 需要对驱动开发 那需要从何做起呢 我对这个都有些搞不懂
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP