SevenPlumBar(7PlumBar)

カタカナでマーサ(となりの芝生)

STM32メモ

  • STM32L073 LCD駆動部の電源供給(毎回忘れる)
    外部から供給する方法と、内部のDC-DCコンバータで生成する方法がある
    外部供給時は、VLCDピン(ⅬQFP48パッケージでは1ピン)に、駆動用電圧
    (波形の最大電圧:図の 3/3V)を接続する(VDD=3.3Vと2.2μFのコンデンサ
    内部供給のときは、このVLCDピンには、コンデンサのみを接続し、VDDは接続しない(DC-DCコンバータの出力なので)
    f:id:SevenPlumBar:20190203081621j:plain
    ところが、「CubeMX」で出力されるピン配置には、VLCDという名前は出てこなくて、VLCDのピンもほかの電源ピンと同じで「VDD」という名前になっている
    そのままVDDを接続してしまうと、LCDの制御レジスタ設定で内部供給を設定した時(CR.VSEL=0)に、SR.RDYが”1”になってくれない

  • STM32L073 LCDの表示品質
    表示は出るけどコントラストが低く、FSR.CCをいじってコントラストを上げてやると、今度は非点灯セグメントがうっすらと点灯してしまったり、同じセグメントの、他の桁が薄くなったりする(この時のCOMの波形は上図のようなきれいな階段波形ではなく、肩がなめたような波形になっている)
    これはLCDドライバの駆動能力が低い(出力インピーダンスが高い)状態なので
    FCR.HDを”1”にしてやるとくっきりしたきれいな表示になる

  • ありがちなトラブル
    ST-LINKとかのエミュレータデバッグするときに
    SystemClock_Config(); 
    で帰ってこなくなる時がちょいちょいあるが
    たいていの場合、「プロジェクト→オプション→デバッガ」の中の「設定」タブの「ドライバ(D)」が勝手に「シミュレータ」になっている
    たまに本当に選択したクロックソースが来ていないこともあるけど…