Test program GR-PEACH
このプログラムには、二つの気になる点があります。
1)LEDのON/OFFがほかのmbedと論理が反対です。
ほかのmbedボードは正論理(1=ON)ですが、このボードは負論理(0=ON)です。
良いとか悪いとかコメントする気はありませんが、ほかのボードから移植するときに、暗黙にONを1とするmbed文化と衝突することは間違いないでしょう。
ポートの出力電流も調べてみましたが、+/-2mAと規定(P1_0から7は10mA)されています。
現在、どのくらいの電流が流れているかは調査していませんが、今の使い方であれば、アノードコモンからカソードコモンのLEDに変えれば同じように実力での駆動は問題ないでしょう?
2)もう一点はprintf()の出力タイミングです。
LEDの個別のON/OFFとprintf()で仮想COMを経由してホストPCに吐き出される文字列が同期していません。
どうもwait()関数の呼び出しまでFIFO(詳しくまだ調べていないので憶測)に蓄えて一気に吐き出しているように見えます。
printf()機能はmbedでは大切なDebugツールです。内容を精査いただけると幸いです。
変更した点
2) printf(debug用)とSerialを宣言してのちのprintfを使い分けて、動作が違うことが判明。
宣言したprintfでは問題なし。この差の原因が何かは現時点では不明。
使用方法
//#define DISP_COM //コメントアウトしてコンパイルで問題発生(旧バージョンと同等) #define DISP_COM //問題が消える
Diff: main.cpp
- Revision:
- 1:a399a743d109
- Parent:
- 0:a17b3cf2f466
- Child:
- 2:3747397a1618
--- a/main.cpp Sat Nov 29 12:29:49 2014 +0000 +++ b/main.cpp Sat Nov 29 12:35:30 2014 +0000 @@ -1,3 +1,20 @@ +/* + * mbed Application program for the mbed + * Test program for GR-PEACH + * + * Copyright (c) 2014 Kenji Arai / JH1PJL + * http://www.page.sannet.ne.jp/kenjia/index.html + * http://mbed.org/users/kenjiArai/ + * Created: November 29th, 2014 + * Revised: November 29th, 2014 + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE + * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + #include "mbed.h" //#define PIN_NUM