5431|7

54

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【Nucleo心得】STM32L053 Nucleo直播学习——适应 mbed [复制链接]

本帖最后由 zhimagod 于 2014-9-26 20:50 编辑

网速不好的孩子总是伤不起的……
家里断网两天了,都是在公司抽空摆弄摆弄的,悲催啊
话说经过了两天的摸索(确实是摸索啊,好多东西不知道该去哪里找,资料都不知道该看哪一份),基本摸清楚了mbed的脾气。要说吧,这东西确实为开发节省了不少的时间和精力,很多东西不需要你去了解直接用就可以了。就像这个串口,根本不需要任何设置,直接拿来用,什么时钟啊,端口状态啊都不需要关心。不过像我这种硬件出身的孩纸玩起来就感觉很不适应了,又因为我之前没弄过C++,所以这方面也让我困惑了很久,很多东西总是转不过弯来。
现在我对mbed的理解就是它初期所有的功能都在class目录下面

像这些AD啊,DA啊IO啊什么的都做成了“类”,点进去之后每一个文件都有详细的介绍和用法说明。比如这个AD相关的“类”文件,看起来像是C中的函数声明

这里是这个文件里所有可以被调用的函数和简单的说明

接下来是一个小例子,每个函数的具体说明在下面

这是一个类似于声明的语句,意思是指定某一个引脚为模拟输入功能,其实这里都有一个"definition at line xx of file xxx"的说明,但是点击后会发现弹出提示说无法查看,需要包含什么东西(我没弄明白,谁知道怎么看么??)

照猫画虎白弄了一个程序
  1. #include "mbed.h"

  2. //------------------------------------
  3. // Hyperterminal configuration
  4. // 9600 bauds, 8-bit data, no parity
  5. //------------------------------------

  6. Serial pc(SERIAL_TX, SERIAL_RX);

  7. AnalogIn VolIn(PC_4);
  8. AnalogOut VolOut(PA_4);

  9. DigitalOut myled(LED1);

  10. int Compare(float A,float B)
  11. {
  12.     if(A>B)
  13.     {
  14.         if((A-B)<0.01)
  15.         {
  16.             return 0;
  17.         }else
  18.         {
  19.             return 1;
  20.         }
  21.     }else
  22.     {
  23.         if((B-A)<0.01)
  24.         {
  25.             return 0;
  26.         }else
  27.         {
  28.             return 1;
  29.         }
  30.     }
  31. }

  32. int main() {
  33.     float VolGet,VolBack;
  34.     //pc.baud(9600);
  35.     pc.printf("Hello World !\n");
  36.     while(1) {
  37.         wait_ms(10);
  38.         VolGet=VolIn.read();
  39.         if(Compare(VolGet,VolBack))
  40.         {
  41.             VolBack=VolGet;
  42.             VolOut=VolGet;
  43.             pc.printf("Voltage Set is %f\n " , VolGet);
  44.             //pc.printf("Voltage Get is %f V\n " , VolGet*3.3);
  45.             myled = !myled;
  46.         }
  47.     }
  48. }
复制代码
代码很少,没加注释
这样
当PA_4的输出电压会根据PC_4的输入来进行变化,变化的同时串口会打印出数据,引脚如下:

串口数据如下:由于端口什么都没接所以输出很不稳定啊~


另外这么片子的AD通道应该可以测量内部温度的,但是这个温度该怎么测有谁知道吗?望告之,感谢!

pins.PNG (613.07 KB, 下载次数: 1)

pins.PNG
此帖出自stm32/stm8论坛

最新回复

不喜欢用在线编译器,网速还没有达到一定的程序上,而且有时候用笔记本在无网的情况下也不能修改代码,伤心……  详情 回复 发表于 2014-9-30 16:49
点赞 关注
个人签名_\ | /_
(0 T 0)
  UUU
 

回复
举报

54

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
呃……引脚图上错了,这个图上没有PC_4
再上一次
此帖出自stm32/stm8论坛
 
个人签名_\ | /_
(0 T 0)
  UUU
 

回复

2886

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 
学习下,感谢
此帖出自stm32/stm8论坛

点评

共同学习,呵呵  详情 回复 发表于 2014-9-27 07:23
 
个人签名昵称:灰小子
 

回复

54

帖子

0

TA的资源

一粒金砂(中级)

4
 

共同学习,呵呵
此帖出自stm32/stm8论坛
 
个人签名_\ | /_
(0 T 0)
  UUU
 
 

回复

6095

帖子

4

TA的资源

版主

5
 
这是一个类似于声明的语句,意思是指定某一个引脚为模拟输入功能,其实这里都有一个"definition at line xx of file xxx"的说明,但是点击后会发现弹出提示说无法查看,需要包含什么东西(我没弄明白,谁知道怎么看么??)   这里有说到这个: https://bbs.eeworld.com.cn/thread-448123-1-1.html 就是要把库转换一下。
此帖出自stm32/stm8论坛

点评

多谢版主指点!对我帮助很大!谢谢!  详情 回复 发表于 2014-9-27 11:29
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(中级)

6
 
damiaa 发表于 2014-9-27 09:25
这是一个类似于声明的语句,意思是指定某一个引脚为模拟输入功能,其实这里都有一个"definition at line xx ...

多谢版主指点!对我帮助很大!谢谢!
此帖出自stm32/stm8论坛
 
个人签名_\ | /_
(0 T 0)
  UUU
 
 

回复

131

帖子

2

TA的资源

一粒金砂(中级)

7
 
不喜欢用在线编译器,网速还没有达到一定的程序上,而且有时候用笔记本在无网的情况下也不能修改代码,伤心……
此帖出自stm32/stm8论坛

点评

用在线的好处就是不用安装破解编译软件了,省心。确实联网是让人头疼的问题,只适合联网比较方便的地方。 我是因为家里,公司都用wifi,所以用在线的没感觉有什么不方便。 不过话说现在上网很便宜了吧,10兆光纤,  详情 回复 发表于 2014-10-1 08:11
 
个人签名每个人心中都一片待开发的天空!
 
 

回复

54

帖子

0

TA的资源

一粒金砂(中级)

8
 
Veiko 发表于 2014-9-30 16:49
不喜欢用在线编译器,网速还没有达到一定的程序上,而且有时候用笔记本在无网的情况下也不能修改代码,伤 ...

用在线的好处就是不用安装破解编译软件了,省心。确实联网是让人头疼的问题,只适合联网比较方便的地方。
我是因为家里,公司都用wifi,所以用在线的没感觉有什么不方便。
不过话说现在上网很便宜了吧,10兆光纤,一年才三百多。
此帖出自stm32/stm8论坛
 
个人签名_\ | /_
(0 T 0)
  UUU
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表