Keresés

Hirdetés

Új hozzászólás Aktív témák

  • #70211840

    törölt tag

    válasz #70211840 #18129 üzenetére

    Update az Arduino GFX + Blue Pill margójára:

    Megkérdeztem a fejlesztőt és mivel nincs "Blue Pill"-je, ezért hivatalosan nincs a támogatottak listáján. Feltételezem ezért nincs felsorolva sem az STM32 a BUS listában csak ott van a kód a többi között.

  • Janos250

    őstag

    válasz #70211840 #18129 üzenetére

    Most volt egy kis időm, és ismét belenéztem ebbe az óra programba, ami le se fordult.

    Lefordulni lefordul, de hardver hiányában persze kipróbálni nem tudom.
    A tapasztalatok:

    A programban a legelején ki kell választani valamelyik stm32-t.
    #define ARDUINO_ARCH_STM32F1
    nem jó, mert a Arduino_STM32PAR8.h elején csak az

    ARDUINO_ARCH_STM32 szerepel
    ezért:
    #define ARDUINO_ARCH_STM32

    includolni kell a Arduino_STM32PAR8.h-t
    #include <databus\Arduino_STM32PAR8.h>

    Az Arduino_STM32PAR8.h-ban szerepel a GPIO_TypeDef típus, de sehol nincs megadva. Meg kell adni!

    typedef struct
    {
    __IO uint32_t CRL;
    __IO uint32_t CRH;
    __IO uint32_t IDR;
    __IO uint32_t ODR;
    __IO uint32_t BSRR;
    __IO uint32_t BRR;
    __IO uint32_t LCKR;
    } GPIO_TypeDef;

    A .ino-ban:

    #define ARDUINO_ARCH_STM32
    #include <Arduino_GFX_Library.h>
    #include <databus\Arduino_STM32PAR8.h>
    #define GFX_BL DF_GFX_BL // default backlight pin, you may replace DF_GFX_BL to actual backlight pin

    #if defined(DISPLAY_DEV_KIT)
    Arduino_GFX *gfx = create_default_Arduino_GFX();
    #else /* !defined(DISPLAY_DEV_KIT) */
    ;

    GPIO_TypeDef * ENPORTOM = (GPIO_TypeDef *) 0x42010800 ;
    //ENPORTOM=0x42010800 ez az STM32 A portja

    Arduino_DataBus* bus = new Arduino_STM32PAR8(1, 2, 3, 4, ENPORTOM);
    // csak probara 1, 2, 3, 4,-et irtam be
    /*
    Az egyes portok kezdőcímei:
    #define PERIPH_BB_BASE   ((uint32_t)0x42000000)
    #define APB2PERIPH_BASE   (PERIPH_BASE + 0x10000)

    #define GPIOA_BASE (APB2PERIPH_BASE + 0x0800)
    #define GPIOB_BASE (APB2PERIPH_BASE + 0x0C00)
    #define GPIOC_BASE (APB2PERIPH_BASE + 0x1000)
    #define GPIOD_BASE (APB2PERIPH_BASE + 0x1400)
    #define GPIOE_BASE (APB2PERIPH_BASE + 0x1800)
    #define GPIOF_BASE (APB2PERIPH_BASE + 0x1C00)
    #define GPIOG_BASE (APB2PERIPH_BASE + 0x2000)
    */

    Arduino_GFX *gfx = new Arduino_ILI9341(bus, DF_GFX_RST, 0 /* rotation */, false /* IPS */);

    Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

Új hozzászólás Aktív témák