16.03.2013, 21:59
|
|
Частый гость
Регистрация: 31.03.2006
Сообщений: 40
Сказал спасибо: 2
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Да, можно использовать для простых вещей в любительских разработках.
|
|
|
|
16.03.2013, 22:02
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
имхо на java android гораздо больше возможностей и рисовалка интерфейса есть
|
|
|
|
17.03.2013, 13:28
|
|
Прохожий
Регистрация: 29.10.2011
Сообщений: 5
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от DanilinSA
|
5.6-10 кОм вполне достаточно. Шина I2C строится на элементах ОК (открытый коллектор) и подтяжка там обязательна. Встроенную внутричиповую подтяжку лучше не использовать.
DMA имеет смысл использовать только при пересылке больших обьемов информации. Кинуть горсть байт по I2C - DMA не нужен. Выигрыша не даст, скорее наоборот. А если гнать поток I2C в какую-либо EPROM с извращенной системой адресации - там вообще DMA не прикрутить ... По крайней мере без извращенного программирования. ![Весело](images/smilies/icon_laugh.gif)
Прерывание - имеет смысл использовать если нужно обрабатывать спорадический обмен, никак не завязанный с работой основной программы. При этом обмен ждать не может, а непрерывно ждать события - непозволительная роскошь.
Например:
1) Программа опрашивает датчики и обрабатывает данные с них. Прерывания - смысла нет. Прога просто опросит датчики с нужной периодичностью.
2) Программа обрабатывает критически важные данные, но данные с I2C шины крайне важны, при этом передатчик ждать не будет в принципе.
Прерывание - нужно.
Прерывания ( да и DMA) - вещь нужная, мощная и эффективная. Но при условии умения этим пользоваться. Это как меч самурая - в руках новичка представляет угрозу первым делом для себя самого.
Сначала сделайте без прерываний, а потом при необходимости сделаете модернизацию и оптимизацию. Иначе вы свою первую программу пару лет писать будете, заработав стойкое отвращение к этому делу.
Первым делом попробуйте банально "ногодрыганием" запустить шину I2C. Поиграйтесь. Посмотрите режимы и протоколы. Наберитесь опыта.
Потом - попробуйте запустить аппаратный I2С контроллер. Почитайте документацию, обогатите запас матерных выражений. Штука это мощная, но для новичков куча режимов и конфигурационных битов крайне неочевидная.
Далее - попробуйте прицепить контроллер прерываний. Например для мигания светодиодами при приемке/отправке.
К этому моменту я скорее всего уже умру от старости и это уже будет не моя проблема
|
Спасибо за ответ, все это уже давно сделано!
Резистор был на плате с датчиками, но видимо не тот, подтянул 2 кОм напрямую к ноге, параллельно, все заработало.
Насчет ДМА тоже решил что смысла нет.
А вот на прерываниях - это наше все! Сделал на них, работа вполне устраивает.
Спасибо!
Последний раз редактировалось GeniokV; 17.03.2013 в 13:32.
|
|
|
|
17.03.2013, 13:30
|
|
Прохожий
Регистрация: 29.10.2011
Сообщений: 5
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Murka-MakMur
|
Не более 1KOm для 5 вольт, (проверено) для 3 вольт теоретически 600 Ом (не проверял). В противном случае будут завалены фронты/спады и приёмник перестанет понимать передатчик.
|
По даташиту на BMP085 советуют 3 кОм, ЕМНИП.
Сделал 2 кОм, вполне работает.
|
|
|
|
20.03.2013, 11:19
|
|
Временная регистрация
Регистрация: 14.11.2008
Сообщений: 68
Сказал спасибо: 3
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
всем привет. камень stm32f407ig
описываю траблу:
Обновил в проекте библиотеки CMSIS до 1.1.0, в которых включен Prefetch Buffer, после чего откомпилированная прога стала странно себя вести: загружаться через раз и работать с глюками.
Особенность проекта в том, что он запускается с 0x08020000 флэша (адрес указан линковщику в свойствах проекта), собирается в Keil'е. При выключении в system_stm32f4xx.c Prefetch Buffer (комментим FLASH_ACR_PRFTEN |) все работает как часы (как и до обновления библиотек).
так же хотелось бы отметить, что при запуске проекта с 0x08000000 и включенном Prefetch Buffer все работает. глюки наблюдаются только если прога запускается не с начала флэш
С чем это может быть связано?
Последний раз редактировалось k000858; 20.03.2013 в 11:25.
|
|
|
|
20.03.2013, 13:31
|
|
Прописка
Регистрация: 14.04.2009
Сообщений: 103
Сказал спасибо: 17
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Какая ревизия чипа?
|
|
|
|
20.03.2013, 16:57
|
|
Временная регистрация
Регистрация: 14.11.2008
Сообщений: 68
Сказал спасибо: 3
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от makser1
|
Какая ревизия чипа?
|
судя по STM32 ST-LINK Utility rev B
|
|
|
|
21.03.2013, 05:19
|
|
Прописка
Регистрация: 14.04.2009
Сообщений: 103
Сказал спасибо: 17
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
На чипе написано, у меня z и работает Prefetch
|
|
|
|
21.03.2013, 06:56
|
|
Временная регистрация
Регистрация: 14.11.2008
Сообщений: 68
Сказал спасибо: 3
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от makser1
|
На чипе написано, у меня z и работает Prefetch
|
STM32
F457IGH6
HPAEZ VG
KOR ES 125
вот что написано на моем
повторяю, все работает как надо, проблема проявляется только если программа стартовала не из 0x08000000
|
|
|
|
28.03.2013, 13:06
|
|
Прохожий
Регистрация: 13.04.2007
Сообщений: 4
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
257 страниц... круто...
Пока прочитаешь некогда программировать)
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:21.
|
|