微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > 03 mbed之用户交互-串口

03 mbed之用户交互-串口

时间:10-02 整理:3721RD 点击:
LinkNode上的用户交互主要有按键、LED、buzzer,但是更重要的是uart,一般mbed除了虚拟U盘(MSD programmer) 外,还有两个设备,分别是CMSIS-DAP Debug和虚拟串口。



不过虚拟串口和debug这两个不能默认使用,必须先装驱动。串口界面在此,可是并不能装
https://developer.mbed.org/handbook/Windows-serial-configuration
只好求助于nordic的官网。可惜是51822mDK是一个discontinued的产品,也没找到合适的驱动。论坛求助以后给了一个新的固件,可能目前并不是标准的mbed?不过考虑到后面要退回的,暂时也不影响评测,那就先对付着用着吧。串口就先使用另外引出的P023和P025。

so,我们先通过串口来采集一下bmp180的大气压和温度。mbed的一个优势是有大量共享的库可以用,比如这个bmp180在mbed上就能搜到,我们直接使用lib方式就好了。会有很多,选一个介绍比较全面一点的



比如上面这个,里面有class reference



还有具体使用示例,节省空间,帖个部分



只要复制这个代码就行,唯一需要修改的就是I2C的具体管脚(sda,scl),

  1. I2C i2c(P0_17, P0_18);

复制代码

并增加一个串口界面,示例中直接使用了printf,应该是打印到了默认的串口上了吧。如果删除下面这行,编译没有问题,但是串口上就没有任何东西啦。

  1. Serial pc(P0_23,P0_25);

复制代码

剩下就没有剩下了,编译下载,顺利看到现象。



顺便总结下bmp180的使用过程(以温度为例):

  1. bmp180.init(); //返回0表示成功
  2. bmp180.startTemperature();
  3. wait_ms(5);
  4. bmp180.getTemperature(&temp);//返回0表示成功

复制代码

汇总帖在此:

【linknode评测】—— by johnrey
http://bbs.eeworld.com.cn/forum. ... &fromuid=536508

用上了哈

原来素这样.......就是少了这一步,好了不看了,上班

单片机上,绝大多数时候,都把printf指向的标准流重定向到串口上,我忘了nrf51822是有一个串口还是两个串口,出现你的这种情况其实原因基本就是因为 P023 P025那个串口被printf重定向了(库里干的),而这个库又做得比较好,因为已经重定向了,它就不允许再初始化这个串口——我觉得这非常好,总好过让你编译通过,最后你傻乎乎发现丫的串口没东西了的好对不对?

瞄过一眼51822的datasheet,似乎是说uart可以指定到任意的io口,不过这板上其他引出脚没有焊,就懒得测试了

话说,果然是不会cpp惹得错,我启动压力的时候,一直编译不通过,你咋整的,也不把所有代码都搞出来......

请问显示温度数据的那个窗口怎么打开啊

需要两个,一个是软件,sscom,搜索下载就能用。一个是硬件,usb转串口,然后用杜邦线连上。然后就可以了

谢谢分享唉

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top