常见泽1 发表于 2024-4-24 22:41

《原子嵌入式Linux驱动开发详解与实战》第25章 Linux RS232驱动实验阅读心得及实操

<div class='showpostmsg'><p align="left"><span style="font-family:宋体;"><span style="font-size:16px;">串口是很常用的一个外设,在 Linux 下通常通过串口和其他设备或传感器进行通信,根据电平的不同,串口分为 TTL 和 RS232。不管是什么样的接口电平,其驱动程序都是一样</span></span></p>

<p align="left" ><span style="font-family:宋体;"><span style="font-size:16px;">开发板的USB口是连接的UART1</span></span></p>

<p align="left" ><span style="font-family:宋体;"><span style="font-size:16px;">这一节我们需要测试的是UART3</span></span></p>

<p align="left" ><span style="font-family:宋体;"><span style="font-size:16px;">所以需要重新连线</span></span></p>

<p align="left" ><span style="font-family:宋体;"><span style="font-size:16px;"> &nbsp;</span></span></p>

<p align="left" >&nbsp;</p>

<p align="left" ><span style="font-family:宋体;"><span style="font-size:16px;"> &nbsp;</span></span></p>

<p align="left" ><span style="font-family:宋体;"><span style="font-size:16px;">将JP1的UART3_TXD链接rxd</span></span></p>

<p align="left" ><span style="font-family:宋体;"><span style="font-size:16px;">UART3_RXD链接txd</span></span></p>

<p align="left" >&nbsp;</p>

<p align="left" ><span style="font-family:宋体;"><span style="font-size:16px;">连好之后就是可以开始测试串口3了</span></span></p>

<p align="left" ><span style="font-family:宋体;"><span style="font-size:16px;"> &nbsp;</span></span></p>

<p align="left" ><span style="font-family:宋体;"><span style="font-size:16px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></p>

<p align="left" >&nbsp;</p>

<p align="left" ><span style="font-family:宋体;"><span style="font-size:16px;"><strong>二设备树里添加</strong></span></span></p>

<pre>
<code>         pinctrl_uart3: uart3grp {

                            fsl,pins = &lt;

                                     MX6UL_PAD_UART3_TX_DATA__UART3_DCE_TX         0x1b0b1

                                     MX6UL_PAD_UART3_RX_DATA__UART3_DCE_RX         0x1b0b1

                            &gt;;

                   };</code></pre>

<p >&nbsp;</p>

<pre>
<code>&amp;uart3 {

         pinctrl-names = "default";

         pinctrl-0 = &lt;&amp;pinctrl_uart3&gt;;

         status = "okay";

};</code></pre>

<p >&nbsp;</p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;">三开始测试</span></span></p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;">先查看下是否有ttymxc的串口驱动</span></span></p>

<p >&nbsp;</p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;">/proc/devices是一个非常重要的文件,它记录了系统中当前加载的所有设备驱动,cat /proc/devices命令则可以用来查看这些设备的详细信息</span></span></p>

<p >&nbsp;</p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;">cat /proc/devices</span></span></p>

<p >&nbsp;</p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;"> &nbsp;</span></span></p>

<p >&nbsp;</p>

<p >&nbsp;</p>

<p >&nbsp;</p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;"> &nbsp;</span></span></p>

<p >&nbsp;</p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;">显示某个串口参数信息:stty -F /dev/ttymxc -a</span></span></p>

<p >&nbsp;</p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;">dmesg | grep ttymxc</span></span></p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;"> &nbsp;</span></span></p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;">stty -F /dev/ttymxc2 -a</span></span></p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;"> &nbsp;</span></span></p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;">开始测试</span></span></p>

<p >&nbsp;</p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;">echo &quot;abcdefg&quot;&nbsp; &gt;&nbsp; /dev/ttymxc2</span></span></p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;">stty -F /dev/ttymxc2 speed 115200 cs7 -parenb -cstopb&nbsp; -echo</span></span></p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;"> &nbsp;</span></span></p>

<p >&nbsp;</p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;">测试接收</span></span></p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;">一定要加发送新行,否则收不到</span></span></p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;">显示串口接收数据:cat&nbsp;&nbsp; /dev/ttymxc2</span></span></p>

<p ><span style="font-family:宋体;"><span style="font-size:16px;"> &nbsp;</span></span></p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

秦天qintian0303 发表于 2024-4-25 11:46

<p>看题目吓我一跳啊,这一章一章的都到25章了,效率啊。跳的不错</p>

常见泽1 发表于 2024-4-26 22:51

秦天qintian0303 发表于 2024-4-25 11:46
看题目吓我一跳啊,这一章一章的都到25章了,效率啊。跳的不错

<p>哈哈哈&nbsp; 没办法太厚了&nbsp; 时间根本来不及 先完成测评计划&nbsp;&nbsp;</p>

beyond_笑谈 发表于 2024-4-29 09:33

常见泽1 发表于 2024-4-26 22:51
哈哈哈&nbsp; 没办法太厚了&nbsp; 时间根本来不及 先完成测评计划&nbsp;&nbsp;

<p>这本书是挺厚的,书籍内容也不错,唯独正点原子开发板的硬件设计的太随意了</p>

常见泽1 发表于 2024-5-1 11:33

beyond_笑谈 发表于 2024-4-29 09:33
这本书是挺厚的,书籍内容也不错,唯独正点原子开发板的硬件设计的太随意了

<p>硬件设计太随意了 还请指教&nbsp; LINUX我入门没多久,没发现</p>

beyond_笑谈 发表于 2024-5-1 15:19

常见泽1 发表于 2024-5-1 11:33
硬件设计太随意了 还请指教&nbsp; LINUX我入门没多久,没发现

<p>看一下开发板的原理图设计就知道了,原子的软件应该是强项,开发板硬件设计不太适合工业应用场景</p>

通途科技 发表于 2024-8-2 11:51

<p>支持一下楼主,辛苦了,感谢楼主分享的嵌入式Linux驱动开发的技术内容,希望楼主再接再厉</p>
页: [1]
查看完整版本: 《原子嵌入式Linux驱动开发详解与实战》第25章 Linux RS232驱动实验阅读心得及实操