STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
alexf58
Нашел транзистор. Понюхал.
Сообщения: 183
Зарегистрирован: Сб фев 09, 2013 23:00:23

Re: STM32 новичку в ARM что к чему

Сообщение alexf58 »

4 pin connector on new adapter cable.jpg
(133.5 КБ) 451 скачивание
Подход правильный. Целая фирма этим занимается

http://www.tag-connect.com/


Я предпочитаю около края платы отверствия под контакты, так чтобы туда взодил и держался на пластиковой пружине разъем как от флопа питание.
Аватара пользователя
optima
Прорезались зубы
Сообщения: 232
Зарегистрирован: Вт май 08, 2012 10:42:29

Re: STM32 новичку в ARM что к чему

Сообщение optima »

Не всегда удобно тянуть дорожки на край, да думаю и ни к чему если они потребуются один раз!
За ссылку спасибо! что там для себя увидел это применение направляющих! нет надобности целится, учту на будущее!
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

optima писал(а):Для программирования себе соорудил такой щуп,

Тема известная.

Изображение

Если погуглить "pogo pin" можно еще всяких вариантов посмотреть.
Аватара пользователя
optima
Прорезались зубы
Сообщения: 232
Зарегистрирован: Вт май 08, 2012 10:42:29

Re: STM32 новичку в ARM что к чему

Сообщение optima »

Думаю жесткие контакты не сильно удачное решение! контакт должен плавать, иначе при небольшом наклоне может случится не контакт!
Я применил иглы от швейных машин, опираются они на резиновые прокладки, при прижиме свободно топятся миллиметра на 2-3
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

Pogo Pin -- это миниатюрные подпружиненные контакты. В отличие от игл, они не будут пытаться проколоть место контакта, но при наклоне не теряют соединение.

Изображение
Аватара пользователя
optima
Прорезались зубы
Сообщения: 232
Зарегистрирован: Вт май 08, 2012 10:42:29

Re: STM32 новичку в ARM что к чему

Сообщение optima »

Ок понял! спасибо за наводку, на али глянул их полно всяких разных!
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

Neekeetos писал(а):В более свежих сериях чипов (наверно во всех кроме 32f1xx) ремап уже по другому сделан - можно на каждый пин выбирать какой именно цифровой блок к нему подключен, конфликты исключены.

Это, по видимому, действительно так. Проверил ту же самую штуку с MISO на F030. Все замечательно работает. SPI и таймер бесконфликтно делят ноги, кому какие нужны, хотя в даташите почти в тех же самых формулировках указывают, что незадействованные ноги SPI можно использовать, как GPIO. Выходит, что формулировки одинаковые, но понимать их следует по разному. Не в первый раз натыкаюсь, что некоторые вещи в стм-овских даташитах описаны поверхностно, а более вообще нигде не разъясняются.
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: STM32 новичку в ARM что к чему

Сообщение balmer »

alexf58 писал(а):http://www.tag-connect.com/

Круто, но дороговато. Похоже 1.25 мм 4-Pin разъемы, которыми пользуюсь сейчас для SWD всетаки практичнее и меньше места занимают.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

Надо еще меньше и под поверхностный монтаж.
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: STM32 новичку в ARM что к чему

Сообщение balmer »

a5021 - не спорю, хотелось бы мельче. Но какой вариант? Где купить?
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: STM32 новичку в ARM что к чему

Сообщение hybroid »

FFC/FPC. Есть вертикальные. Есть и DIP, SMD.
Изображение
Купить в Китае.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

Мне больше глянулись с шагом 0.5мм, на пять контактов:

Изображение

Ленточки только не забыть к ним купить сразу.
Вложения
2015-06-03_192331.jpg
(14.09 КБ) 1644 скачивания
Аватара пользователя
optima
Прорезались зубы
Сообщения: 232
Зарегистрирован: Вт май 08, 2012 10:42:29

Re: STM32 новичку в ARM что к чему

Сообщение optima »

С такой штукой надобность в разъемах вообще отпадает! площадки хоть через 1мм можно делать в любом месте, да и тянуть на край платы дорожки не нужно.
Изображение
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

На край платы совсем не обязательно. На любой ноутбучной материнке такие разъемы можно обнаружить в самых неожиданных местах. Пины удобны, спору нет, но только для того, чтобы один раз зашить и более к тому не возвращаться. В процессе же разработки удобнее иметь разъем, чтобы иметь постоянное соединение с отладчиком.
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: STM32 новичку в ARM что к чему

Сообщение hybroid »

a5021 писал(а):Мне больше глянулись с шагом 0.5мм
Ога. Они разные, на разное число пинов и с разным шагом. Я специально написал и показал вертикальные, т.е. они меньше места занимают на плате. Кому-то может быть важно :)
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: STM32 новичку в ARM что к чему

