Easyelectronics.ru

Электроника для всех
Текущее время: 16 дек 2019, 06:51

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 44 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 31 июл 2019, 10:58 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 118
dosikus_2 писал(а):
Выкладывай проект посмотрю .
Кстати уже Keil v5.28a выложен...

Пока с головой хватает 5.17
Проект в архиве 1,5 Мбайт, не прикрепляется
Залил сюда
http://zalil.su/1329574


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 31 июл 2019, 11:05 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5768
engineer83, в новых версиях например добавили затенение невключаемых частей кода .
Кодировку 1251 , и еще много чего.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 31 июл 2019, 11:22 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5768
engineer83 писал(а):
И ещё, вот такое окно всё время вылазит при запуске Кейла 5.17
Что-то можно сделать?


У меня не вылезает.

Непонятно на кой нужно было тянуть богомерзкую SPL вообще и тем более всю?
В этом примере хватает ****gpio.c и ****rcc.c
Файл ***conf.h не надо было добавлять он и так цепляется .

Тактовая рассчитана на HSE 25МГц - меняй на 8Мгц.

И еще раз - крайне не советую начинать свой путь с г.либ . Я про калокуб и тем более SPL.
Ляпов и багов в них хоть отбавляй , но и это не главное - используя их ты ни чему не научишься ...


Далее :
Цитата:
SysTick_Config(SystemCoreClock/10000); // запуск systick (10 мкс)


Вот это вот чревато . Стандартные прерывания систик 1ms .
Интервалы меньшей длительности, реализуются периферией...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 31 июл 2019, 11:29 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 118
dosikus_2 писал(а):
Непонятно на кой нужно было тянуть богомерзкую SPL вообще и тем более всю?
В этом примере хватает ****gpio.c и ****rcc.c

Это задел на будущее, мало ли ещё что понадобится

Цитата:
Файл ***conf.h не надо было добавлять он и так цепляется .

без него компиляция не шла

Цитата:
Тактовая рассчитана на HSE 25МГц - меняй на 8Мгц.

Изучаю ваш мануал по тактированию. Я бы так не смог подробно описать )
Я могу допустим ваш кусок кода для 4 серии вот этот (я как понимаю он на чистом CMSIS)
вставить вместо стандартного SetSysClock из файла system_stm32f4xx.c?
Код:
#define PLL_M  4
#define PLL_N  168
#define PLL_P   2
#define PLL_Q   7

void SystemInit(void)
{
  /* FPU settings ------------------------------------------------------------*/
  #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
    SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));  /* set CP10 and CP11 Full Access */
  #endif
 
   RCC->AHB1ENR|=RCC_AHB1ENR_GPIOCEN;
   GPIOC->MODER&=~GPIO_MODER_MODE9;
   GPIOC->MODER|=GPIO_MODER_MODE9_1;
   GPIOC->OSPEEDR|=GPIO_OSPEEDER_OSPEEDR9;
   RCC->CFGR|=RCC_CFGR_MCO2PRE;
   
   
   RCC->CR|= RCC_CR_HSEON;
   while (!(RCC->CR &RCC_CR_HSERDY)){};
   
   
   RCC->CFGR |=   RCC_CFGR_HPRE_DIV1 | RCC_CFGR_PPRE2_DIV2 |RCC_CFGR_PPRE1_DIV4;
   RCC->PLLCFGR = PLL_M|(PLL_N<<6)|(((PLL_P>>1)-1)<<16)|RCC_PLLCFGR_PLLSRC_HSE|(PLL_Q<<24);
   
   RCC->CR |= RCC_CR_PLLON;
   while (!(RCC->CR &RCC_CR_PLLRDY)){};
   
  FLASH->ACR|=FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_5WS | FLASH_ACR_PRFTEN;
   
   RCC->CFGR &= ~RCC_CFGR_SW;
  RCC->CFGR |= RCC_CFGR_SW_PLL;

   
  while (!(RCC->CFGR & RCC_CFGR_SWS ) ){};


Цитата:
И еще раз - крайне не советую начинать свой путь с г.либ . Я про калокуб и тем более SPL.
Ляпов и багов в них хоть отбавляй , но и это не главное - используя их ты ни чему не научишься ...

т.е. Вы советуете писать на чистом CMSIS? писать свои либы и макросы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 31 июл 2019, 11:35 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5768
engineer83 писал(а):
без него компиляция не шла

Его достаточно было скопировать в папку, добавлять в менагере не надо.

engineer83 писал(а):
т.е. Вы советуете писать на чистом CMSIS? писать свои либы и макросы?


Я советую писать вменяемо без либ, которые сам ST позиционирует как " только для изучения" а не рабочие догмы.

Цитата:
Я могу допустим ваш кусок кода для 4 серии вот этот (я как понимаю он на чистом CMSIS)


Там собственно это и прописано:
Цитата:
Как видим до перехода на main вызывается функция SystemInit.
Находится она в system_stm32f4xx.c и содержит начальную инициализацию тактовой .

Исключим из компиляции файл system_stm32f4xx.c и добавим свой clock_init.c
который будет содержать ту же функцию SystemInit но уже с нашим вариантом инициализации тактовой .

Эту же функцию можно воткнуть в main.c .
Для изучения , сего хватит с головой. После осознания - допиливаем контроль старта источников тактовой...


Последний раз редактировалось dosikus_2 31 июл 2019, 11:42, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 31 июл 2019, 11:40 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 4473
Откуда: Кемеровская область, Киселевск
engineer83 писал(а):
т.е. Вы советуете писать на чистом CMSIS? писать свои либы и макросы?


Пишут стихи, а микроконтроллер программируют, например на языке программирования ANSI C. Вы сами не знаете что вам нужно. А что есть грязный CMSIS? ))) CMSIS это лишь стандартный интерфейс для всех Cortex микроконтроллеров в мире.
А ты думал программирование микроконтроллера это подключить сторонние библиотеки и вуаля готова вся работа? В таком случае тебе нужно использовать Arduino

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 01 авг 2019, 13:00 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 118
Oxford писал(а):
А ты думал программирование микроконтроллера это подключить сторонние библиотеки и вуаля готова вся работа? В таком случае тебе нужно использовать Arduino

Я как раз противник ардуины и люблю вникать во все процессы.

по теме. Подскажите, до выполнения main какие внутренние настройки идут? Только тактовая частота? Я хотел пробежаться в симуляторе по шагам с самого начала, но стопорится на каком-то флаге генератора.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 01 авг 2019, 13:03 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5768
engineer83, в симуляторе что ли тестируешь?
В живую тестируй. В симуляторе готовность HSE вручную выставлять надо...
Выкладывай проект , на его основе объясню...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 01 авг 2019, 13:15 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 118
dosikus_2, та проект тот же, никаких движений. Просто думаю заменить настройки такта стандартные, Вашими, где выход на 168МГц. Вставлять его вместо процедуры SetSysClock или весь файл system_stm32f4xx.c похерить, но вдруг там ещё что-то нужное


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 01 авг 2019, 13:29 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5768
Ничего там нужного нет , все что нужно реализуется вручную...
Держи https://dropmefiles.com/2Qazw
Отписывайся...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 01 авг 2019, 13:43 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 118
уважаемый dosikus_2, спасибо! Буду изучать в железе. К сожалению платой могу заниматься только по вечерам, т.к. это хобби, работа у меня другая.
как у Вас всё просто, аж вспомнил асм )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 01 авг 2019, 14:02 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5768
У меня сейчас так же больше хобби , ибо разработки пришлось временно отложить ( внук, работа...).
А насчет просто - у меня в свое время ( форум kazus.ru) были хорошие учителя , за что им огромное спасибо.
И их принцип весьма прост -в первую очередь изучать оригинальную документацию на железо, и изучать планомерно.
Ни какие облегчалки в этом не помогут ...

В планах на ближайшее будущее
CH55x
nRF52832 ( многое уже разобрано)
GD32F3xx
SWM240F6S7
HC32F00x

У последних двух приходится переводить мануалы с китайского...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 01 авг 2019, 14:22 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 118
да, китайцы весьма жадные на документацию. Ну те китайцы, которые совсем китайцы. у меня уже есть опыт разбора пошагово мануала на RN8209, микруха ваттметра, которая повсеместно шла в этих их показометрах. Ну перевести иероглифы хотя бы на английский ещё получилось, но параметры это просто дичь. Приходилось чуть ли не опытным путем всё находить. После неё перешел на ADE и перекрестился


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 05 авг 2019, 17:53 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 118
dosikus_2, спасибо, светодиоды запустил в железе, spl пока отбросил в сторону. Сейчас пытаюсь запустить SPI, изучаю регистры.
Вот такой вопрос, в SPL было понатыкано везде assert_param, т.е. якобы проверка. Если же писать прямо в регистры, эти проверки не проводятся. Чем чревато?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 05 авг 2019, 22:35 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5768
Ни чем, абсолютное большинство адептов SPL запросто выкидывали сии ассерты...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 09 авг 2019, 18:57 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 118
dosikus_2, подскажите, в Вашем примере в main'e есть процедура задержки Delay_mS.
Как ей воспользоваться в другой части программы?
Это наверное больше касается азов языка СИ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 10 авг 2019, 00:08 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5768
В хэдере другого модуля прописать
extern Delay_mS(uint32_t)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 10 авг 2019, 16:50 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 118
dosikus_2 писал(а):
В хэдере другого модуля прописать
extern Delay_mS(uint32_t)

спасибо.
наступил на какие-то грабли )
подскажите, при таких настройках SPI
Код:
    | 1<<SPI_CR1_SSM_Pos
    | 1<<SPI_CR1_SSI_Pos

я могу софтово дергать ногой NSS в качестве CS?
На анализаторе какая-то непонятная история.
Может лучше взять для CS любой другой пиной порта?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 11 авг 2019, 13:59 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 118
В общем сам разобрался, оказывается на частоте 168МГц флаг BSY интерфейса SPI устанавливается с небольшой задержкой, но её хватает чтобы выйти из подпрограммы отправки байта и установить уровень CS=1. И это четко прописано в даташите. В итоге на периферии творился хаос.
Поставил два "nop" перед проверкой BSY и всё заработало.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 44 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB