Serial 自動受信割り込み
serial name(tx, rx, p);
p : ポインタ
受信すると割り込みが発生して*pに受信した値が代入されます。
serial.cpp@0:d872f5a93d7b, 2016-01-17 (annotated)
- Committer:
- sgrsn
- Date:
- Sun Jan 17 04:33:00 2016 +0000
- Revision:
- 0:d872f5a93d7b
- Child:
- 1:030faf9701e5
Setrial
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sgrsn | 0:d872f5a93d7b | 1 | #include"serial.h" |
sgrsn | 0:d872f5a93d7b | 2 | |
sgrsn | 0:d872f5a93d7b | 3 | |
sgrsn | 0:d872f5a93d7b | 4 | serial::serial(PinName p1, PinName p2, int *p) : Serial(p1,p2) |
sgrsn | 0:d872f5a93d7b | 5 | { |
sgrsn | 0:d872f5a93d7b | 6 | pdata = p; |
sgrsn | 0:d872f5a93d7b | 7 | baud(9600); |
sgrsn | 0:d872f5a93d7b | 8 | attach(this, &serial::getdata, Serial::RxIrq); |
sgrsn | 0:d872f5a93d7b | 9 | } |
sgrsn | 0:d872f5a93d7b | 10 | |
sgrsn | 0:d872f5a93d7b | 11 | void serial::getdata() |
sgrsn | 0:d872f5a93d7b | 12 | { |
sgrsn | 0:d872f5a93d7b | 13 | if(Serial::readable()) |
sgrsn | 0:d872f5a93d7b | 14 | { |
sgrsn | 0:d872f5a93d7b | 15 | for(int i = 0;i < 8;i++) |
sgrsn | 0:d872f5a93d7b | 16 | *(pdata+i) = Serial::getc(); |
sgrsn | 0:d872f5a93d7b | 17 | } |
sgrsn | 0:d872f5a93d7b | 18 | } |
sgrsn | 0:d872f5a93d7b | 19 |