في
مقالة سابقة ، نظرنا في خيار استخدام متحكم STM32F103C8T6 كمحرك أقراص محمول مع نظام ملفات داخلي FAT12. يمكنك الآن التفكير في كيفية الحصول على البيانات من نظام الملفات الداخلي لدينا. على سبيل المثال ، نحتاج إلى تخزين بعض إعدادات برنامجنا.
لا يوجد أي تعقيد خاص بنيات تنسيق البيانات مطلوب لتخزين الإعدادات المسماة. نحن نقبل التنسيق التالي - إعداد واحد = ملف واحد. على سبيل المثال ، نحتاج إلى تخزين سرعة الاتصال عبر UART ، وعلى سبيل المثال ، التأخير بالميللي ثانية من الصمام الوامض. قم
بإنشاء (في أي محرر نصوص) ملفات
UART_SPD.SET و
DELAY_BL.SET في نظام الملفات لدينا. نكتب القيم فيها: 115200 و 1000 ، على التوالي.
للحصول على هذه البيانات ، بالانتقال إلى FAT12 الداخلية ، ستحتاج إما إلى أخذ مكتبة HAL FatFs القياسية ومحاولة تكييفها مع الفلاش الداخلي. أو اذهب بطريقة أبسط وأكثر ملاءمة - اكتب وظيفة قارئ بيانات ملف FAT12 ، والتي سنفعلها:
uint8_t f12_read_data ( char *file_name,
الآن - نحصل على قيمة الإعدادات اللازمة:
f12_read_data("UART_SPDSET" ,&fdata, file_list, 200);

سيحتوي صفيف fdata على السلسلة "115200" ، والتي يمكن تحويلها إلى عدد صحيح باستخدام دالة atoi ():
المشروع مع رموز المصدر يمكن أن يؤخذ
هنا .
هذا كل شيء. شكرا لاهتمامكم!