test interruptIn feature with 555 timer
Dependencies: ClockControl PowerControl mbed
Fork of Frequency_counter by
Test interruptIn function with using LMC555 timer IC
LPC 1768 自身が持つタイマー割り込み機能を使わずに、 あえて外部のタイマー IC 555 からの信号で周期的に割り込みするテスト。
下記の回路例では、555 の output 端子が 約 10 秒周期のうち、0.3 秒間 Low になるはず。 ただし、コンデンサーおよび抵抗の誤差の影響があり、実測値は約7秒周期
C を 47μ から 330 μ に変えると約1分前後で周期的に割り込みがかかります。
なるべく配線が交差しないように部品配置してみた例
main.cpp
- Committer:
- strysd
- Date:
- 2014-05-11
- Revision:
- 8:cb966096a916
- Parent:
- 7:42e7f18361c8
File content as of revision 8:cb966096a916:
#include "mbed.h" #include "PowerControl/EthernetPowerControl.h" #include "ClockControl/ClockControl.h" InterruptIn in(p8); //Connect from output of 555 DigitalOut led1(LED1);//running 555 /* stop USB Interface */ #define USR_POWERDOWN (0x104) int semihost_powerdown() { uint32_t arg; return __semihost(USR_POWERDOWN, &arg); } void flip(void) { led1 = !led1; } int main() { led1 = 0; setSystemFrequency(0x3, 0x1, 6, 1);//clock down from 96MHz to 48MHz semihost_powerdown();//Stop also USB Interface PHY_PowerDown();//net // Set up the interrupt in.mode(PullNone); in.rise(&flip); while(1){ wait(1); } }