about

2012 年 5 月 4 日 コメントをどうぞ コメント

http://shokai.org

橋本 翔(Sho Hashimoto)
電子部品があまりがちだったので売っていたら、橋本翔→橋本商会と呼ばれていた。
慶應SFC政策メディア研究科 増井研究室のクソ学生です。

webサービスに接続されたgadgetなどを作っています。
開発環境は
電子工作:AVR、PSoC1、Arduino
システム:Ruby, C++
UI:JavaScript, OpenCV, Processing
サーバサイド:Ruby, Sinatra
あたりを使う事が多い。最近はJRubyとかZeroMQとかMongoDBが俺の中で流行っている。

githubrubygemsでコードをいろいろ公開している。


主な受賞歴など

  • 2007年 IPA未踏ユース採択
  • 2008年 Laval Virtual Award 2007 Prix de l’innovation
  • 2008年 ACM Mobile HCI Demo session 2nd prize
  • 2009年 IPA未踏ソフトウェア採択
  • 2012年 日経BP Android Application Award Webサービス/アプリケーション部門優秀賞

  1. 2010 年 10 月 31 日 17:19 | #1

    はじめまして。
    京都教育大学附属高校電子工学部です。
    僕たちの部活では来年のロボカップジュニアサッカーに向けて活動しています。
    「PSoC CY8C29466のI2CHWモジュールで通信」の記事を拝見し、感動しました。
    今、PSoCマイコンのI2CHWのAPI関数の使い方で困っています。

    そこでお聞きしたいのですが、PSoCマイコンをスレーブにした場合、

    ①マスターからスレーブへの書き込み
    PSoCがマスタからの信号を自動的に読み取った時、I2CHW_1_bReadI2CStatus();の返り値がI2CHW_WR_COMPLETEに変化する
    →I2CHW_1_ClrWrStatus();する
    →I2CHW_1_InitWrite(バッファ名,バッファサイズ);を行うと「バッファ名」にマスタから受け取った信号が入る
    →「バッファ名」を読み取ったらOK!(バッファ名はBYTEの変数としてあらかじめ宣言しておく)
     という流れで合っていますか?

    ②スレーブからマスタへの読み込み
    例えばあらかじめbuf_rdという変数を宣言しておく
    →あらかじめI2CHW_1_InitRamRead(buf_rd, バッファサイズ);でRAMに移しておく
    →マスタから送信を要求されたら自動的にRAMに入っているデータが送信される
    →I2CHW_1_bReadI2CStatus();の返り値がI2CHW_RD_COMPLETEになる
    という流れで合っていますか?

    すみませんが、答えていただけると幸いです。
    よろしくお願いします。

  2. 2010 年 10 月 31 日 20:43 | #2

    どうもこんにちは。
    1について、
    > I2CHW_1_bReadI2CStatus();の返り値がI2CHW_WR_COMPLETEに変化する
    これはちょっと違います。I2CHW_WR_COMPLETEになるのではなくて、if(status & I2CHW_WR_COMPLETE)としている通り、I2CHW_WR_COMPLETEをビットマスクとして使って論理積を取ると、1以上の値が得られるという事です。

    2は
    ②スレーブからマスタへの読み込み
    じゃなくて「スレーブからマスタへの書き込み」ならあってます。

    > →I2CHW_1_bReadI2CStatus();の返り値がI2CHW_RD_COMPLETEになる
    これも1と同じく、I2CHW_RD_COMPLETEになるのではなく、&で論理積を取ると1以上になるのでif文の中がtrueになるわけです

  3. 2010 年 10 月 31 日 21:33 | #3

    よく分かりました。
    ご指摘いただきありがとうございました。

  1. トラックバックはまだありません。

track feed