本帖最后由 qq849682862 于 2014-12-10 13:30 编辑
打算使用
STM32L053的PWM制作一个4~20mA恒流源 先使用mbed简单看看PWM输出吧
- #include "mbed.h"
- DigitalOut my_led(LED1);
- InterruptIn my_button(USER_BUTTON);
- PwmOut my_pwm(PB_3);
- void pressed() {
- if (my_pwm.read() == 0.25) {
- my_pwm.write(0.75);
- }
- else {
- my_pwm.write(0.25);
- }
- }
- int main()
- {
- // Set PWM
- my_pwm.period_ms(2);
- my_pwm.write(0.5);
-
- // Set button
- my_button.fall(&pressed);
-
- while (1) {
- my_led = !my_led;
- wait(0.5); // 500 ms
- }
- }
复制代码主函数很简单 PWM使用PB_3 初始化输出500HZ、50%占空比 USER_BUTTON控制占空比在25%和75%之间变化 LED每500ms翻转一下 以测试硬件运行正常
下面附上测试图
上电初始状态
按键一次后
按键两次后
为了测试 今儿把示波器挪到电脑桌上了 发现这个位置更合适 就是电脑桌有点小 稍显拥挤
恒流源后续吧 困了 最近又是大降温 真心冷 赶紧钻被窝了