Сообщение balmer »

hybroid писал(а):FFC/FPC. Есть вертикальные. Есть и DIP, SMD.


Посмотрел, классные разъемы. На aliexpress легко купить. Правда похоже 4 пина - это не конек этих разъемов. А вот по 10-20 пинов 0.5мм для межплатного соединения - очень круто смотрится.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

На сайте СТМ-ов есть примеры под названием Code Snippets. Я иногда туда подглядываю (в частности, STM32SnippetsF0 1.1.1), а что еще хуже, копипащу бывает кусками, когда самому лень писать. За что и поплатился. СТМ-ы, оказывается, занимаются тем же самым, только неизвестно куда заглядывают они и откуда дерут куски для своих снайпетов, которые потом выкладывают на сайт. Во всех этих примерах процедура калибровки АЦП выглядит так:

Код: Выделить всё

__INLINE void  CalibrateADC(void)
{
  /* (1) Ensure that ADEN = 0 */
  /* (2) Clear ADEN */
  /* (3) Launch the calibration by setting ADCAL */
  /* (4) Wait until ADCAL=0 */
  if ((ADC1->CR & ADC_CR_ADEN) != 0) /* (1) */
  {
    ADC1->CR &= (uint32_t)(~ADC_CR_ADEN);  /* (2) */ 
  }
  ADC1->CR |= ADC_CR_ADCAL; /* (3) */
  while ((ADC1->CR & ADC_CR_ADCAL) != 0) /* (4) */
  {
    /* For robust implementation, add here time-out management */
  }
}

На первый взгляд, ничего криминального и как-то так оно, по идее, и должно выглядеть. Но если почитать мануал (RM0360), то на странице 185 описана совсем иная процедура выключения АЦП:

Follow this procedure to disable the ADC:
1. Check that ADSTART=0 in the ADC_CR register to ensure that no conversion is
ongoing. If required, stop any ongoing conversion by writing 1 to the ADSTP bit in the
ADC_CR register and waiting until this bit is read at 0.
2. Set ADDIS=1 in the ADC_CR register.
3. If required by the application, wait until ADEN=0 in the ADC_CR register, indicating that
the ADC is fully disabled (ADDIS is automatically reset once ADEN=0).


Ну и нафига ж эти ученые обезьяны из СТМ пытаются грубой силой повалить бит ADC_CR_ADEN, если в их же мануале написано (п.12.4.4), что ADEN можно только устанавливать и только в случае, если он в этот момент сброшен. А я тут прыгай в недоумении, отчего же это у меня АЦП раком встает. :(
Аватара пользователя
es131245
Потрогал лапой паяльник
Сообщения: 369
Зарегистрирован: Пт фев 01, 2013 21:05:30

Re: STM32 новичку в ARM что к чему

Сообщение es131245 »

Как можно дебажить USB соединения?
На приеме с USB есть код

Код: Выделить всё

HAL_StatusTypeDef status;
  static FLASH_EraseInitTypeDef erase;
  uint32_t sector;
  status=HAL_FLASH_Unlock();
  erase.TypeErase=FLASH_TYPEERASE_SECTORS;
  erase.VoltageRange=FLASH_VOLTAGE_RANGE_3;
  erase.Sector=(uint32_t)12;
  erase.NbSectors=(uint32_t)1;
  HAL_FLASHEx_Erase(&erase,&sector);
  if(HAL_FLASH_Program(TYPEPROGRAM_WORD,(uint32_t)0x08100000,0x12345678)!=HAL_OK)HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_14);
  else HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_13);
  status=HAL_FLASH_Lock();


Но не работает - выдает ошибку. В maine пишет а тут не хочет. В чем может быть дело? Или как дебажить прием с USB?
Аватара пользователя
es131245
Потрогал лапой паяльник
Сообщения: 369
Зарегистрирован: Пт фев 01, 2013 21:05:30

Re: STM32 новичку в ARM что к чему

Сообщение es131245 »

a5021 писал(а):в их же мануале написано


В их манюалах много хорошего написано, а в их же кубе (сыром) ошибки в каждом проекте!
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

Чтобы кубом пользоваться, надо иметь железную выдержку, как у Штирлица. Я пару раз отладчиком прошел по вызовам нагенеренного им кода, чуть не поседел. То, как оно по три раза одни и те же регистры прописывает одними и теми же значениями -- это, наверное, самое безобидное, что я увидел. Идея этого куба, безусловно, здравая, но то, в каком он состоянии сейчас находится -- сей продукт разработчики, максимум, могли бы показывать втихаря друг-другу, да и то только во время коллективной пьянки, когда никто ничего уже не соображает, а они это за средство разработки выдают и выкладывают в паблик.
Ответить

Вернуться в «ARM»