Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32 или LPC17xx?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2
scifi
Цитата(Danis @ Jun 18 2011, 23:16) *
Вопрос не только к Вам, без всякого подвоха. Как вы думаете, на какой софт надо смотреть ТС при изучении STM32?

Не понимаю постановку вопроса. Исходя из своего опыта, могу сказать, что смотрю на свой софт. Если не хватает готовых наработок, пишу новый.
Danis
Цитата(scifi @ Jun 18 2011, 22:41) *
Не понимаю постановку вопроса. Исходя из своего опыта, могу сказать, что смотрю на свой софт. Если не хватает готовых наработок, пишу новый.


Т.е. Вы при изучении STM32 сразу самостоятельно писали свой софт, не рассматривая/изучая примеров сторонних разработчиков?
scifi
Цитата(Danis @ Jun 18 2011, 23:49) *
Т.е. Вы при изучении STM32 сразу самостоятельно писали свой софт, не рассматривая/изучая примеров сторонних разработчиков?

Именно так. Руководства по МК и процессору + предыдущего опыта оказалось вполне достаточно.
MK2
Цитата(scifi @ Jun 19 2011, 00:56) *
Именно так. Руководства по МК и процессору + предыдущего опыта оказалось вполне достаточно.

Поделитесь что за руководства вы использовали, что вам этого хватило. 05.gif
ZiB
Соглашусь, обычного референс мануала с сайта ст за глаза.
andron86
Цитата(scifi @ Jun 18 2011, 22:56) *
Именно так. Руководства по МК и процессору + предыдущего опыта оказалось вполне достаточно.

​Ну да, если времени целый паровоз... А если нету, с кандачка, да без опыта работы с эти процом???
zltigo
QUOTE (andron86 @ Jun 19 2011, 09:40) *
Ну да, если времени целый паровоз... А если нету, с кандачка, да без опыта работы с эти процом???

В любом случае. Сразу все и сейчас от контроллера не надо - посему постепенного это совсем не страшно. А вот не разобравшись в основах,взяв какой-то мутный код, который вроде как сначала что-то делает, а потом вдруг чего-то, как любят на этот форум писать любители быстрых стартов - все вместе "не работает", "глючит",.... потратить времени на копании разборки в проекте, который уже почти работает, а то а вообще вроде, как уже сдан... придется МНОГО больше. Особо следует обратить внимание, что, как правило sad.gif, всяки разны "библиотеки" используют небольшую часть возможностей чипа sad.gif. Продуманность крайне редко встречается - скорее всего что-то сляпано под столь-же небрежно сляпанные "примеры". В результате изучать что-либо по таким исходникам все равно, что изучать слона по его экскрементам. Давайте все-же лучше первоисточники. К сожалению, тенденция последних лет такова, что документация на чипы становится все хуже и хуже и то-же ST тут лидирует sad.gif. В результате, что-бы не писать документацию и errata ST вместо всего этого рожает те самые дерьмовые "библиотеки". Круг почти замыкается sad.gif и приходится тратить дополнительное время на лабораторные разборки с железом.
andron86
Цитата(zltigo @ Jun 19 2011, 09:08) *
В любом случае. Сразу все и сейчас от контроллера не надо - посему постепенного это совсем не страшно. А вот не разобравшись в основах,взяв какой-то мутный код, который вроде как сначала что-то делает, а потом вдруг чего-то, как любят на этот форум писать любители быстрых стартов - все вместе "не работает", "глючит",.... потратить времени на копании разборки в проекте, который уже почти работает, а то а вообще вроде, как уже сдан... придется МНОГО больше. Особо следует обратить внимание, что, как правило sad.gif, всяки разны "библиотеки" используют небольшую часть возможностей чипа sad.gif. Продуманность крайне редко встречается - скорее всего что-то сляпано под столь-же небрежно сляпанные "примеры". В результате изучать что-либо по таким исходникам все равно, что изучать слона по его экскрементам. Давайте все-же лучше первоисточники. К сожалению, тенденция последних лет такова, что документация на чипы становится все хуже и хуже и то-же ST тут лидирует sad.gif. В результате, что-бы не писать документацию и errata ST вместо всего этого рожает те самые дерьмовые "библиотеки". Круг почти замыкается sad.gif и приходится тратить дополнительное время на лабораторные разборки с железом.

Я не говорю, что код прилагаемый в этих библиотеках безупречен, да и никто тут этого не утверждает, но для быстрого стартапа очень даже полезен. Поэтому не надо ля ля.
aaarrr
Цитата(andron86 @ Jun 19 2011, 11:57) *
Поэтому не надо ля ля.

Ля-ля обычно наблюдается на данном форуме как раз у любителей быстрого старта через библиотеки. Помогите, дескать, люди добрые, чуть-чуть не работает проект. А помочь уже нельзя, так как локализовать проблему человек оказывается не в состоянии, а разбираться в проекте, сделанном из очередного "getting started" с прибитым гвоздями своим кодом, не хочется даже за деньги.
andron86
Цитата(aaarrr @ Jun 19 2011, 10:14) *
Ля-ля обычно наблюдается на данном форуме как раз у любителей быстрого старта через библиотеки. Помогите, дескать, люди добрые, чуть-чуть не работает проект. А помочь уже нельзя, так как локализовать проблему человек оказывается не в состоянии, а разбираться в проекте, сделанном из очередного "getting started" с прибитым гвоздями своим кодом, не хочется даже за деньги.

Ну чё, фирмварники, будем биться с электронщиками что ли? Бред.......................
aaarrr
Цитата(andron86 @ Jun 19 2011, 12:28) *
Ну чё, фирмварники, будем биться с электронщиками что ли? Бред.......................

