Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
8 years, 5 months ago.
LPC824 MAX のPWM
PwmOutのperiodの変更がループの2回目以降には、for文内でpwm_ch0.write(0.0);しているにも関わらずパルスが出てしまうようです。 どのように回避すればよいでしょうか?
include the mbed library with this snippet
#include "mbed.h" PwmOut pwm_ch0(P0_22); PwmOut pwm_ch1(P0_18); PwmOut pwm_ch2(P0_17); int main() { LPC_SCT->CONFIG |= 0x01; // unified 32-bit counter while(1) { for(float p = 0.0f; p < 1.0f; p += 0.01f) { pwm_ch0.period_us(1000); pwm_ch0.write(0.0); pwm_ch1.period_us(1000); pwm_ch1 = p; pwm_ch2.period_us(1000); pwm_ch2 = 1.0-p; wait(0.01); } wait(2); //LPC_SCT->CONFIG |= 0x01; // unified 32-bit counter pwm_ch0.period(1.0/3000.0); pwm_ch0.write(0.5); wait_ms(10); pwm_ch0.write(0.0); wait(1); } }
こちら( https://developer.mbed.org/questions/61392/LPC824PwmOut/ )に関連した問題かもしれません.ライブラリをアップデートすることで改善が見られるでしょうか?
posted by Tedd OKANO 18 Jun 2016最新版ですがやはり2周目は失敗するようです。 LPC824MAXと、スイッチサイエンスさんのLPC824はターゲットは別のプログラムだということですかね?? (スイッチサイエンスさんの方だけ直っているとか?)
whileループ1周目のfor文
whileループ2周目以降のfor文
posted by mille feuille 20 Jun 2016