[English](/README.md) | [ 简体中文](/README_zh-Hans.md) | [繁體中文](/README_zh-Hant.md) | [日本語](/README_ja.md) | [Deutsch](/README_de.md) | [한국어](/README_ko.md)
## LibDriver WS2812B [![MISRA](https://img.shields.io/badge/misra-compliant-brightgreen.svg)](/misra/README.md) [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://www.libdriver.com/docs/ws2812b/index.html) [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](/LICENSE) WS2812Bは、制御回路と照明回路を統合したインテリジェントな外部制御LED光源です。その外観は5050LEDランプビーズと同じであり、各コンポーネントはピクセルです。ピクセルの内部には、インテリジェントなデジタルインターフェースデータラッチ信号の整形と増幅の駆動回路、高精度の内部発振器、プログラム可能な定電流制御部品が含まれており、ピクセルライトの色の一貫性を効果的に確保します。データプロトコルは、シングルラインのゼロ復帰コード通信方式を採用しています。ピクセルの電源を入れてリセットした後、DIN端末はコントローラーから送信されたデータを受け入れます。最初に送信された24ビットデータは、最初のピクセルによって抽出されて送信されます。残りのデータは、内部整形処理回路によって整形および増幅され、DOポートを介して次のカスケードピクセルに転送および出力されます.1ピクセルの送信後、信号は24ビット減少します。ピクセルは自動整形および転送技術を採用しているため、ピクセルのカスケード数は信号伝送によって制限されるのではなく、信号伝送速度の要件によってのみ制限されます。最大2KHzのポートスキャン周波数は、高速モバイル製品の使用に非常に適した高解像度カメラのキャプチャの下でちらつきません。リセット時間が280μsを超えると、割り込みがあっても誤リセットが発生せず、低周波数で安価なMCUに対応できます。 LEDには、低電圧ドライブ、環境保護と省エネ、高輝度、大きな散乱角、優れた一貫性、低電力、長寿命という利点があります。 LEDに制御回路を統合することにより、回路がシンプルになり、体積が小さくなり、設置が容易になります。 LibDriver WS2812Bは、LibDriverによって起動されたWS2812Bの全機能ドライバーです。 WS2812Bは、LED書き込みおよびその他の機能を提供します。 LibDriverはMISRAに準拠しています。 ### 目次 - [説明](#説明) - [インストール](#インストール) - [使用](#使用) - [example write](#example-write) - [ドキュメント](#ドキュメント) - [貢献](#貢献) - [著作権](#著作権) - [連絡して](#連絡して) ### 説明 / srcディレクトリには、LibDriver WS2812Bのソースファイルが含まれています。 / interfaceディレクトリには、LibDriver WS2812B用のプラットフォームに依存しないSPIバステンプレートが含まれています。 / testディレクトリには、チップの必要な機能を簡単にテストできるLibDriver WS2812Bドライバーテストプログラムが含まれています。 / exampleディレクトリには、LibDriver WS2812Bプログラミング例が含まれています。 / docディレクトリには、LibDriver WS2812Bオフラインドキュメントが含まれています。 / datasheetディレクトリには、WS2812Bデータシートが含まれています。 / projectディレクトリには、一般的に使用されるLinuxおよびマイクロコントローラー開発ボードのプロジェクトサンプルが含まれています。 すべてのプロジェクトは、デバッグ方法としてシェルスクリプトを使用しています。詳細については、各プロジェクトのREADME.mdを参照してください。 / misraはLibDriver misraコードスキャン結果を含む。 ### インストール / interfaceディレクトリにあるプラットフォームに依存しないSPIバステンプレートを参照して、指定したプラットフォームのSPIバスドライバを完成させます。 /src ディレクトリ、プラットフォームのインターフェイス ドライバー、および独自のドライバーをプロジェクトに追加します。デフォルトのサンプル ドライバーを使用する場合は、/example ディレクトリをプロジェクトに追加します。 ### 使用 /example ディレクトリ内のサンプルを参照して、独自のドライバーを完成させることができます。 デフォルトのプログラミング例を使用したい場合の使用方法は次のとおりです。 #### example write ```C #include "driver_ws2812b_basic.h" uint8_t res; uint32_t i; static uint32_t gs_rgb[21]; static uint8_t gs_temp[1024]; /* init */ res = ws2812b_basic_init(); if (res != 0) { return 1; } /* write color */ for (i = 0; i < 21; i++) { gs_rgb[i] = color; } /* write data */ res = ws2812b_basic_write(gs_rgb, 21, gs_temp, 1024); if (res != 0) { (void)ws2812b_basic_deinit(); return 1; } /* close the chip */ res = ws2812b_basic_deinit(); if (res != 0) { return 1; } else { return 0; } ``` ### ドキュメント オンラインドキュメント: [https://www.libdriver.com/docs/ws2812b/index.html](https://www.libdriver.com/docs/ws2812b/index.html)。 オフラインドキュメント: /doc/html/index.html。 ### 貢献 CONTRIBUTING.mdを参照してください。 ### 著作権 著作権(c)2015-今 LibDriver 全著作権所有 MITライセンス(MIT) このソフトウェアおよび関連するドキュメントファイル(「ソフトウェア」)のコピーを取得した人は、無制限の使用、複製、変更、組み込み、公開、配布、サブライセンスを含む、ソフトウェアを処分する権利を制限なく付与されます。ソフトウェアのライセンスおよび/またはコピーの販売、および上記のようにソフトウェアが配布された人の権利のサブライセンスは、次の条件に従うものとします。 上記の著作権表示およびこの許可通知は、このソフトウェアのすべてのコピーまたは実体に含まれるものとします。 このソフトウェアは「現状有姿」で提供され、商品性、特定目的への適合性、および非侵害の保証を含むがこれらに限定されない、明示または黙示を問わず、いかなる種類の保証もありません。 いかなる場合も、作者または著作権所有者は、契約、不法行為、またはその他の方法で、本ソフトウェアおよび本ソフトウェアの使用またはその他の廃棄に起因または関連して、請求、損害、またはその他の責任を負わないものとします。 ### 連絡して お問い合わせくださいlishifenging@outlook.com。