سائقي عرض رسومات STM32FXXX
مخطط الطبقة ، دوائر وإعدادات الأمثلة:
- lcd_drv.pdf (https://github.com/robertobenjami/stm32_graphics_display_drivers/blob/master/lcd_drv.pdf)
LCD I/O و DRIVER I/O شاشة اللمس:
- LCD_IO_SPI: SPORAME SPI ، Hardware SPI ، أجهزة SPI مع DMA
- LCD_IO_GPIO8: 8 بت Paralell بدون شاشة لمس مقاومة التناظرية
- lcd_io_gpio16: 16 بت paralell بدون شاشة لمس مقاومة التناظرية
- lcd_io_fsmc8: 8 بت paralell بدون شاشة لمس التناظرية + FSMC أو FSMC مع DMA
- lcd_io_fsmc16: 16 بت paralell بدون شاشة لمس التناظرية + FSMC أو FSMC مع DMA
- LCDTS_IO_GPIO8: 8 بت paralell مع شاشة لمس التناظرية المقاومة
- LCDTS_IO_FSMC8: 8 بت paralell مع شاشة لمس التناظرية + FSMC أو FSMC مع DMA
- TS_XPT2046: XPT2046 برنامج تشغيل شاشة تعمل باللمس ، البرامج والأجهزة SPI ، 4 أو 5 أسلاك
- LCDTS_IO_SPI_XPT2046: LCD و XPT2046 في SPI المشترك والبرامج والأجهزة SPI مع DMA (DMA فقط في LCD)
| عائلة STM | spi | GPIO8 | GPIO16 | FSMC8 | FSMC16 | TS_GPIO8 | TS_FSMC8 | TS_XPT2046 | SPI_XPT2046 | ملحوظة |
|---|
| STM32F0 | + | + | + | | | | | | | |
| STM32F1 | + | + | + | | | + | | + | | |
| STM32F2 | + | + | + | + | + | + | + | + | + | |
| STM32F3 | + | + | + | | | | | | | |
| STM32F4 | + | + | + | + | + | + | + | + | + | |
| STM32F7 | + | + | + | | | | | | | |
| STM32G0 | | + | + | | | | | | | لم يتم اختباره |
| STM32G4 | | + | + | | | | | | | لم يتم اختباره |
| STM32L0 | + | + | + | | | | | | | لم يتم اختباره |
| STM32L1 | + | + | + | | | | | | | |
| STM32L4 | + | + | + | | | | | | | لم يتم اختباره |
| STM32L5 | | + | + | | | | | | | لم يتم اختباره |
| STM32H7 | | + | + | | | | | | | |
سائق LCD:
- ST7735 (تم اختبار وضع SPI)
- ST7783 (تم اختبار وضع 8 بت Paralell)
- ILI9325 (تم اختبار وضع 8 بت Paralell)
- ILI9328 (تم اختبار وضع 8 بت Paralell)
- ILI9341 (SPI ، 8 بت و 16 بت paralell وضع ، SPI مع وضع LTDC اختبار)
- ILI9486 (تم اختبار وضع 8 بت Paralell)
- ILI9488 (SPI ، تم اختبار وضع 8 بت Paralell)
- HX8347G (تم اختبار وضع 8 بت Paralell)
برنامج:
- LCDSPEEDTEST: اختبار سرعة شاشة LCD
- TouchCalib: برنامج معايرة الشاشة التي تعمل باللمس
- الطلاء: Arduino Paint Clone
- JPGViewer: عارض ملف JPG من بطاقة SD أو Pendrive
- analogclock: DEMO التناظرية (printf: النتيجة ، أستخدم دبوس SWO لمشاهد الأسلاك التسلسلية ST-Link (SWV). انظر: أمثلة/src/syscalls.c)
- 3d ملء المتجه (من https://github.com/CBM80AMIGA/ST7789_3D_FILD_VECTOR_EXT)
كيفية استخدام بدء من الصفر؟
- STM32F103C8 - SPI: https://www.youtube.com/watch؟v=4NZ1VWUQWHW
- STM32F103C8 - GPIO8: https://www.youtube.com/watch؟v=2OP4VGOTUJA
- STM32F103C8 - GPIO8 مع شاشة تعمل باللمس: https://www.youtube.com/watch؟v=QYCCTZABD2G
- STM32F407ZET - FSMC16 ، SDCARD ، JPG: https://www.youtube.com/watch؟v=hfekmzxt2l8
- STM32F429ZI Discovery - SPI -DMA ، USBHOST Pendrive ، JPG: https://www.youtube.com/watch؟v=QI8CTNJGWFW
- إنشاء مشروع لـ Cubemx أو Cubeide
- وضع RCC (مرنان كريستال/سيراميك)
- وضع التصحيح (SYS / Serial Wire أو Trace Assyn SW)
- تعيين مصدر قاعدة البيانات الزمنية (أحب المؤقت الأساسي لهذا)
- إذا كان FSMC: تعيين FSMC (رقاقة تحديد ، نوع الذاكرة = LCD ، LCD REG SELECT ، DATA = 8 أو 16 بت ، توقيت)
- إذا كان sdcard: تعيين وضع sdio ، قم بتمكين fatfs ، fatfs: use_lfn ، max_ss = 4096 ، fs_lock = 5 ، rtc actabled
- إذا كان USB Pendrive: تعيين مضيف USB ، قم بتعيين قوة USB ، وتمكين fatfs ، use_lfn ، max_ss = 4096 ، fs_lock = 5
- إذا تم تمكين JPG: LIBJPEG
- تعيين تكوين الساعة
- إعدادات المشروع: اسم المشروع ، أدوات أدوات = truestudio ، حجم المكدس = 0x800
- إنشاء رمز المصدر
- truestudio أو cubeide
- فتح مشاريع من نظام الملفات (فقط truestudio)
- مفتوح Main.c
- إضافة رمز المستخدم تبدأ PFP: void mainapp (void) ؛
- إضافة رمز المستخدم تبدأ في حين: mainapp () ؛
- مفتوح Main.H
- إضافة رمز المستخدم يشمل (#include "STM32F1XX_HAL.H" أو #include "STM32F4XX_HAL.H" أو ...)
- أضف 2 مجلد جديد لمجلد SRC (التطبيق ، LCD)
- نسخ الملفات (s) من التطبيق/... إلى التطبيق
- نسخ ملفات 4 أو 7 من برامج التشغيل إلى LCD (LCD.H ، BMP.H ، STM32_ADAFRUIT_LCD.H / C ، إذا لمسة: TS.H ، STM32_ADAFRUIT_TS.H / C)
- نسخ مجلد الخطوط إلى مجلد LCD
- نسخ برنامج تشغيل IO إلى مجلد LCD (LCD_IO _... H / C أو LCDTS_IO ... H / C أو ...)
- نسخ برنامج تشغيل LCD إلى مجلد LCD (ST7735.H / C أو ILI9325.H / C أو ...)
- إذا printf إلى SWO: انسخ Syscalls.c إلى مجلد SRC
- إعداد التكوين ملف رأس برنامج تشغيل IO (إعدادات PIN ، إعدادات السرعة وما إلى ذلك ...)
- تعيين تكوين LCD (الاتجاه ، الشاشة التي تعمل باللمس)
- إضافة تضمين المسار: SRC/LCD
- تعيين خيارات التجميع (تمكين بناء Paralell ، الأمثل)
- ترجمة ، ركض ...
مثال (يرجى فك ضغط التطبيق الذي تحب):
- F103C8T_APP: (تطبيقات HAL STM32F103C8T ، Cubemx ، Truestudio)
- F103C8T_APP_RTOS: (تطبيقات STM32F103C8T HAL-Freertos ، Cubemx ، Truestudio)
- F407VET_APP: (STM32F407VET HAL-Applications ، Cubemx ، Truestudio)
- F407VET_APP_RTOS: (تطبيقات STM32F407VET HAL-Freertos ، Cubemx ، Truestudio)
- F407VET_APP_FSMC: (تطبيقات HAL STM32F407VET ، FSMC ، Cubemx ، Truestudio)
- F407VET_APP_RTOS_FSMC: (تطبيقات STM32F407VET HAL-Freertos ، FSMC ، Cubemx ، Truestudio)
- F407VET_APP_FSMC16: (تطبيقات HAL STM32F407VET ، FSMC 16 بت ، Cubemx ، Truestudio)
- F407ZET_APP_FSMC16_EXTSRAM: (تطبيقات HAL STM32F407ZET ، FSMC 16 بت ، 1 ميجابايت SRAM ، Cubemx ، Truestudio)
كيفية إضافة دعم SWO إلى stlink رخيصة؟
https://lujji.github.io/blog/stlink-clone-trace/