赤外線リモコンの受信をパルス幅にて行います。 Displays the pulse width of the IR control.
Dependents: IRLED_SendReceveDemo IRreceiver_PulseWidth
IRRcevPulseWidth.h@3:b2a1f396ee27, 2017-02-16 (annotated)
- Committer:
- nameless129
- Date:
- Thu Feb 16 02:07:26 2017 +0000
- Revision:
- 3:b2a1f396ee27
- Parent:
- 2:674f9ea95a5a
input Pin:enable pullup
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nameless129 | 0:612202986301 | 1 | #ifndef __IRRCEV_PULSEWIDTH_H__ |
nameless129 | 0:612202986301 | 2 | #define __IRRCEV_PULSEWIDTH_H__ |
nameless129 | 0:612202986301 | 3 | |
nameless129 | 0:612202986301 | 4 | #include "mbed.h" |
nameless129 | 0:612202986301 | 5 | |
nameless129 | 1:51aa48441784 | 6 | #define IR_RCEV_DEBUGOUT_ENABLE (0) |
nameless129 | 0:612202986301 | 7 | |
nameless129 | 0:612202986301 | 8 | #if IR_RCEV_DEBUGOUT_ENABLE |
nameless129 | 0:612202986301 | 9 | #define DBG(...) printf("" __VA_ARGS__) |
nameless129 | 0:612202986301 | 10 | #else |
nameless129 | 0:612202986301 | 11 | #define DBG(...) |
nameless129 | 0:612202986301 | 12 | #endif |
nameless129 | 0:612202986301 | 13 | |
nameless129 | 0:612202986301 | 14 | class IRRcevPulseWidth { |
nameless129 | 0:612202986301 | 15 | public: |
nameless129 | 0:612202986301 | 16 | IRRcevPulseWidth(PinName InputPin); |
nameless129 | 0:612202986301 | 17 | |
nameless129 | 2:674f9ea95a5a | 18 | void init(uint16_t *dataPtr,uint16_t dataLim,uint32_t timeout_us); |
nameless129 | 2:674f9ea95a5a | 19 | void setPulseNumFilter(uint16_t n); |
nameless129 | 0:612202986301 | 20 | uint16_t getData_N(void); |
nameless129 | 0:612202986301 | 21 | int8_t status(void); |
nameless129 | 0:612202986301 | 22 | |
nameless129 | 0:612202986301 | 23 | private: |
nameless129 | 0:612202986301 | 24 | Timer _timer; |
nameless129 | 0:612202986301 | 25 | DigitalIn _inputPin; |
nameless129 | 0:612202986301 | 26 | uint32_t IRRcevMicroSec_prev; |
nameless129 | 0:612202986301 | 27 | uint32_t IRRcevMicroSec,IRRcevMicroSec_diff; |
nameless129 | 0:612202986301 | 28 | uint8_t IRRcevState,IRRcevState_prev; |
nameless129 | 0:612202986301 | 29 | uint32_t IRRcevTimeOut; |
nameless129 | 0:612202986301 | 30 | uint16_t cIRRcev,cIRRceved; |
nameless129 | 0:612202986301 | 31 | uint8_t fRcevStart; |
nameless129 | 0:612202986301 | 32 | uint16_t *p_data; |
nameless129 | 0:612202986301 | 33 | uint16_t limitUpper_dataN; |
nameless129 | 2:674f9ea95a5a | 34 | uint16_t filterN; |
nameless129 | 0:612202986301 | 35 | uint16_t i; |
nameless129 | 0:612202986301 | 36 | }; |
nameless129 | 0:612202986301 | 37 | |
nameless129 | 0:612202986301 | 38 | #endif |