查看: 1374|回复: 2

串口——解决路上

[复制链接]

该用户从未签到

发表于 2016-1-6 17:48 | 显示全部楼层 |阅读模式
不知道为什么,我的dev目录下居然没有ttys0,这让我有点不知所措,各种查,各种问,直到现在好像终于有点起色,趁热打铁,先记下来再说吧,可以让大家少走弯路哟!下面有些事请教别人的,没怎么懂,但是肯定有用,就先留着啦,以防混淆,以蓝色备注,可以忽视哟
1,在一些硬件方面的准备工作一切就绪之后(连好串口),首先进入dev目录,ls -l  一下看看具体的文件内容,哪些文件是字母c类型开头,有一串字母,cxxxxxxxxx,直到这里,就还好了,起码还是有console的,先小科普一下什么是console;

console是一个缓冲的概念,其实是为内核提供打印的。我们的pc,终端常用的是显示器和键盘构成,我们用户打印和内核打印都从这个终端反映给用户。所以,这里,/dev/console是连接到/dev/tty0的,其实这里有2个概念,console和tty这2个咚咚,怎么实现,其实console这个结构中有个device,这里其实就是tty0对应的一个虚拟终端设备。 如果,我们来个专门打印内核的设备(比如通过串口),我们把那个串口register_console,那么/dev/console就到这个串口设备了。这时,内核打印就到这个串口设备了,而用户的打印还是和上面的/dev/tty相关,如果/dev/tty对应/dev/tty0,那么用户打印还在窗口中出现。所以说/dev/console是用来外接控制台的。
所以说:关于/dev/console  应该来说更像一个缓冲结果吧,来实现对内核的打印,比如说内核把要打印的内容装入缓冲区,然后由console来决定打印到哪里吧(比如是tty0还是串口等等吧)。所以说/dev/console是用来外接控制台的。
2,接下来我们可以cat /dev/console一下,在键盘输入任意字符,然后他会再发送相应字符(因为我连接的即是发送,也是接收),如果你看到一下效果就说明你做对了:

1.png
3,接下来我们可以使用链接 In命令,把console当做tty,在这里有关于In命令的详解:http://www.linuxidc.com/Linux/2014-07/104623.htm
4,当前我们是在dev目录下的,直接ln -s console  ttyS0一下,就已经连接好了,这时候我们再ls -l 一下,可以看到dev目录是有ttyS0的了: 1.png
当我们做到这里,就可以去编写你的uart程序了,加油哟!!
接下来还要小科普一个ls -l --color命令,当我们敲下回车之后,错误的连接,就会显示红色,比如源文件不存在,就红了
1.png

像以上情况则说明没有错误

  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2016-1-6 22:30 | 显示全部楼层
    不是写了tty就是串口,在PC上一般是ttyS0,但intel edison上不是,不同的设备上名字可能都不一样,edison上的串口是ttyMFD1,另外mraa也提供了相应串口函数,看例程就有了!
    https://github.com/intel-iot-dev ... ter/examples/uart.c
    如果以上内容对你有帮助,你可以通过打赏支持作者

    该用户从未签到

    发表于 2018-11-30 20:17 | 显示全部楼层
    不知道大佬对串口扩展有没有什么新的收获,我是一名大二新手,希望前辈能帮帮忙
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    学生智能打卡系统(接入blinker)
    学生智能打卡系统(接入bl
    【项目名称】学生智能打卡系统(接入blinker) 一.感谢各位大佬 首先感谢社区的管理员
    Arduino切线机剪线机
    Arduino切线机剪线机
    设置好所需长度和数量的线材后,自动完成切割。硬件材料1*Arduino UNO1*电机驱动器1*2
    【分享】UNO直接测量电容容量
    【分享】UNO直接测量电容
    查找 Arduino 库的时候,偶然间看到了 Capacitor 这么个库,可直接用 UNO 测试电容,1
    光敏电阻调节led灯亮度的问题
    光敏电阻调节led灯亮度的
    今天学习了奈何大大的光敏电阻的课程便想做一个用光敏电阻调节led亮度的实验。 但是灯
    办公室工作环境小助手
    办公室工作环境小助手
    整理资料中,陆续更新
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表