ホーム › フォーラム › Texas Instruments › マイコン › MSP430 › PMM29の回避策(3)について このトピックには2件の返信が含まれ、2人の参加者がいます。6 年、 5 ヶ月前に クライフ さんが最後の更新を行いました。 3件の投稿を表示中 - 1 - 3件目 (全3件中) 投稿者 投稿 2018年6月7日 2:54 PM #1935 返信 kkk参加者 MSP430、エラッタ情報、PMM29 PMM29の回避策(3)について デバイス型番:MSP430FR6879 <p>PMM29の回避策(3)に下記のコードを追加するように記載されていました。</p><p>// PMM29 workaround.<br />FRCTL0 = FRCTLPW;<br />GCCTL0 = FRPWR; //clear FRLPMPWR while keeping FRPWR set<br />FRCTL0_H = 0; //re-lock FRCTL<br />// End PMM29 workaround</p><p>『FRCTL0 = FRCTLPW』と『FRCTL0_H = 0』はレジスタの書き込み許可と書き込み禁止をしていると分かるのですが、『GCCTL0 = FRPWR』が何をしているのか分からないので処理内容を教えてください。</p><p>「FRPWRを維持したままFRLPMPWRをクリア」とコメントが付いていますが、『GCCTL0 = FRPWR』だけでFRLPMPWRもクリアされるのでしょうか?</p><p> </p> 2018年6月7日 3:10 PM #1938 返信 kkk参加者 <p>投稿内容がバグっており、投稿内容の編集も削除もできないので、返信で再度投稿します。</p><p> </p><p>PMM29の回避策(3)について、『FRCTL0 = FRCTLPW』と『FRCTL0_H = 0』はレジスタの書き込み許可と書き込み禁止をしていると分かるのですが、『GCCTL0 = FRPWR』が何をしているのか分からないので処理内容を教えてください。</p><p>「FRPWRを維持したままFRLPMPWRをクリア」とコメントが付いていますが、『GCCTL0 = FRPWR』だけでFRLPMPWRもクリアされるのでしょうか?</p> 2018年6月7日 4:55 PM #1956 返信 クライフ従業員 kkk様 お問い合わせ頂き、ありがとうございます。 ◆『GCCTL0 = FRPWR』の処理について 上記のコードはC言語において、GCCTL0レジスタにFRPWR(=0x04)を代入する処理をしています。 GCCTL0のリセット直後(初期状態)の値は、0x06(2bit FRPWR = 1 , 1bit FRLPMPWR = 1の状態)です。 ※ユーザーズガイド GCCTL0のレジスタページに初期状態の数値とレジスタビットについて記載がございます。 P293 7.10.2 GCCTL0 Register ソースコード上の「FRPWR」はmsp430frxxxx.h(xは使用されているデバイス型番の下4桁数値)にて定義されている定数値で、その値は0x04になります。 『GCCTL0 = FRPWR』によって、GCCTL0レジスタを0x06から0x04(2bit FRPWR = 1 , 1bit FRPWR = 0の状態)にセットします。 これにより、「FRPWRを維持したまま、FRLPMPWRをクリア」させることができます。 以上、よろしくお願い致します。 Cruijff 投稿者 投稿 3件の投稿を表示中 - 1 - 3件目 (全3件中)