编辑: hyszqmzc | 2016-12-28 |
3 接口;
支持 mbed 开发平台进行开发;
自带 ST-LINK/V2-1 调试编程工具,并集成了虚拟串口功能.如此 种种,给开发者带来很大的便利性. 问题 问题 问题 问题 使用 NUCLEO-F030R8 开发板,在mbed 平台进行开发的时候,使用例程进行编译下载,发现 LED 灯闪烁的频率以及串口的 波特率都不对.就这个问题,我们对此平台的时钟处理来进行粗浅地探讨并解决问题. 调研 调研 调研 调研 1. 1. 1. 1.使用 使用 使用 使用 mbed 进行项目开发 进行项目开发 进行项目开发 进行项目开发 1) 要使用 mbed 开发平台,首先要访问 https://developer.mbed.org/网站,点击 Login or signup 先进行注册或登录. 2) 登录后,点击 Compiler 便可打开 mbed 在线开发平台(如下图),进行开发. 3) 首先,要先选择开发板,点击右上角的 No device selected 按钮来进行开发板的选择. 弹出对话框如下: 选择右下角的 Add Platform 按钮,进入 https://developer.mbed.org/platforms/页面进行平台选择. 在 Target Vendor 中将 STMicroelectronics 打勾,点一下下面的 Filter 按钮,右边便显示出所支持的所有 的ST 的开发板.本次实验使用 NUCLEO-F030R8 开发板,所以点一下此开发板. 此时,进入 NUCLEO-F030R8 的介绍页面,在这里,介绍了此开发板的概览,MCU 的特点,Nucleo 的特点,以及 引脚分配(包括 Arduino 接口和 Morpho 接口),等等.这里有一个重要的信息,不可错过. 此处显示了一些重要的接口信息. 此时,点击页面右边的 Add to your mbed Compiler 蓝色按钮,就可以把这个 NUCLEO-F030R8 开发板加入到编 译器了.然后在相同位置再点一次 Open mbed Compiler 就可以进入编译器了. 4) 此时,在编译器的右上角已经可以看到 NUCLEO-F030R8 .由于是第一个项目,所以编译器自动弹出 Create new program 对话框,选择 Blink y LED test for the ST Nucleo boards 例程来看一下闪灯实验. 5) 点击 OK 后,项目便建立完成了.如下图: 左侧程序工作区里可以看到 Nucleo_blink_led 底下包含 main.cpp 和mbed.mbed 为库编译文件,而main.cpp 才是 需要开发人员来进行撰写代码的.打开 main.cpp 可以看到主程序代码: #include mbed.h DigitalOut myled(LED1);
int main() { while(1) { myled = 1;
// LED is ON wait(0.2);
//
200 ms myled = 0;
// LED is OFF wait(1.0);
//
1 sec } } 这是一个闪灯程序,LED 灯先点亮 200ms 再熄灭 1s,如此循环. 6) 点击上面的 Compile 进行编译,编译完成后会生成一个.bin 文件,例如此例子为 Nucleo_blink_led_NUCLEO_F030R8.bin.插上 NUCLEO 开发板,驱动完成后,电脑中会出现新的盘符: NODE_F030R8.将这个 bin 文件下载到这个盘符里边,就烧写成功,开始运行程序了.如下图: 7) 此时就可以看到 NUCLEO-F030R8 上的 LD2 灯在进行闪烁了. 2. 2. 2. 2.mb mb mb mbed ed ed ed 库函数中 库函数中 库函数中 库函数中 STM32F0 STM32F0 STM32F0 STM32F0 所存在的时钟问题 所存在的时钟问题 所存在的时钟问题 所存在的时钟问题 1) 观察刚才的程序在 NUCLEO 板的运行情况,程序本身的目的是 LED 灯先点亮 200ms 再熄灭 1s,如此循环. 但 是很明显灯的闪烁频率要比这个快!我们需要探究这个问题. 2) 再做一个实验 串口打印 的实验:点击 New 按钮新建一个项目,这次选择 Display a message on PC using UART 例程,点击 OK . 打开 main.app,可以看到以下代码: #include mbed.h // Hyperterminal configuration //