Кто такие "фирмварники", "электронщики", и за что им биться? Поясните, а то действительно какой-то бред.
andron86
Цитата(aaarrr @ Jun 19 2011, 10:36) *
Кто такие "фирмварники", "электронщики", и за что им биться? Поясните, а то действительно какой-то бред.

Ну, ну, когда мне человек втирает, что ему для опроса сенсора по i2c две недели надо, т.к. библиотеки в тунисе написаны, и не понять что там за программировано - эт фирмварники. если вы не из этого коллектива, то не пишите.
aaarrr
Цитата(andron86 @ Jun 19 2011, 12:45) *
Ну, ну, когда мне человек втирает, что ему для опроса сенсора по i2c две недели надо, т.к. библиотеки в тунисе написаны, и не понять что там за программировано - эт фирмварники. если вы не из этого коллектива, то не пишите.

Ну, если человек за две недели не может освоить i2c, то его в любом случае гнать надо. Но точно так же надо гнать и того, кто на основе тунисских библиотек пишет проект на 100500 строк, а потом год не может довести его до ума из-за ошибок и архитектурных особенностей помянутых библиотек и элементарного незнания и нежелания изучать матчасть.
andron86
Да, согласен я.

Ну что здесь например плохого:
Код
/*******************************************************************************
* Function Name  : I2C_GenerateSTART
* Description    : Generates I2Cx communication START condition.
* Input          : - I2Cx: where x can be 1 or 2 to select the I2C peripheral.
*                  - NewState: new state of the I2C START condition generation.
*                    This parameter can be: ENABLE or DISABLE.
* Output         : None
* Return         : None.
*******************************************************************************/
void I2C_GenerateSTART(I2C_TypeDef* I2Cx, FunctionalState NewState)
{
  /* Check the parameters */
  assert_param(IS_I2C_ALL_PERIPH(I2Cx));
  assert_param(IS_FUNCTIONAL_STATE(NewState));

  if (NewState != DISABLE)
  {
    /* Generate a START condition */
    I2Cx->CR1 |= CR1_START_Set;
  }
  else
  {
    /* Disable the START condition generation */
    I2Cx->CR1 &= CR1_START_Reset;
  }
}
ViKo
Цитата(andron86 @ Jun 19 2011, 12:01) *
Ну что здесь например плохого:

Насчет этого не скажу. Но посмотрите, например, как сделаны в библиотеке функции конфигурирования портов в STM32. Это ж сколько кода на них ушло! Я был слегка озадачен. Но, не имея опыта, использовал. А мог бы сразу написать, например, такое:
http://electronix.ru/forum/index.php?showt...st&p=918437
Разбираться в библиотечных функциях - только время зря тратить. Вместо этого лучше разобраться в самих регистрах и битах STM32.
Danis
Цитата(ViKo @ Jun 19 2011, 13:36) *
Вместо этого лучше разобраться в самих регистрах и битах STM32.


Ну, давайте предположим, разобрались мы в битах и регистрах некого периферийного модуля STM32, как быть на практике с его конфигурированием и дальнейшей работой, методом проб и ошибок? Все таки, хотелось бы взглянуть на последовательность операций, рекомендованных первоисточником, + «поиметь» пример сколько-нибудь крупного проекта, написанного профи. К примеру, до использования STM32 я 2 года занимался программированием PIC24, у них куда лучше все это документировано, к описанию каждого периферийного модуля прилагается код на ассемблере (периферийная библиотека также имеется), иногда даже несколько для каждого конкретного случая. Мне стоило всего лишь перебить его на Си. В случае же с STM32 такого удобства я не нашел, пришлось ковыряться в периферийной библиотеке STM32 и разбираться по кусочкам.
ViKo
Цитата(Danis @ Jun 19 2011, 13:09) *
Ну, давайте предположим, разобрались мы в битах и регистрах некого периферийного модуля STM32, как быть на практике с его конфигурированием и дальнейшей работой, методом проб и ошибок? Все таки, хотелось бы взглянуть последовательность операций, рекомендованных первоисточником, + «поиметь» пример сколько-нибудь крупного проекта, написанного профи.

Я - не профи, у меня опыта меньше вашего. Но сейчас я смотрю на примеры из библиотеки, только, чтобы понять последовательность действий. Пишу, но почему методом проб и ошибок? В соответствии с описанными регистрами.
andron86
Цитата(ViKo @ Jun 19 2011, 12:24) *
Я - не профи, у меня опыта меньше вашего. Но сейчас я смотрю на примеры из библиотеки, только, чтобы понять последовательность действий. Пишу, но почему методом проб и ошибок? В соответствии с описанными регистрами.

​Гы, Вам про стартап говорят, а не законченном коде w00t.gif
sonycman
Цитата(andron86 @ Jun 19 2011, 14:38) *
​Гы, Вам про стартап говорят, а не законченном коде w00t.gif

А Вам про старт с помощью кое как сляпанной индейской библиотеки уже отвечали.
Потом в этом коде сам чёрт не разберётся, где вместо быстрой прямой записи в регистр периферии вызывается громоздкая функция, которая перебирает кучу ненужных параметров sad.gif
brag
че вы паритесь, возьмите рефман+еррату да запустите тот несчастный и2ц. сам щас иду запускать sm.gif
и USB-OTG нормально запустилось без всяких гавно-фрей-ворков итп, хотя там код раз в 20 сложнее. в рефмане все написано, мож перечитывать прийдется несколько раз

sonycman, +1
MK2
Цитата(ViKo @ Jun 19 2011, 13:36) *
......
Разбираться в библиотечных функциях - только время зря тратить. Вместо этого лучше разобраться в самих регистрах и битах STM32.


Так разбираться в регистрах и битах серавно придется лезть в ф-ции, потому что примеров работы с регистрами у STM , во всяком случае нет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.