ホーム › フォーラム › Texas Instruments › マイコン › C2000 › PIEACKのクリアについて このトピックには2件の返信が含まれ、2人の参加者がいます。6 年、 4 ヶ月前に d.o. さんが最後の更新を行いました。 3件の投稿を表示中 - 1 - 3件目 (全3件中) 投稿者 投稿 2018年7月2日 8:05 PM #2303 返信 d.o.参加者 PIEACKのクリアについて デバイス型番:TMS320F28379D 割り込み時のPIEACK のクリア方法について (TMS320C2000:Piccolo MCUのソフトウェア開発入門 :JAJA230A)では Or でクリアすると 意図しないACKビットがクリアされてしまうので推奨しないとあります。 自身のソースで Orクリアしていた箇所があったため修正していたのですが、 サンプルソースで提供されている USBドライバで Orクリアされている箇所がありました。 こちらは意図的に Or でクリアしているのでしょうか = で修正してかまわないのでしょうか? 記載箇所はサンプルソースのV210 で usb_hal.c の f28x_USB0DeviceIntHandler() などです PieCtrlRegs.PIEACK.all |= 0x0100; と記載されています。 2018年7月3日 3:09 PM #2307 返信 Ge従業員 Bitフィールド単位での書き込み(PieCtrlRegs.PIEACK.bit.ACK1 など)でなければ問題ございませんので、以下の記載で問題ございません。 PieCtrlRegs.PIEACK.all |= 0x0100; ただし、上記の記述の場合、無駄なRead modify write が発生しますので、無駄に時間がかかります。よって、御社ですでに記載されているように、PieCtrlRegs.PIEACK.all = 0x0100;と記載する方法が推奨されます。 2018年7月3日 3:29 PM #2310 返信 d.o.参加者 わかりました。 PieCtrlRegs.PIEACK.all = 0x0100;と修正するようにします 投稿者 投稿 3件の投稿を表示中 - 1 - 3件目 (全3件中)