查看: 2460|回复: 3

2、LinkIt ONE 串口

[复制链接]
  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2016-4-19 20:10:44 | 显示全部楼层 |阅读模式
    分享到:
    1000px-LinkItONE_RESOURCE.png


    LinkIt ONE 具有两个串口:serial 是连接的USB 串口,serila1 是物理串口(P0和P1 引脚)。 serial 直接连接USB即可以使用,和PC通信很方便。Serial1和其它(单片机、UART)通信,直接连接三根线(`TxD、RxD、GND`)即可。

    serial.png


    如上图所示,串口的函数还是挺精简的。
    1. > Serial.begin(); //开启串口
    2. >Serial.end();    //关闭串口
    3. >Serial.available();//判断串口缓冲器是否有数据装入
    4. >Serial.read();    //读取串口数据
    5. >Serial.peek();    //返回下一字节(字符)输入数据,但不删除它
    6. >Serial.flush();    //清空串口缓存
    7. >Serial.print();    //写入字符串数据到串口
    8. >Serial.println();   //写入字符串数据+换行到串口
    9. >Serial.write();     //写入二进制数据到串口
    10. >Serial.SerialEvent();//read时触发的事件函数
    11. >Serial.readBytes(buffer,length);//读取固定长度的二进制流
    复制代码
    下面是一个简单的理解,将串口输入得到的数据,回显出来:
    1. char temp;
    2. char buf[100];
    3. int count;  
    4. void setup()
    5. {
    6.     Serial.begin(115200);
    7.     count = 0;  
    8. }
    9. void loop()
    10. {
    11.     if(Serial.available()>0)
    12.     {
    13.        temp =(char) Serial.read();
    14.        if(temp =='\n')
    15.        {
    16.          buf[count] = '\0';
    17.          count = 0;
    18.          Serial.println(buf);
    19.        }else
    20.        {
    21.           buf[count] = temp;
    22.           count ++;
    23.         
    24.        }
    25.     }
    26. }



    复制代码
    配置串口 ,很简单,直接使用 Serial.begin(115200);

    Serial.available() 是来计数缓冲区的数据的,当Serial.avaible() 大于 0 的时候,表示缓冲区有数据,可以读取。

    peek() 和  read() 两个函数都是从缓冲区中读取一个字符,但是 peek() 读取之后,Serial.avilable() 中的值并不会减少。

    void flush() 用来清空缓冲区的数据。

    调用 end()  函数之后,串口的TX 和 RX 引脚可以作为普通IO 口来使用,解除串口的占用。

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2016-10-11 09:08
  • 签到天数: 30 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2016-4-20 08:56:03 | 显示全部楼层
    你是来骗经验的吗,这分明就是arduino的通用库啊!!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-11-19 16:39
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2016-4-20 10:37:39 | 显示全部楼层
    记得要一并将文章发到经验频道哦http://jingyan.eeboard.com/
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2016-4-30 00:17:49 | 显示全部楼层
    kebao_1 发表于 2016-4-20 08:56
    你是来骗经验的吗,这分明就是arduino的通用库啊!!

    我的天呢,这个就是 arduino 的库文件,
    不过骗经验
    论坛发帖子也有限制
    这种帖子不让发,好吧,不好意思。
    你把我屏蔽就好了,,哈哈。。。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-19 06:41 , Processed in 0.152058 second(s), 23 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.