![](/media/cache/profiles/5f14615696649541a025d3d0f8e0447f.jpg.50x50_q85.jpg)
ワークショップ用のプログラム
SoftSerialSendOnly/SoftSerialSendOnry.cpp@0:d0b3a5d1ba28, 2016-09-22 (annotated)
- Committer:
- jksoft
- Date:
- Thu Sep 22 00:49:42 2016 +0000
- Revision:
- 0:d0b3a5d1ba28
????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jksoft | 0:d0b3a5d1ba28 | 1 | #include "SoftSerialSendOnry.h" |
jksoft | 0:d0b3a5d1ba28 | 2 | |
jksoft | 0:d0b3a5d1ba28 | 3 | SoftSerialSendOnry::SoftSerialSendOnry(PinName TX, const char* name) { |
jksoft | 0:d0b3a5d1ba28 | 4 | tx_en = false; |
jksoft | 0:d0b3a5d1ba28 | 5 | if (TX != NC) { |
jksoft | 0:d0b3a5d1ba28 | 6 | tx = new DigitalOut(TX); |
jksoft | 0:d0b3a5d1ba28 | 7 | tx_en = true; |
jksoft | 0:d0b3a5d1ba28 | 8 | tx->write(1); |
jksoft | 0:d0b3a5d1ba28 | 9 | tx_bit = -1; |
jksoft | 0:d0b3a5d1ba28 | 10 | txticker.attach(this, &SoftSerialSendOnry::tx_handler); |
jksoft | 0:d0b3a5d1ba28 | 11 | } |
jksoft | 0:d0b3a5d1ba28 | 12 | |
jksoft | 0:d0b3a5d1ba28 | 13 | baud(9600); |
jksoft | 0:d0b3a5d1ba28 | 14 | format(); |
jksoft | 0:d0b3a5d1ba28 | 15 | } |
jksoft | 0:d0b3a5d1ba28 | 16 | |
jksoft | 0:d0b3a5d1ba28 | 17 | SoftSerialSendOnry::~SoftSerialSendOnry() { |
jksoft | 0:d0b3a5d1ba28 | 18 | if (tx_en) |
jksoft | 0:d0b3a5d1ba28 | 19 | delete(tx); |
jksoft | 0:d0b3a5d1ba28 | 20 | } |
jksoft | 0:d0b3a5d1ba28 | 21 | |
jksoft | 0:d0b3a5d1ba28 | 22 | void SoftSerialSendOnry::baud(int baudrate) { |
jksoft | 0:d0b3a5d1ba28 | 23 | bit_period = 1000000 / baudrate; |
jksoft | 0:d0b3a5d1ba28 | 24 | } |
jksoft | 0:d0b3a5d1ba28 | 25 | |
jksoft | 0:d0b3a5d1ba28 | 26 | void SoftSerialSendOnry::format(int bits, Parity parity, int stop_bits) { |
jksoft | 0:d0b3a5d1ba28 | 27 | _bits = bits; |
jksoft | 0:d0b3a5d1ba28 | 28 | _parity = parity; |
jksoft | 0:d0b3a5d1ba28 | 29 | _stop_bits = stop_bits; |
jksoft | 0:d0b3a5d1ba28 | 30 | _total_bits = 1 + _bits + _stop_bits + (bool)_parity; |
jksoft | 0:d0b3a5d1ba28 | 31 | } |
jksoft | 0:d0b3a5d1ba28 | 32 | |
jksoft | 0:d0b3a5d1ba28 | 33 | int SoftSerialSendOnry::_getc() |
jksoft | 0:d0b3a5d1ba28 | 34 | { |
jksoft | 0:d0b3a5d1ba28 | 35 | return(0); |
jksoft | 0:d0b3a5d1ba28 | 36 | } |