Перейти к содержанию
    

mihlit

Участник
  • Постов

    39
  • Зарегистрирован

  • Посещение

Весь контент mihlit


  1. FSMC и FMC

    Схему проверить тоже будет не лишним В наличии есть дем. плата Nucleo - F767ZI. На ней та же история, т.е. я прихожу к выводу что платы f7 исправны, тем более, что на Nucleo я успешно поморгал диодами.
  2. FSMC и FMC

    stm32f746 font.c font.h TFT.h main.c TFT.c В TFT.c закоментированы задержки, необходимые для правильной инициализации дисплея.
  3. FSMC и FMC

    stm32f407 Как прикрепить папку с файлами? font.h TFT.c main.c font.c TFT.h
  4. FSMC и FMC

    Попробовал перенести рабочий проект с stm32f407 на stm32f746. Не получается запустить дисплей с помощью FMC. Вопрос к знатокам STM - в чем различие между FSMC и FMC? Когда смотрю ЛА сигналы NE1, NWE, NOE, то после 3(5) обращения к дисплею на этапе инициализации сигналов они все высокие, хотя в TFT_Init у меня 7 передач в дисплей. Если вставляю "nop" - 5 команд проходит от МК, без них -3. Поможите!!!
  5. Переход с stm32f4 на stm32f7

    Есть плата WaveShare Core 7XXI. На плате камень STM32F746IGT6 и микросхема SDRAM. Решил попробовать запустить. Есть у меня программа работы с TFT дисплеем. Начиналась она с http://narodstream.ru/stm-urok-37-displej-tft-240x320-8bit-chast-1/, переделал в 16-разрядный интерфейс, прикрутил другой шрифт https://microtechnics.ru/stm32-i-lcd-rabota-s-graficheskim-displeem/- все работает (но не везде, это другая история) и под HAL, и под SPL и на STM32F103, вот ее и решил попробовать перенести на STM32F7. Но вместо приветствия от программы получил белый экран с серым квадратом посередине и все. Подскажите, есть какие то нюансы переноса с f4 на f7? Именно касательно F(S)MC. Спасибо. Завел сигнал сброса дисплея на пин МК (до этого сброс дисплея был на ножке nRST), картинка на дисплее поменялась. Значит FMC работает, нужно ковырять тайминги. При портировании на 103 серию программа сразу заработала, а на f7 нет - меня это и смутило.
  6. отладка в Keil

    Извиняйте за компанию
  7. отладка в Keil

    Задал вопрос в отдельной ветке - молчок. Буду спрашивать здесь. Передача данных от ADC в буфер по DMA. ADC_Config(); // ADC configuration ADC_SoftwareStartConv(ADC1); // Start ADC1 Software Conversion while (1) { while(!DMA_LISR_TCIF0) continue; //ждать заполнения буфера // обработка буфера } DMA в режиме Normal Первый цикл проходит - буфер заполнился. Смотрю RM0090 в разделе ADC 13.8.1 (перевод Google) "Чтобы восстановить ADC из состояния OVR, когда используется DMA, выполните следующие действия: 1. Повторно инициализировать DMA (настроить адрес назначения и счетчик NDTR) 2. Очистите бит ADV OVR в регистре ADC_SR 3. Запустите АЦП, чтобы начать преобразование." Выполнил первый пункт. Со вторым непонятки. Если в ADC установлен флаг CONT то флаг OVR не сбрасывается. При сбросе CONT флаг OVR может сброситься, но чаще - нет. То же самое с флагом STRT. Что не так делаю?
  8. В примере размер буфера = 1, мне же необходимо 1024. Хочу внести следующие изменения: Изменяю значение DMA_BufferSize = 1024; /* ADC configuration */ ADC_Config(); /* Start ADC Software Conversion */ ADC_SoftwareStartConv(ADCx); while (1) { 1. Ждать флаг TC DMA (окончание передачи) 2. Сброс EN в ADC (стоп ADC) 3. Обработка значений буфера 4. Выполнить 10.3.17 Stream configuration procedure из RM0090 5. ADC_SoftwareStartConv(ADCx); } Я правильно описал последовательность или что-то еще? Дело в том, что с отладкой в Keil я очень на "Вы" и у меня не всегда получается посмотреть значения переменных и т.п. :laughing:
  9. отладка в Keil

    Ест-но. В основном h-файлы из SPL, юзеровских ни разу не видел, вот сегодня "stm32f4xx.h". Поначалу очень нервничал, потом ничего привык - а у него болячка такая оказывается.
  10. отладка в Keil

    Дык в том то и дело, что стоит крест на, допустим, строчке #include "stm32f4xx.h" наводишь стрелку на крест - внизу экрана выводится - "фатальная ошибка: нет пути" но Keil то работает, т.е можно запустить компиляцию - выдает 0 ошибок, отладка тоже запускается и работает.
  11. отладка в Keil

    Не буду оспаривать очевидное. Небольшой нюанс - я к МК пришел через проектирование электроники на логических элементах малой степени интеграции, поэтому у меня в крови - знать и понимать что и как я делаю. Чувствую себя не комфортно, если не понимаю, как это действие выполняется.
  12. отладка в Keil

    Задам еще вопрос по Keil. У меня версия 5.23 (32Кб). Иногда при запуске Keil, теряется какой-то заголовочный файл. Лечится перезагрузкой Keil, но чаще приходится перезагружать Win7. Не смертельно, но иногда задалбывает. Кто- нибудь сталкивался с подобным?
  13. отладка в Keil

    Объяснюсь по поводу своего вопроса. 1. На просторах Интернета много раз встречал высказывания, что "магическое" число - это не есть хорошо. 2. ИМХО, работа через регистры более компактна и нагляднее чем применение библиотек. 3. Из п2. вытекает(для меня), что написание своих макросов и дефайнов не сокращает время долбания клавиатуры и не повышает читаемость кода.
  14. отладка в Keil

    GPIOA->AFRH = 0x50000000; Ассистент после -> предлагал только "AFR", если я вводил "AFRH", появлялся крест на строке "не объявлено uint32_t"
  15. отладка в Keil

    Смотрел я GPIO_PinAFConfig, но по своей неопытности предположил, что как-то по аналогии со 103 серией, без приведения к uint32_t и сдвигов можно обойтись. Спасибо за ответ, у меня код рабочий с SPL написан, но в целях самообразования попытался обойтись записью в регистры - не получилось.
  16. отладка в Keil

    Чтобы не плодить тем, спрошу здесь, кто-нибудь подскажите: Есть в GPIO регистр GPIOx_AFRH. Как в нем установить AFRH15[3:0] =5? Записать магическое число 0х50000000 или есть какой-то дефайн? Смотрел stm32f4xx.h, stm32f4_gpio.h - не нашел. Ткните-пните в нужном направлениию
  17. отладка в Keil

    Дважды смотрел вкладку, но искал установленные птички - поэтому и не увидел. Сброшена она. Ладно, спасибо всем, буду переделывать прошивку CPLD. Смущает только одно - всегда МК был мастером для периферии, а теперь что, по прерыванию обрабатывать прием данных, а если они сейчас не нужны? Ладно, разберусь. Еще раз всем спасибо.
  18. отладка в Keil

    Я примерно это и предполагал - поэтому и уже снова открыл Quartus. не очень разбираюсь в Кейле, искал в свойствах проекта, (волшебная палочка :biggrin: ) не нашел.
  19. отладка в Keil

    "Поэтому с большой долей вероятности обмен Ваш уже завершился с устройством и повторный обмен не предусмотрен - поэтому лог. 1 на линии больше никогда не будет." Действительно, сейчас внешнее устройство снимает сигал готовности, после передачи пакета данных. Получается, что я в режиме отладки не могу посмотреть данные в buf[]? Кнопки пошагового выполнения становятся неактивными - это "Зависает" или "не идет дальше"?
  20. отладка в Keil

    GPIOD->BSRR |= GPIO_BSRR_BS2; //Request -> 1 Delay(1); GPIOD->BSRR |= GPIO_BSRR_BR2; //Request -> 0 while(!(GPIOD->IDR & GPIO_IDR_IDR3)) {} //ждать Ready for(i=0; i<16; i++) { GPIOD->BSRR |= GPIO_BSRR_BS6; //Read -> 1 buf[i] = GPIO_ReadInputData(GPIOC); GPIOD->BSRR |= GPIO_BSRR_BR6; //Read -> 0 } while(1) { } Когда программа запускается по сбросу, лог. анализатор показывает обмен сигналами между МК и внешним устройством. Если я запускаю программу в отладчике, на строчке while(!(GPIOD->IDR & GPIO_IDR_IDR3)) {} //ждать Ready отладчик зависает. Объясните начинающему (стаж 4,5 мес), почему так происходит?
  21. Для iosifk Цитата из "Краткого курса HDL" "Если стоит задача сделать простой проект и довольно быстро, то 500–600 страниц англоязычного текста оказываются довольно серьезной преградой. Мало того, множество подробностей и тонкостей, возникающих при изучении языка, требуют много времени и сил." Поэтому только сегодня скачал и начал чтение.
  22. :biggrin: А еще он считает меня "программманом" (от графоман)
  23. Это прям мистика какая-то. Сын у меня препод, что-то там IT, одна из тем "оптимизация проектирования чего-то там", так и он говорит то же самое. А у меня действительно - "игры в песочнице"...
  24. Уважаемый iosifk! Вариантов было два, потому что было в наличии FIFO AL422B и модуль RAM 256Kx16. Так как эта тема для меня новая, положился на сеть, Гугл выдал первые 10 ссылок на Altera, модули CPLD от 600 руб с доставкой, FPGA от 1200. Скупой платит дважды - это про меня, как это не печально.
  25. Уважаемый AVR! У меня задача - подключить ADC 100Msps к STM32. Вариантов два 1) память типа FIFO, 2) буф. ОЗУ + CPLD. Выбрал второй, но так как других тем для FPGA, CPLD у меня нет, остановлюсь в изучении этого интересного направления. За предложение помощи - большое спасибо!
×
×
  • Создать...