Kenji Arai

Activity

Reply to GR-PEACHのI2C(master)が使用できるようになりました - abanumさん 大変失礼しました。 私も同じページを見てから答えたつもりでしたが、自由度はもう少しありそうです。 先ずは早とちりと充分な考察もせずに断言して申し訳ありませんでした。お詫びします。 結論は、この波形です。 33.33HMzの時に、BRHとBRLそれぞれで、Hレベルのパルス幅とLレベルのバルス幅を決めてBRL+BRHの和で周波数が決まる仕組みになっていました。 しかし、今の周波数設定プログラム(/mbed-src/targets/hal/TARGET_RENESAS/TARGET_RZ_A1H/i2c_api.c)内のi2c_frequency()とi2c_reg_reset()の二つの関数内で、手抜きでBRLとBRHを同じ値を設定しています。 そうするとご指摘の357KHzが出てきています。 中の人のバックには優秀なソフトウェアエンジニアがたくさんいらっしゃり、I2Cやwait_ms()の解決も問題を指摘するとその後の対応は早かったので、今回は作ったソフトを公開するのは止めたいと思います。正式版の早いリリースを期待しましょう。 と言ってますが、実はこの部分は非常に複雑でもう少しじっくり考えないと最終解決策が見つかりません→というのが本音です。 下記に400KHzだけは動く修正部分を載せています。 この他、レジスターのDefaut値がたまたま一緒だったので動いている部分とか地雷がありますが、コードレビューをしっかりやれば見つかるレベルと思います。 i2c_api.cstatic void i2c_reg_reset(i2c_t …