写真:クリックすると拡大して表示されます。
プログラムソース:左上の view plain をクリックするとソースのみ表示されます。
ビギナーなので、回路図や説明に誤りがある場合があります。
最近自分の知識不足を痛感しています。
記事の内容を試す場合やファイルをダウンロードして利用する場合は、
自己責任でお願いします。
個人的な趣味のページでメモ的に記録しているだけです。
2010年09月にマイコンに出会ってからの記録
Table Header | ggTable Header | |
---|---|---|
Table Cell | ||
Table Cell | gTable Cell | |
Table Cell | Table Cell | Table Cell |
#include "mbed.h" | |
DigitalOut led1(LED1); | |
DigitalOut led4(LED4); | |
Serial pc(USBTX, USBRX); // tx:送信, rx:受信 | |
void rxCallback() | |
{ | |
led4 = !led4; | |
pc.putc(pc.getc()); | |
} | |
int main() | |
{ | |
pc.attach(rxCallback, Serial::RxIrq); | |
while (1) { | |
led1 = !led1; | |
wait(0.5); | |
} | |
} |
#include "mbed.h" | |
PwmOut pin21(p21); | |
Serial pc(USBTX, USBRX); // tx, rx | |
DigitalIn dIn(p20); | |
int main() | |
{ | |
//pc.baud(115200); //921600 | |
//pin21.pulsewidth_us(10); //パルス幅0.08us | |
//pin21.period_ms(0.1); //Pwm の周期を100[mS]に設定 //pwm繰り返し周期=1ms => 周期=1kHz | |
pin21.write(0.5f); //デューティサイクル | |
Timer timer; | |
timer.start(); | |
int iMicroSec_prev = timer.read_us(); | |
int iState_prev = NULL; | |
while (1) { | |
int iState = dIn; //High or Low | |
if( iState != iState_prev ) { | |
iState_prev = iState; | |
int iMicroSec = timer.read_us(); | |
pc.printf( "%d, ", iMicroSec - iMicroSec_prev ); | |
iMicroSec_prev = iMicroSec; | |
} | |
} | |
} |
#include "mbed.h" | |
Serial pc(USBTX, USBRX); // tx, rx | |
int main() { | |
pc.printf("Hello World!"); | |
while(1) { | |
pc.putc(pc.getc()); | |
} | |
} |