ESP32_Arduino_TFT_eSPI使用記録

序文

中国では、Arduinoフレームワークを使ってプロジェクトを開発することはあまり一般的ではないようです。シングルチップマイクロコンピューターで開発する場合、自分で下から始めるようです。偶然にも、ESP32を使用して最近開発されたプロジェクトの基本的なプロトタイプは、Arduinoフレームワークを使用しています。このプロジェクトの元の作成者は外国人であり、彼とのチャットはとてもフレンドリーです。ここで、このプロジェクトの開発フレームワークを再説明できます。ESP32を開発する方法は2つあります。

  • 1つは、Espressifによって公式に提供されているESP-IDFメソッドに基づいており、開発にESP32-SDKを使用しています。
  • もう1つは、Arduinoフレームワークに基づく開発です。

ただし、実際には、IDFまたはArduinoのどちらを使用していても、元のSDKに基づいており、ArduinoはSDKを再度カプセル化するだけです。

TFT_eSPIについて

Arduinoの場合、誰かが作成したはしごのように、既製のライブラリがたくさんあり、直接使用できます。そして、TFT_eSPIは非常に既成の例です。プロジェクトでLCD + Touchを駆動する必要があるため、LCDはST7796Sを使用し、タッチチップはXPT2046を使用します。これは、淘宝網で非常に一般的な古典的なLCDモジュールのように見えます。もちろん、利用できるコードがたくさんあるので、これに遭遇してとてもうれしいです。そこで、情報を調べて、TFT_eSPIライブラリを決定的に使用します。githubアドレスは次のとおりです:
https//github.com/Bodmer/ TFT_eSPI
プロジェクトの場所に置いた、使用できます。しかし、物事は思ったほどスムーズに進みませんでした
。1)使用した画面は480 320であり、TFT_eSPIが提供するST7796ドライバーは320 240を使用しているため、直接駆動することはできません。
2)画面、タッチ回路は自社設計のため、他の構成とは異なり、直接使用することはできません。
したがって、すべてが最下位レベルの理解を持っている必要があります。まず、TFT_eSPIの構成を見てみましょう。
ここに画像の説明を挿入
フォルダ構成の観点からは、複雑ではなく、これらのいくつかに注意を払うだけで済みます。TFT_eSPIであっても、ライブラリがどれほど優れていても、SPIなどで駆動する必要があります。がコアであるため、ピンの定義が主要なものです。

User_Setup_Select.h

このファイルから定義を見つけることができます。実際、Taobaoで購入した汎用モジュールを使用する場合は、マクロを直接使用して、直接
ここに画像の説明を挿入
開くのに適したモジュールを確認できます次に、その中にピン番号を設定します。
ここに画像の説明を挿入
ただし、前述のように、これはユニバーサルタイプではないため、ここではカスタムタイプを選択します。
ここに画像の説明を挿入
実際、ここでは、定義および選択するためにすべてのドライバーが含まれています。ここでは、独自のLCDドライバーを定義する方法を示します。

User_Setup.h

1)独自のLCDモデルを選択します
ここに画像の説明を挿入
2)最初にデフォルトでオンになっているいくつかのピンをシールドします
ここに画像の説明を挿入
3)チップの使用に適したピン構成を見つけます(実際、ここにある必要はありません、実際、他の場所でも問題ありません、名前が同じであるため)、タッチがある場合は、タッチも構成します。
ここに画像の説明を挿入
4)元のフォントライブラリをシールドします(独自のニーズを参照してください。TFT_eSPIにはUIインターフェイスが付属しています)
ここに画像の説明を挿入
5)SPIの速度を構成し
ここに画像の説明を挿入
ますTaobaoのモジュールを使用する場合、基本的に直接初期化に使用できますが、独自に変更する必要があります。 、
6)初期構成の変更最初に
ここで検索し、このヘッダーファイルを入力
ここに画像の説明を挿入
し、既製のものを参照して、独自のパラメーター構成に直接変更します。これ
ここに画像の説明を挿入
までのところ、変更は完了しています。残りはデモを参照して直接初期化できます。タッチは直接使用することもできますが、XPT2046の場合のみです。

おすすめ

転載: blog.csdn.net/qq_42312125/article/details/113207237