Diff of /sample_lpcxpresso1768_codered/cmsis/trunk/cmsis/Drivers/source/lpc17xx_i2c.c Parent Directory | Revision Log | Patch revision 262 by suikan, Sun Apr 10 14:48:03 2011 UTC revision 282 by suikan, Wed May 4 05:28:25 2011 UTC
![Diff of /sample_lpcxpresso1768_codered/cmsis/trunk/cmsis/Drivers/source/lpc17xx_i2c.c - TOPPERS/ASP for LPC - OSDN](https://cdn-ak-scissors.b.st-hatena.com/image/square/9c2ebf173a14936bee9f11563486ea37251c92c3/height=288;version=1;width=512/https%3A%2F%2Fstatic-cdn.osdn.net%2FOSDN_icon_125x125.png)
NXPのCMSIS 2.0のDriversにバグを見つけました。I2Cマスターを割り込みベースで処理する際、callbackを呼びません。 callbackは、CMSISのI2C_MasterHandler()関数が送受信処理を完了したときに呼ぶ関数であるとCMSISのドキュメントに書いていますが、実際にはまったくどこからも呼ばれません。 結果的に処理の終了を知るためにはタスク側でポーリングを行わなければならず、これはナンセンスです。仕方が無いので修正して使う事にしました。 あと、callbackに引数がないのも問題です。I2C_MasterHandler()は、I2Cペリフェラル・アドレスを引数として受け取り、どのペリフェラルもきちんと処理できます。しかし、処理が終わったあと呼び出すコールバックには引数がないため、どのペリフェラルの処理が終わったか通知するすべがありません。あまり考えずに
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く