せとうちオープン用のメインプログラム
Dependencies: mbed AQM1602 HMC6352 PID
minilib/switch.cpp
- Committer:
- lilac0112_1
- Date:
- 2016-05-01
- Revision:
- 0:b910276f9da2
File content as of revision 0:b910276f9da2:
#include "mbed.h" #include "extern.h" uint8_t _samples[4]={0}; uint8_t _output[4]={0}; uint8_t _output_last[4]={0}; uint8_t _rising_flag[4]={0}; void Sw_sample(void) { int i; for(i=0; i<4; i++){ _output_last[i] = _output[i]; _output[i] = Sw[i].read(); if (!_output[i] && _output_last[i]) { _rising_flag[i]++; } } //pc.printf("food%d\r\n",_output_last[0]); } // return number of rising edges uint8_t Sw_count(uint8_t pin) { //pin...from 0 to 3 if(pin>=4) return 0; uint8_t return_value = _rising_flag[pin]; _rising_flag[pin] = 0; return(return_value); } // return the debounced status uint8_t ReadSw(void){ /****** *return : sw_state *スイッチを押したときの動作はdef.hを参照 *チャタリング防止ライブラリ採用式 *同時押しは判別されない *****/ uint8_t i,result; for(i=result=0; i<4; i++){ if(Sw_count(i) > 0){ result = i+1; } } return result; } uint8_t CountSw(uint8_t pin){ /****** *return : sw_state *スイッチを押したときの動作はdef.hを参照 *チャタリング防止ライブラリ採用式 *同時押しは判別されない *****/ return (Sw_count(pin) > 0); }