Программирование МК STM32



Помечено: 

Просмотр 15 сообщений - с 121 по 135 (из 169 всего)
  • Автор
    Сообщения
  • #21258
    shumaher
    Участник

    Здравствуйте. здесь есть какой нибудь код связанный микропроцессор STM32F407 с резистор переменными и с дисплеем. мне надо так, когда крутишь, на дисплей отображает цифра, от 700 до 800. когда крутишь, цифры уменьшаются или увеличиваются. среда CooCox. помогите пожалуйста.

    #21294
    Losman
    Участник

    Приветствую во первых спасибо большое за видео уроки! Не на одном языке нету настолько доступного объяснения в таких количествах.
    Подключил по вашим видео урокам tft дисплей с такими пинами
    https://static-eu.insales.ru/images/products/1/428/142721452/TFT-MSD-_02.jpg
    Дисплей пришел со стиком и насколько я понял из описания он touch.
    Не могу разобраться как работать с тачем. Правильно ли я понимаю что если мы
    использовали fsmc то работать с тачем не получится? (возможно нужно использовать еще какой-то адрес для чтения?) Пытался нагуглить какой-то пример все примеры идут через SPI. Подскажите пожалуйста что нужно использовать чтобы заставить работать тач + дисплей.

    #21338
    imperror
    Участник

    Пытался нагуглить какой-то пример все примеры идут через SPI.

    Добрых суток.
    А это, скорее всего, и есть SPI:
    LCD_CS — spi_cs
    LCD_RS — spi_sck
    LCD_WR — spi_mosi
    LCD_RD — spi_miso

    #21341
    Losman
    Участник

    Видимо вы правы, спасибо! Попробую теперь разобраться. Вообще хотел сделать вывод FFT на дисплейчик с аудио потока, но судя по всему не получится. fsmc использует ножку PD4 (FSMC_NOE) а ножка PD4 также используется для чипа аудио RESET. Правильно ли я понимаю что можно использовать или fsmc или CS43L22? Или есть какой-то выход из ситуации?

    #21346
    imperror
    Участник

    Я не знаю какой у вас контроллер, но по идее можно переназначить ножку FSMC_NOE, у вас же платка LCD подключена ручками, следовательно ни что не мешает это сделать. Если чип аудио тоже не распаян на плате микроконтроллера, то можно переназначить RESET.

    #21348
    Cheerful_Wind
    Участник

    Здравствуйте!
    Не получается использование схемы распределения памяти heap_5 в IAR_Embedded_Workbench_for_ARM_8.40.
    По тексту урока 131 можно представить следующее:
    #if defined ( __ICCARM__ )
    __no_init static uint8_t heap_sram1[32*1024] @ «.user_heap_stack»;
    #else
    static __attribute__((used,section(«.user_heap_stack»))) uint8_t heap_sram1[32*1024];
    #endif
    uint8_t heap_sram2[32*1024];
    _____________________________________
    Не трудно поместить блок .user_heap_stack рядом с системным стеком и кучей после .bss:
    .bss zero 0x2000’f295 0x1 tcp.o [1]
    .bss zero 0x2000’f296 0x1 XShttio.o [2]
    — 0x2000’f297 0xf0af

    «P2», part 3 of 3: 0xe000
    .user_heap_stack uninit 0x2000’f298 0x8000 main.o [1]
    CSTACK 0x2001’7298 0x4000 <Block>
    CSTACK uninit 0x2001’7298 0x4000 <Block tail>
    HEAP 0x2001’b298 0x2000 <Block>
    HEAP uninit 0x2001’b298 0x2000 <Block tail>
    — 0x2001’d298 0xe000
    _____________________________________
    heap_sram1 0x2000’f298 0x8000 Data Lc main.o [1]
    heap_sram2 0x2000’01e8 0x8000 Data Gb main.o [1]
    _____________________________________
    Путем редактирования файла *.isf у меня не получилось разместить блок перед секцией .bss.
    Я не могу сказать, что эта неделя прошла не плодотворно с точки зрения вопросов распределения памяти, но пример так и не вышел из vPortDefineHeapRegions( xHeapRegions ). Точнее из heap_5.c:
    /* Check blocks are passed in with increasing start addresses. */
    configASSERT( xAddress > ( size_t ) pxEnd );
    ______________________________________
    Андрей Курниц в https://www.kit-e.ru/articles/micro/2012_11_93.php заканчивает повествование heap_4.
    Буду очень признателен, если кто-нибудь подробно разжует данный фрагмент урока!

    #21403
    nik182
    Участник

    Здравствуйте. В последней реинкарнации CUBEMX престал работать VCP он же CDC на плате blue pill. При дефолтных настройках всё компилируется, запускается, порт в виндовс поднимается, но любая попытка записи в порт приводит к ошибке обмена. Изменение размера Tx Rx буферов и применение других советов не приводит к восстановления работоспособности. На плате black pill (stm32 f401cc) всё работает без проблем. Есть ли у кого положительный опыт поднятия VCP на blue pill и последнем CUBEMX?

    #21480
    invite
    Участник

    доброго времени суток, что то запутался с таиминогами и настроиками sdram K4D261638F подключил против всех законов физики)))
    на столе проводами к F767zi, при 8 битном в память пишется первые два символа из буфера(0x37BA0F68) > (0x37373737rn), в 16 битном первые четыре (0x37BA37BArn), подтолкните в нужном направление, инициализация из урока 62 по SDRAM

    #21612
    fisher74
    Участник

    Добрый день.
    Решил начать осваивать SMT32, начав с Blue pill (F103c8t6). Светик, подключенный на плате к PortC13 смог зажечь, разобравшись в отличиях от F407.
    А вот с морганием выходит засада: функция задержки полностью игнорируется Кейлом.

    Я понимаю, что такой тип задержки самый расточительный и в практике применяться не будет, но хотелось бы разобраться в этой проблеме.

    #21613
    imperror
    Участник

    volatile void mydelay(void){

    }

    Должно помочь. volatile — говорит компилятору не оптимизировать функцию.

    #21614
    fisher74
    Участник

    Спасибо, но
    volatile void mydelay(void);
    компилятор заворачивает варнингом <div class=»spoilerui»>function cannot return qualified void type ‘volatile void’ [-Wqualified-void-return-type]</div>
    и так же игнорирует функцию.
    На другие типы данных так же ругается.
    А вот

    сработало. Спасибо.

    P.S. И какой-то странный движок форума — не позволяет редактировать своё последнее сообщение

    #21615
    imperror
    Участник

    компилятор заворачивает варнингом

    потому что надо было делать так:
    volatile void mydelay(void)
    {
    for ( unsigned long i=0; i<2000000; i++);
    }

    а не только в прототипе указывать volatile

    #21616
    fisher74
    Участник

    Ну уж не до такой степени ламер. Конечно же и в прототипе указывал и в самой функции.

    #21617
    imperror
    Участник

    Странно, должно было откомпилировать, только что проверил, но у меня gcc.

    #21619
    Igorexa
    Участник

    Здравствуйте, схема STM32H7-FMC-LCD. возможно-ли преобразовывать 1-бит(на пиксель) в 16-бит посредством dma2d? Шуршал даташит, там намек на альфабленд 1-бит режим.

  • Автор
    Сообщения
  • #21258

    shumaher
    Участник
    • Оффлайн

    Здравствуйте. здесь есть какой нибудь код связанный микропроцессор STM32F407 с резистор переменными и с дисплеем. мне надо так, когда крутишь, на дисплей отображает цифра, от 700 до 800. когда крутишь, цифры уменьшаются или увеличиваются. среда CooCox. помогите пожалуйста.

    #21294

    Losman
    Участник
    • Оффлайн

    Приветствую во первых спасибо большое за видео уроки! Не на одном языке нету настолько доступного объяснения в таких количествах.
    Подключил по вашим видео урокам tft дисплей с такими пинами
    https://static-eu.insales.ru/images/products/1/428/142721452/TFT-MSD-_02.jpg
    Дисплей пришел со стиком и насколько я понял из описания он touch.
    Не могу разобраться как работать с тачем. Правильно ли я понимаю что если мы
    использовали fsmc то работать с тачем не получится? (возможно нужно использовать еще какой-то адрес для чтения?) Пытался нагуглить какой-то пример все примеры идут через SPI. Подскажите пожалуйста что нужно использовать чтобы заставить работать тач + дисплей.

    #21338

    imperror
    Участник
    • Оффлайн

    Пытался нагуглить какой-то пример все примеры идут через SPI.

    Добрых суток.
    А это, скорее всего, и есть SPI:
    LCD_CS — spi_cs
    LCD_RS — spi_sck
    LCD_WR — spi_mosi
    LCD_RD — spi_miso

    #21341

    Losman
    Участник
    • Оффлайн

    Видимо вы правы, спасибо! Попробую теперь разобраться. Вообще хотел сделать вывод FFT на дисплейчик с аудио потока, но судя по всему не получится. fsmc использует ножку PD4 (FSMC_NOE) а ножка PD4 также используется для чипа аудио RESET. Правильно ли я понимаю что можно использовать или fsmc или CS43L22? Или есть какой-то выход из ситуации?

    #21346

    imperror
    Участник
    • Оффлайн

    Я не знаю какой у вас контроллер, но по идее можно переназначить ножку FSMC_NOE, у вас же платка LCD подключена ручками, следовательно ни что не мешает это сделать. Если чип аудио тоже не распаян на плате микроконтроллера, то можно переназначить RESET.

    #21348

    Cheerful_Wind
    Участник
    • Оффлайн

    Здравствуйте!
    Не получается использование схемы распределения памяти heap_5 в IAR_Embedded_Workbench_for_ARM_8.40.
    По тексту урока 131 можно представить следующее:
    #if defined ( __ICCARM__ )
    __no_init static uint8_t heap_sram1[32*1024] @ «.user_heap_stack»;
    #else
    static __attribute__((used,section(«.user_heap_stack»))) uint8_t heap_sram1[32*1024];
    #endif
    uint8_t heap_sram2[32*1024];
    _____________________________________
    Не трудно поместить блок .user_heap_stack рядом с системным стеком и кучей после .bss:
    .bss zero 0x2000’f295 0x1 tcp.o [1]
    .bss zero 0x2000’f296 0x1 XShttio.o [2]
    — 0x2000’f297 0xf0af

    «P2», part 3 of 3: 0xe000
    .user_heap_stack uninit 0x2000’f298 0x8000 main.o [1]
    CSTACK 0x2001’7298 0x4000 <Block>
    CSTACK uninit 0x2001’7298 0x4000 <Block tail>
    HEAP 0x2001’b298 0x2000 <Block>
    HEAP uninit 0x2001’b298 0x2000 <Block tail>
    — 0x2001’d298 0xe000
    _____________________________________
    heap_sram1 0x2000’f298 0x8000 Data Lc main.o [1]
    heap_sram2 0x2000’01e8 0x8000 Data Gb main.o [1]
    _____________________________________
    Путем редактирования файла *.isf у меня не получилось разместить блок перед секцией .bss.
    Я не могу сказать, что эта неделя прошла не плодотворно с точки зрения вопросов распределения памяти, но пример так и не вышел из vPortDefineHeapRegions( xHeapRegions ). Точнее из heap_5.c:
    /* Check blocks are passed in with increasing start addresses. */
    configASSERT( xAddress > ( size_t ) pxEnd );
    ______________________________________
    Андрей Курниц в https://www.kit-e.ru/articles/micro/2012_11_93.php заканчивает повествование heap_4.
    Буду очень признателен, если кто-нибудь подробно разжует данный фрагмент урока!

    #21403

    nik182
    Участник
    • Оффлайн

    Здравствуйте. В последней реинкарнации CUBEMX престал работать VCP он же CDC на плате blue pill. При дефолтных настройках всё компилируется, запускается, порт в виндовс поднимается, но любая попытка записи в порт приводит к ошибке обмена. Изменение размера Tx Rx буферов и применение других советов не приводит к восстановления работоспособности. На плате black pill (stm32 f401cc) всё работает без проблем. Есть ли у кого положительный опыт поднятия VCP на blue pill и последнем CUBEMX?

    #21480

    invite
    Участник
    • Оффлайн

    доброго времени суток, что то запутался с таиминогами и настроиками sdram K4D261638F подключил против всех законов физики)))
    на столе проводами к F767zi, при 8 битном в память пишется первые два символа из буфера(0x37BA0F68) > (0x37373737rn), в 16 битном первые четыре (0x37BA37BArn), подтолкните в нужном направление, инициализация из урока 62 по SDRAM

    #21612

    fisher74
    Участник
    • Оффлайн

    Добрый день.
    Решил начать осваивать SMT32, начав с Blue pill (F103c8t6). Светик, подключенный на плате к PortC13 смог зажечь, разобравшись в отличиях от F407.
    А вот с морганием выходит засада: функция задержки полностью игнорируется Кейлом.

    Я понимаю, что такой тип задержки самый расточительный и в практике применяться не будет, но хотелось бы разобраться в этой проблеме.

    #21613

    imperror
    Участник
    • Оффлайн

    volatile void mydelay(void){

    }

    Должно помочь. volatile — говорит компилятору не оптимизировать функцию.

    #21614

    fisher74
    Участник
    • Оффлайн

    Спасибо, но
    volatile void mydelay(void);
    компилятор заворачивает варнингом <div class=»spoilerui»>function cannot return qualified void type ‘volatile void’ [-Wqualified-void-return-type]</div>
    и так же игнорирует функцию.
    На другие типы данных так же ругается.
    А вот

    сработало. Спасибо.

    P.S. И какой-то странный движок форума — не позволяет редактировать своё последнее сообщение

    #21615

    imperror
    Участник
    • Оффлайн

    компилятор заворачивает варнингом

    потому что надо было делать так:
    volatile void mydelay(void)
    {
    for ( unsigned long i=0; i<2000000; i++);
    }

    а не только в прототипе указывать volatile

    #21616

    fisher74
    Участник
    • Оффлайн

    Ну уж не до такой степени ламер. Конечно же и в прототипе указывал и в самой функции.

    #21617

    imperror
    Участник
    • Оффлайн

    Странно, должно было откомпилировать, только что проверил, но у меня gcc.

    #21619

    Igorexa
    Участник
    • Оффлайн

    Здравствуйте, схема STM32H7-FMC-LCD. возможно-ли преобразовывать 1-бит(на пиксель) в 16-бит посредством dma2d? Шуршал даташит, там намек на альфабленд 1-бит режим.

Просмотр 15 сообщений - с 121 по 135 (из 169 всего)
  • Для ответа в этой теме необходимо авторизоваться.