2012年3月9日金曜日

SCCB

STM32F4DiscoveryでI2Cを使ってOV7670のSCCBバスを操作すると、
なぜかハマったので備忘録・・・

STM32F4xx_DSP_StdPeriph_Lib_V1.0.0のDCMIのOV9655を流用して作ったんだが、
どうもSCCBバスのリードが全くできない・・・
厳密には1発目のリードの不具合が2発目以降のシーケンスを破壊しているようだ・・・

というわけでまずはaitendoのOV7670はハードリセットできないので外部電源ICをコントロールして
毎回電源を再投入するように改造・・・これで毎回同じ状態で起動する・・・( ´Д`)=3

で・・・ マイコン工作実験日記でも記載されている内容とソースを見比べてみると・・・
STOPビット送出が必要・・・

というわけでEV6の前のSTARTビット送出前にSTOPビットを送出する記述を追加すると・・・
読めたw ワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ

今日の教訓・・・
サンプルソースは信頼しても信用してはいけない・・・( ゚∀゚)・∵. グハッ!!

同じハマリを経験された方はコメント欲しいなぁ・・・(;´∀`)

0 件のコメント:

コメントを投稿