ソーマ&るいのマイコン備忘録

マイコン関連の備忘録的なこと

32MM PORTBがMCCP1と競合?

32MM(0064GPL28)で音遊びをしているのですが、PORTBはしっかり0~15まで出ており、その気になればR2RラダーDACなどで16BITPCMサウンドを奏でることも出来ます。

まぁそこまで使わなくてもシンセのOSCなら8Bitでも十分と思い、オシレータの出力にポートBの0~7までリニアに使用。

あと通信用SPIに二本、VCAのEG、VCFのカットオフとレゾナンス にCCP(PWM)をフル活用でマルチ音源化も可能だなぁと夢を膨らませ、オシレーターの音を聞いたらなんかおかしい、歪んでる・・・オシロで波形を確認したらやっぱりヘン、どっかのBITが抜けた状態でした。

もう一度半田付けをチェックしたところちゃんとつながっている、一時的にCVコントロールのデータをDACに流し込んで調べたら、どうやら16の桁(RB4)で0になっている模様、一時的にPORTB4を強制的にON・・・のはずが出力されない・・・。

いろいろ試して半日つぶして原因わからず、なので頭を冷やして翌日ダミーのプロジェクトをMCCで作成していたら気になるところがありました。

MCCP1を使おうとするとRB4がSOSCOとかでロックされてしまいます、DAC以外の入出力はB8以降に並べたかったのでSCCP1の出力をSCCP1のB(RB9)に割り当てたのが間違いだったようです。

とりあえずMCCP1の出力をF(RA1)に割り当てたらRB4が正常に機能しました。

 

プロの技術屋さんに「エラッタシート見れば書いてあるだろwww」と怒られそうな話ではありますが・・・。