STM32F407探索板不直接支持MBED在线IDE。但此板上的 mcu 也用于另一个官方 MBED 板(Seeed Studio Arch Max v1.1 )。因此,可以通过将 Discovery 板视为 Arch Max 板来对其进行编程。
下面的附加代码演示了所有这些功能。
以下代码演示了 GPIO、ADC、串行、PWM 和板载加速度计功能
图书馆:
#include "mbed.h"
#include "LIS3DSH.h"
GPIO 和 Pwm 初始化:
DigitalOut rLED(PD_14); // on board red LED, DO
DigitalOut bLED(PD_15); // on board blue LED. DO
DigitalOut gLED(PD_12); // on board green LED, DO
DigitalOut oLED(PD_13); // on board orange LED, DO
PwmOut GLED(PA_9); // on board green LED,
PWMDigitalIn pbSW(PA_0); // on board blue PUSH Switch, active high DI
串口和ADC:
Serial serial(PA_2,PA_3); // serial com tx, rx UART
AnalogIn adcPB0(PB_0); // PB0 as 12 bit ADC
串行波特率和打印:
// set serial baud and print welcome msg //
serial.baud(19200);
serial.printf("Welcome to STM32F407 Development with mbedOS \n\r");
PWM 频率和占空比:
GLED.period(1.0f/freq); // set pwm period
GLED.write(duty/100.0f); // set pwm duty cycle
LED 闪烁:
rLED = 1;
gLED = 1;
wait(delay);
rLED = 0;
gLED = 0;
wait(delay);
模数转换器读取:
// adc value read //
adcval = 4095*adcPB0.read_u16()/65535; // 12 bit value
刚刚在 A4 和 A5 引脚上测试了 12 位 DAC。有用。但是,加速度计和音频可能不会与 DAC 一起用于其他应用(相同的引脚)。
DAC 设置:
// Before main
AnalogOut dac1(PA_5);
AnalogOut dac2(PA_4);
输出模拟电压:
// set up 1 volt on dac 1
dac1 = 0.333f; // vdd* 0.333 = 3.0*0.333 = 1.0 volt
// set up 1.5 volt on dac 2
dac2 = 0.5f; // vdd*0.5 = 1.5 volt
用 mbed 测试了液晶显示器,效果很好!5 伏显示器在 3.3 伏逻辑下运行没有问题。
并非所有功能都将根据上述引脚图工作。例如,当使用 mbed 编程时,PD13 上的 Pwm 将不起作用。因为,mbed 编译器根据 Arch Max 板的引脚映射来处理代码。
对于肯定会起作用的引脚特定功能,请参阅下面附带的引脚图。
此外,闪存可能被限制为 512 kB 而不是完整的 1 MB。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !