Easyelectronics.ru

Электроника для всех
Текущее время: 24 сен 2019, 01:12

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



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

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

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

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


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

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


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

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5656
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
Сообщения: 114
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
Сообщения: 5656
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
Сообщения: 4274
Откуда: Кемеровская область, Киселевск
engineer83 писал(а):
т.е. Вы советуете писать на чистом CMSIS? писать свои либы и макросы?


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

_________________
RADIOWOLF.RU


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

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

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

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


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

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


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

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


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

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


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

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


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

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

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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

Сейчас этот форум просматривают: Google [Bot], Oxford


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

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

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