- إعداد Arduino IDE
- إعداد لوحة STM8S103F3 لبرمجة Arduino IDE
- يومض LED في STM8S103F3 باستخدام Arduino
- رسم الخرائط اردوينو دبوس ل STM8S103F3
- تجميع مكتبات SPL على Arduino IDE
نمت Arduino بلا شك لتصبح أداة سهلة الاستخدام وسريعة للنماذج الأولية ، وذلك بفضل مجتمع المستخدم الداعم. اليوم ، بسبب طبيعتها مفتوحة المصدر ، لا تقتصر المنصة على لوحات Arduino فحسب ، بل يمكن أيضًا برمجة لوحات التطوير الأخرى مثل NodeMCU و ESP8266 و STM32 و MSP430 وما إلى ذلك من Arduino IDE. إذا كنت مهتمًا بمعرفة كيفية القيام بذلك ، فيمكنك اتباع الروابط أدناه.
- برمجة NodeMCU مع Arduino IDE
- برمجة ESP8266 مع Arduino IDE
- برمجة STM32 مع Arduino IDE
- برمجة MSP430 مع Energeia (على غرار Arduino)
بدون شك ، يعد Arduino IDE رائعًا للمبتدئين ، ولكن مع ذلك ، من أجل التطوير المهني ، من الجيد العمل مع بيئات التطوير المحلية والمجمعين. مثل MPLABX لـ PIC Microcontrollers و Code Composer studio لـ TI Microcontrollers. يتيح لنا استخدام النظام الأساسي الأصلي العمل على مستوى التسجيل (حتى مستوى التجميع إذا لزم الأمر) مما يتيح للبرنامج أن يكون أكثر فعالية في الذاكرة. هذا هو السبب عندما بدأنا البرنامج التعليمي STM8S Microcontrollerفي السلسلة ، كان اختيار النظام الأساسي هو مترجم STVD و Cosmic C ، وكلاهما مجاني للتنزيل والاستخدام. للأسف ، فإن STVD هو IDE قديم جدًا ويبدو أنه يشبه التسعينيات أثناء العمل معه. علاوة على ذلك ، فإن أداة مبرمج STVP ليست مدمجة جيدًا مع IDE وعليك استخدامها بشكل منفصل. هذا يزيد من وقت التجميع والتحميل ويجعل التطوير وتصحيح الأخطاء أمرًا صعبًا.
ذهبت بحثًا عن بدائل وكان ذلك عندما جاء Arduino IDE للإنقاذ. تتيح لنا أداة تسمى Sduino by Michael Mayor برمجة وحدات التحكم الدقيقة STM8s بسهولة (معظمها شائعة) من Arduino IDE مباشرة ولا يستغرق الأمر سوى دقائق لإعداد هذا والبدء. ما هو أكثر إثارة للاهتمام هو أنه بصرف النظر عن دعم البرمجة بأسلوب Arduino ، فإن Sduino يسمح لنا أيضًا باستخدام Standard Peripheral Library (SPL) ، بمعنى آخر ، يمكننا تقريبًا تجميع نفس البرنامج على STVD في Arduino IDE. على الرغم من أن Sduino أداة رائعة ، إلا أنها لا تزال قيد التطوير ولا تزال تدعم العديد من مكتبات ووظائف Arduino. ومع ذلك ، دعنا نتعلم كيفية استخدام Arduino IDE مع مجلس تطوير STM8S103F.إذا كنت جديدًا تمامًا على هذا المنتدى ، فتأكد من بدء البرنامج التعليمي STM8S103F. بصرف النظر عن STM8S103F ، تدعم Sduino أيضًا متحكمات STM8S الأخرى مثل STM8S003 و STM8S105C و STM8S105K و STM8S و STM8S208MB و ESP14 ، إلخ. الإجراء الموضح في هذا البرنامج التعليمي هو نفسه للجميع.
إعداد Arduino IDE
الخطوة 1: إذا كنت جديدًا تمامًا على بيئة Arduino ، فقم بتنزيل Arduino بناءً على نظام التشغيل الخاص بك وقم بتثبيته.
الخطوة 2: Follow File -> Preferences لفتح نافذة التفضيلات ولصق الرابط أدناه في اللوحات الإضافية التي تدير مربع نص URL وانقر فوق OK.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
الخطوة 3: اتبع Tools -> Board -> Board manager لفتح مربع حوار board manager وابحث عن "sduino". انقر فوق تثبيت وأغلق مربع الحوار بعد اكتمال التثبيت.
الخطوة 4: أعد تشغيل IDE ثم اتبع Tools -> Board -> STM8S103F3 . يمكنك تحديد لوحات أخرى إذا كان لديك لوحة تطوير مختلفة.
الآن Arduino IDE جاهز لبرمجة STM8S103F3 Development Board. دعنا نجهز اللوحة ، ونوصلها بالكمبيوتر ، ونبرمج لوميض LED بسيط.
إعداد لوحة STM8S103F3 لبرمجة Arduino IDE
قم بتوصيل ST-Link V2 بلوحة التطوير كما هو موضح أدناه.
الاتصالات مباشرة إلى الأمام وأفضل جزء هو أنك لا تحتاج إلى مكونات خارجية. يظهر إعداد أجهزتي للبرمجة أدناه ، لقد استخدمت للتو أسلاك الرأس الأنثوية لإجراء الاتصال. ومع ذلك ، لاحظ أن pinout الخاص بـ ST-Link الخاص بك قد يختلف عن pinout الخاص بي ، تأكد من اتباع pinout على الجهاز قبل إجراء الاتصالات.
قم بإجراء الاتصال وتوصيل الجهاز بجهاز الكمبيوتر الخاص بك ، ويجب أن يبدأ تثبيت برنامج التشغيل تلقائيًا. يمكنك استخدام مدير الجهاز للتأكد من أن جهاز الكمبيوتر الخاص بك قد اكتشف ST-LINK V2 بشكل صحيح. ستلاحظ أيضًا وميض مؤشر LED للاختبار على اللوحة إذا كانت هذه هي المرة الأولى التي يتم فيها تشغيل اللوحة.
يومض LED في STM8S103F3 باستخدام Arduino
الآن للحصول على وميض LED بسيط ، يمكننا استخدام برنامج الوميض من قسم الأمثلة. اتبع ملف -> مثال -> Generic_Example -> أساسيات -> وميض .
البرنامج الكامل لوميض مصباح LED على متن الطائرة موضح أدناه-
إعداد باطل () {// تهيئة الدبوس الرقمي LED_BUILTIN كإخراج. pinMode (LED_BUILTIN ، الإخراج) ؛ } // تعمل وظيفة الحلقة مرارًا وتكرارًا إلى الأبد حلقة باطلة () {digitalWrite (LED_BUILTIN، HIGH)؛ // قم بتشغيل LED (HIGH هو مستوى الجهد) تأخير (1000) ؛ // انتظر كتابة رقمية ثانية (LED_BUILTIN ، LOW) ؛ / / قم بإيقاف تشغيل LED بجعل الجهد المنخفض تأخير (1000) ؛ // الانتظار لثانية واحدة }
كما ترى ، هذا مشابه جدًا لبرنامج Arduino blink. لتحميل البرنامج ، تأكد من توصيل منتداك عبر st-link v2 كما تمت مناقشته أعلاه وحدد المبرمج باسم "ST-Link / V2" كما هو موضح أدناه.
ملاحظة: على عكس لوحات Arduino ، لا يتعين عليك تحديد منفذ COM الصحيح لبرمجة اللوحة. سوف تستخدم منفذ COM فقط للاتصال التسلسلي.
بمجرد تحديد منفذ COM ، يكون تحميل الكود أيضًا بسيطًا جدًا. فقط اضغط على زر التحميل (المحاط باللون الأحمر أدناه) وسيتم تجميع الكود وتحميله على اللوح الخاص بنا تلقائيًا.
هذا كل شيء ، يتم تحميل البرنامج مباشرة على السبورة وسترى وميض LED الموجود على اللوحة. لا يوجد برنامج تحميل خارجي ، لا شيء. بهذه السهولة. يمكنك التحقق من الفيديو أسفل هذه الصفحة للعمل.
رسم الخرائط اردوينو دبوس ل STM8S103F3
إذا كنت تريد المتابعة من هنا ، فأنت بحاجة إلى معرفة كيفية معالجة كل دبوس على لوحة تطوير STM8S103F3. يمكن فهم تعيين الدبوس من هذه الصورة أدناه-
على سبيل المثال من الرسم التخطيطي لدائرة اللوحة STM8S103F3 ، نعلم أن مؤشر LED الموجود على اللوحة متصل بـ PB5. لمعالجة هذا الدبوس على Arduino ، يتعين علينا استخدام 3 ، وبالتالي يمكن كتابة البرنامج كـ-
إعداد باطل () {// تهيئة الدبوس الرقمي LED_BUILTIN كإخراج. pinMode (3 ، الإخراج) ؛ } // تعمل وظيفة الحلقة مرارًا وتكرارًا إلى الأبد حلقة باطلة () {digitalWrite (3، LOW)؛ // قم بتشغيل LED (HIGH هو مستوى الجهد) تأخير (1000) ؛ // انتظر كتابة رقمية ثانية (3 ، عالية) ؛ / / قم بإيقاف تشغيل LED بجعل الجهد المنخفض تأخير (1000) ؛ // الانتظار لثانية واحدة }
تجميع مكتبات SPL على Arduino IDE
كما ذكرنا سابقًا ، يمكننا أيضًا استخدام مكتبة SPL على Arduino IDE. إذا كنت تتذكر ، في البرنامج التعليمي السابق STM8S GPIO الخاص بنا ، فقد كتبنا رمزًا لوميض مؤشر LED الموجود على اللوحة وكذلك مؤشر LED خارجي باستخدام زر الضغط. يمكن أيضًا تجميع نفس الكود مع تعديلات قليلة جدًا على Arduino. يظهر الرمز المعدل أدناه.
#define Green_LED GPIOA ، GPIO_PIN_3 إعداد باطل () {GPIO_DeInit (GPIOA) ؛ // تحضير المنفذ A للعمل GPIO_DeInit (GPIOB) ؛ // إعداد المنفذ B للعمل // قم بتعريف PA2 كمدخل سحب دبوس GPIO_Init (GPIOA ، GPIO_PIN_2 ، GPIO_MODE_IN_PU_IT) ؛ // قم بتعريف PA3 باسم Push Pull Output pin GPIO_Init (Green_LED، GPIO_MODE_OUT_PP_LOW_SLOW) ؛ // قم بتعريف PB5 على أنه دفع سحب دبوس الإخراج GPIO_Init (GPIOB ، GPIO_PIN_5 ، GPIO_MODE_OUT_PP_LOW_SLOW) ؛ } حلقة باطلة () {if (GPIO_ReadInputPin (GPIOA، GPIO_PIN_2)) // إذا تم الضغط على الزر GPIO_WriteLow (Green_LED) ؛ // LED ON آخر GPIO_WriteHigh (Green_LED) ؛ // LED OFF GPIO_WriteReverse (GPIOB ، GPIO_PIN_5) ؛ تأخير (100) ؛ }
يعد إنهاء Arduino IDE جنبًا إلى جنب مع Sduino خيارًا جيدًا للغاية إذا كنت ترغب في بدء تطويرك باستخدام STM8S. ومع ذلك ، لا يزال النظام الأساسي قيد التطوير والعديد من مكتبات Arduino لم يتم دعمها بعد. ومع ذلك ، إذا كنت ترغب في التعمق في التنمية والمساهمة فيها ، فسيكون ذلك رائعًا. ولكن ، من أجل التعلم ، سأستمر في سلسلة البرامج التعليمية مع مترجم STVD و cosmic C.