在线编译mbed开发环境应用记录(1)
来源:互联网 发布:squid 监听多个端口 编辑:程序博客网 时间:2024/05/16 07:41
时间是把杀猪刀,自己码的代码即使在想当然过去了也会莫名奇妙,所以吸取教训把做过的东西做一个记录.-2017.09.03 乐
开发环境:mbed
板子:stm32L432 NUCLEO-32
例程1:hello world !
官方Nucleo_printf 对应上位机程序存放位置(/Datalib/warren/文档/01_自主科研/1_工作资料/5_stm32&pc)
上传步骤:mbed编译生成bin文件;下载保存到板子对应的存储盘目录下;ok 运行上位机,产看接收数据.
积累知识点: mbed.h
头文件 Serial pc(SERIAL_TX, SERIAL_RX);
Serial pc(USBTX, USBRX);
#指定输出为miniUSB端口(输出到usb端) pc.printf("Hello World !\n");
例程2:Nucleo_Ultrasonic HelloWorld
例程链接
注意事项:Nucle_UltrasonicHelloWorld程序设定D8->trigger pin ,D9->echo pin ,运行程序发现在板子上有问题,直接改为其他引脚链接就OK,例如: ultrasonic mu(D9, D10, .05, 1, &dist);
上传步骤:mbed编译生成bin文件;下载保存到板子对应的存储盘目录下;ok 运行上位机,产看接收数据.
积累知识点: #include "mbed.h"
#include "ultrasonic.h"
ultrasonic mu(D9, D10, .05, 1, &dist);
参数依次:trigger pin echo pin 获取速度 链接超时时间 更新函数 void dist(int distance)
跟新函数内可以放置距离相关代码,当距离跟新时执行更新函数内代码. mu.startUpdates();
启动测距程序 mu.checkDistance();
查询距离 printf("Distance changed to %dmm\r\n", distance);
默认输出到usb串口
例程3:IMU say hello
程序链接
注意事项:MPU6050_test 波特率修改为9600或者去掉默认值即是9600;修改引脚到sda scl对应角,根据数据手册选其中一对D4,D5 . MPU6050 mpu(D4,D5);
pc.baud(9600);
上传步骤:mbed编译生成bin文件;下载保存到板子对应的存储盘目录下;ok 运行上位机,产看接收数据.
积累知识点: #include "mbed.h"
#include "MPU6050.h"
MPU6050 mpu(D4,D5);
参数依次sda scl 可查看对应函数定义 mpu.getID()==0x68
检测默认adress地址 mpu.start();
开始获取数据线程 mpu.read(&gx,&gy,&gz,&ax,&ay,&az);
读取数据
存在问题:该库无DMP直接输出
例程4:Microphone say hello
程序链接
注意事项:EasyVR_Bridge波特率修改为9600或者去掉默认值即是9600;修改引脚A6. pc.baud(9600);
AnalogIn mic(A6);
上传步骤:mbed编译生成bin文件;下载保存到板子对应的存储盘目录下;ok 运行上位机,产看接收数据.
积累知识点: #include "mbed.h"
AnalogIn mic(A6);
设定模拟信号输入引脚 float amp, maxAmp = 0, minAmp
设定存储变量 amp = mic.read()
获取引脚输入信号量
待解决问题:读取引脚频率确定,最高地高到多少Hz.
例程5:Touch say hello
传感器资料
EasyVR_Bridge链接好之后,直接读取引脚,程序参照麦克风的程序进行读取。
待解决问题:读取引脚频率需要确定。
例程6:SD say hello
图片资料
程序链接
注意事项:SDFileSystem_HelloWorld修改引脚。
A3-PA4 –SPI1_NSS—CS
A4-PA5–SPI1_SCK—CLK
A5-PA6– SPI1_MISO—MISO
A6-PA7–SPI1_MOSI—MOSI
VCC–VCC
GND–GND
SDFileSystem(PinName mosi, PinName miso, PinName sclk, PinName cs, const char* name, PinName cd = NC, SwitchType cdtype = SWITCH_NONE, int hz = 1000000);
SDFileSystem sd(A6, A5, A4, A3, "sd", D3, SDFileSystem::SWITCH_NEG_NO, 25000000);
上传步骤:mbed编译生成bin文件;下载保存到板子对应的存储盘目录下;ok 运行上位机,产看接收数据.
积累知识点: #include "mbed.h"
#include "SDFileSystem.h"
SDFileSystem sd(A6, A5, A4, A3, "sd");
指定SD卡变量
FileHandle* file = sd.open("Test File.bin", O_WRONLY | O_CREAT | O_TRUNC);
打开SD卡 fp = fopen("/sd/sdtest.txt", "r");
打开SD卡,创建txt格式文档
file->write(buffer, sizeof(buffer))
写入SD卡 file->close()
关闭SD卡 fprintf(fp, "We're writing to an SD card le !");
写入SD卡 fclose(fp);
关闭SD卡
FileHandle* file = sd.open("Test File.bin", O_RDONLY);
打开SD卡 file->read(buffer, sizeof(buffer))
读取SD卡 fp = fopen("/sd/sdtest.txt", "r");
打开SD卡 char c = fgetc(fp);
读取SD卡
例程7:bluetooth say hello
程序链接
注意事项:BluetoothTest修改引脚。 Serial BlueTooth(D1,D0);
#A7 , A2 引脚虽然也可以当串口但是同usb默认串口共用,为了放置信息错乱,尽量避开 Serial pc(USBTX,USBRX);
#A7,A2, 应该是共用,同一引脚 DigitalOut led2(LED2);
AnalogIn anaIn(A6);
上传步骤:mbed编译生成bin文件;下载保存到板子对应的存储盘目录下;ok 运行上位机,产看接收数据.
积累知识点: #include "mbed.h"
#include <string>
Serial BlueTooth(D1,D0);
#打开蓝牙串口 BlueTooth.baud(9600);
#设定蓝牙波特率 BlueTooth.writeable()
检查蓝牙是否可用返回bool型 BlueTooth.printf("mpu = %4.2f,air = %4.2f,cadence = %4.2f,message = buletooth %s,f=%f\n",mpu,air,cadence,message,f);
#蓝牙发送信息
完成,后续进行整体传感器信息的统一调试。地基算是基本完成。(2017.09.11)
- 在线编译mbed开发环境应用记录(1)
- 在线编译mbed开发环境应用记录(2)
- Mbed在线编译器新手入门教程(图文)
- openwrt 编译时 mbed TLS libraries not found 问题解决记录
- mbed试玩—快速开发MCU应用(基于FRDM-KL25Z)
- ST Nucleo mbed套件开发 一 MBED环境使用 以Nucleo-F401为例
- ST Nucleo mbed套件开发 一 MBED环境使用 以Nucleo-F401为例 (二)
- zedboard 开发记录---交叉编译环境搭建
- 关于Flex开发环境+BlazeDS + 在线编译小总结
- Angular4-在线竞拍应用-开发环境的搭建
- mbed
- mbed
- C++在线开发环境
- ubuntu android编译和开发环境配置记录
- firefox 应用开发 (3) 在线安装
- 在线支付应用开发:
- 应用之星:在线手机应用开发平台 不用搭建环境
- PIC单片机开发中PICC编译环境的应用
- 1th 整数 罗马数 转换
- 怎样理解rem
- JVM垃圾收集器与内存分配策略
- Keil创建ARM芯片程序工程
- HDU1002 A + B Problem II【大数】
- 在线编译mbed开发环境应用记录(1)
- jsp:jstl的循环使用
- 设计模式适用场景整理
- 存储过程、自定义函数和程序包
- 1006
- 查询
- MD5加密
- js 将json字符串转换为json对象的方法解析
- 大学生活随笔