2021年8月16日月曜日

SANYO LC7881 DAC その16(PIC32MX編)

土日でプログラムリストやマイクロチップのPDFを見て、
うまく動作していない部分の検討をして本日テストした。

結果としては、色々試したけど駄目だった。問題点はこの
CPUの仕様として理解して回避する事にした。

・起こっていると考えられる問題点
DMA割り込み処理中に何か条件(たぶんUSB割り込み)が
発生すると「DMA割り込み処理を中止」し、その後で再度
「DMA割り込み処理を最初から実行」する。「実行」後は
先に「中止」した処理はたぶん実行しない。

・回避法
DMA割り込み処理中は同じプログラムを2回実行しても
トラブルが発生しない様に割り込み中に変数は変更せず
実行済フラグを立て、割り込み処理後にメインループで
フラグを確認して変数計算を行う。

割り込み関係なのでプログラム上で何らかの回避方法が
ありそうだが、テストした範囲と資料の範囲では解らない
ので仕方がない。

この感じだと、元々のサンプルプログラムも同じ症状だと
推測されるので、サンプルプログラムを改造する人は注意
して頂きたい。

0 件のコメント:

コメントを投稿