制御系なら俺に聞いてもいいぜ(8)at TECH
制御系なら俺に聞いてもいいぜ(8) - 暇つぶし2ch483:デフォルトの名無しさん
06/03/05 08:20:17
>>431
たとえば
  I2Cの SCL/SDAの為に、出力ラッチはL にして 方向レジスタでオープンコレクタを実現するとするよ
 つまり BSET /BCLR で方向レジスタだけを トグルするわけ。

 これをメインループ側で処理してるとする
 この処理の最中に SCL=H つまり入力ポートにしてる最中に割り込みがかかる

で、割り込み処理で、同じポートの別の出力ポートをトグルさせようと BSET/BCLRのような Read-Modify-Writeでポートを操作すると
この SCLの出力ラッチがHになってしまう。

 で、メイン側で次に SCL=Lににしようと出力ポートにしたら、  
 出力ラッチがHなのでHが出力されてしまう

-------------
この2つだけなら、割り込み側でRead-Modify-Write命令ではなく
読んで ビット操作して、常にSCL/SDAは0にして書き出すという対策でいいけど
もう一つ条件が加わると、やっかいなわけよ


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch