• → دي بتفتحلي مكتبة الـ STM32 عشان أقدر أتعامل مع الرجسترات بتاعت الـ GPIO والـ Timer والـ ADC.
• → دي بتخليني أستخدم أنواع بيانات زي و .
• → هنا عرّفت إن الفولت المرجعي بتاع الميكروكنترولر هو 3.3 فولت، وده هستخدمه لما أحوّل قراءة الـ ADC لفولت.
⏳ دالة التأخير
• → دي دالة بتعمل تأخير بسيط بالعدّ، يعني الميكروكنترولر يفضل واقف شوية قبل ما يكمل. أنا بستخدمها مع الـ LCD عشان أدي نبضة أو أسيب وقت كفاية للإشارة.
? الـ LED على البن PB5
• في → فعلت الساعة للـ Port B، وبعد كده ظبطت البن PB5 إنه يبقى Output.
• في → بخلي البن HIGH فالليد يولّع.
• في → بخلي البن LOW فالليد يطفي.
• يعني ببساطة: الليد هنا مؤشر بصري، يولّع لو الحرارة عالية، ويطفي لو الدنيا آمنة.
? السماعة على البن PB0 باستخدام PWM
• في → فعلت الساعة للـ Port B وكمان للـ Timer3.
• ظبطت البن PB0 إنه يبقى Alternate Function Output (يعني يطلع إشارة من التايمر مش مجرد High/Low).
• بعد كده ظبطت التايمر:
• قسمته من 72MHz لحد 1MHz.
• خليت العد يوصل لـ 500، فبكده الإشارة تبقى بتردد حوالي 2kHz.
• خليت الـ Duty Cycle 50% يعني نص الوقت High ونص الوقت Low.
• النتيجة: التايمر بيطلع موجة مربعة بسرعة 2000 مرة في الثانية، والسماعة بتحول الاهتزاز ده لصوت صفارة.
• عندي دالتين:
• → يشغل التايمر فيطلع الصوت.
• → يوقف التايمر فيسكت الصوت.