06.03.2013, 21:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Ну подтяните тогда резистором к питанию - что б провод не навешивать.
|
|
|
|
06.03.2013, 22:07
|
|
Прохожий
Регистрация: 29.10.2011
Сообщений: 5
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Boba_spb
|
Ну подтяните тогда резистором к питанию - что б провод не навешивать.
|
Хорошо, попробую, на сколько резистор посоветуете?
И еще вопрос, кто работал с I2C, есть ли смысл при работе использовать DMA, прерывания, или проще работать "напрямую" ?
Ведь по идее, пока информация с датчиков не поступит, камню обрабатывать нечего...
С другой стороны, если через прерывания или с DMA получение-отправка выйдет быстрее, то выигрышь вроде как есть...
Может кто поделится своими мыслями по этому поводу...
Последний раз редактировалось GeniokV; 07.03.2013 в 01:51.
|
|
|
|
07.03.2013, 07:51
|
|
Прописка
Регистрация: 29.06.2010
Сообщений: 104
Сказал спасибо: 14
Сказали Спасибо 9 раз(а) в 7 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Boba_spb, Cпасибо! добавил файлик все заработало!
возник еще один вопрос, в опциях где выбирается тип контроллера в списке отсутствует мой STM32F303VCT6 а те что есть не соответствуют набору периферии моего контроллера, как поступать в этом случае? И если выбрать только тип ядра Cortex-M4 без модели контроллера при отладке в окне регистров будут ли присутствовать регистры моего МК? при использовании Simulator в Debugger они отсутствуют.
|
|
|
|
07.03.2013, 09:26
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Про какие регистры Вы беспокоитесь?
|
|
|
|
07.03.2013, 09:56
|
|
Прописка
Регистрация: 29.06.2010
Сообщений: 104
Сказал спасибо: 14
Сказали Спасибо 9 раз(а) в 7 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
о регистрах что в правом окне! при отладке удобно что где подсмотреть, я только начал STM32 изучать мож я че не так мыслю! подправьте пожалуйста!
|
|
|
|
11.03.2013, 10:13
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,714
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от GeniokV
|
Хорошо, попробую, на сколько резистор посоветуете?
И еще вопрос, кто работал с I2C, есть ли смысл при работе использовать DMA, прерывания, или проще работать "напрямую" ?
Ведь по идее, пока информация с датчиков не поступит, камню обрабатывать нечего...
С другой стороны, если через прерывания или с DMA получение-отправка выйдет быстрее, то выигрышь вроде как есть...
Может кто поделится своими мыслями по этому поводу...
|
5.6-10 кОм вполне достаточно. Шина I2C строится на элементах ОК (открытый коллектор) и подтяжка там обязательна. Встроенную внутричиповую подтяжку лучше не использовать.
DMA имеет смысл использовать только при пересылке больших обьемов информации. Кинуть горсть байт по I2C - DMA не нужен. Выигрыша не даст, скорее наоборот. А если гнать поток I2C в какую-либо EPROM с извращенной системой адресации - там вообще DMA не прикрутить ... По крайней мере без извращенного программирования.
Прерывание - имеет смысл использовать если нужно обрабатывать спорадический обмен, никак не завязанный с работой основной программы. При этом обмен ждать не может, а непрерывно ждать события - непозволительная роскошь.
Например:
1) Программа опрашивает датчики и обрабатывает данные с них. Прерывания - смысла нет. Прога просто опросит датчики с нужной периодичностью.
2) Программа обрабатывает критически важные данные, но данные с I2C шины крайне важны, при этом передатчик ждать не будет в принципе.
Прерывание - нужно.
Прерывания ( да и DMA) - вещь нужная, мощная и эффективная. Но при условии умения этим пользоваться. Это как меч самурая - в руках новичка представляет угрозу первым делом для себя самого.
Сначала сделайте без прерываний, а потом при необходимости сделаете модернизацию и оптимизацию. Иначе вы свою первую программу пару лет писать будете, заработав стойкое отвращение к этому делу.
Первым делом попробуйте банально "ногодрыганием" запустить шину I2C. Поиграйтесь. Посмотрите режимы и протоколы. Наберитесь опыта.
Потом - попробуйте запустить аппаратный I2С контроллер. Почитайте документацию, обогатите запас матерных выражений. ![Рот до ушей](images/smilies/icon_doushei.gif) Штука это мощная, но для новичков куча режимов и конфигурационных битов крайне неочевидная.
Далее - попробуйте прицепить контроллер прерываний. Например для мигания светодиодами при приемке/отправке.
К этому моменту я скорее всего уже умру от старости и это уже будет не моя проблема
|
|
|
Сказали "Спасибо" DanilinSA
|
|
|
11.03.2013, 10:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от DanilinSA
|
Первым делом попробуйте банально "ногодрыганием" запустить шину I2C. Поиграйтесь. Посмотрите режимы и протоколы. Наберитесь опыта.
Потом - попробуйте запустить аппаратный I2С контроллер.
|
Вторым делом попробуйте банально "ногодрыганием" запустить USART. Поиграйтесь. Посмотрите режимы и протоколы. Наберитесь опыта.
Потом - попробуйте запустить аппаратный USART контроллер.
Третьим делом попробуйте банально "ногодрыганием" запустить SPI. Поиграйтесь. Посмотрите режимы и протоколы. Наберитесь опыта.
Потом - попробуйте запустить аппаратный SPI контроллер.
Четвертым делом попробуйте банально "ногодрыганием" соорудить DAC. Поиграйтесь. Посмотрите режимы и протоколы. Наберитесь опыта.
Потом - попробуйте запустить аппаратный DAC.
Пятым делом попробуйте банально "ногодрыганием" с помощью DAC попробуйте соорудит ADC. Поиграйтесь. Посмотрите режимы и протоколы. Наберитесь опыта. Потом - попробуйте запустить аппаратный ADC.
Набравшись опыта, попробуйте банально "ногодрыганием" запустить всякие ШИМы, DMA и все остальное .
И... ни в коем случае не пользуйте сторонний софт, сначала поиграйтесь на своем.
Когда наиграетесь - подойдет время пенсии !!!
|
|
|
|
11.03.2013, 14:59
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,714
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Ну не знаю ... сам так начинал. Подцепил индикатор по I2C, запустил железный I2C - не пошло. Да-бы не ломать голову что не работает ( аппаратный I2C, индикатор или в протоколе ошибка) сделал протокол путем простого дрыгания ногой.
Пошагово прошел, выцепил косяк, нашел ошибку в доках на индикатор ( там один момент как оказалось очень мутно описан в протоколе обмена).
Запустил индикатор - стал подымать аппаратный I2C. Не сразу, но запустил.
Так и приходит опыт ...
|
|
|
|
11.03.2013, 18:33
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Здравствуйте.
Ковыряюсь с SD/MMC.
Если у кого-то есть работающий макет/прибор/изделие, кто может снять дамп нулевого сектора отформатированной и работающей карты?
Возникло несколько непонятных моментов, никому не хочу морочить голову. Просто посмотреть дамп.
Спасибо.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
11.03.2013, 19:38
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от ut1wpr
|
Возникло несколько непонятных моментов,
|
Похоже те же грабли на что и я напоролся...
Цитата:
|
MBR находится в нулевом секторе диска, позиции остальных частей будем вычислять. Стоит отметить, что если карточка была переформатирована Windows, структура диска могла измениться: Windows стирает MBR, и в нулевом секторе сразу начинается PBR. Чтобы различить содержимое нулевого сектора нужно считать его первые неск. байт. Если байты нулевые - это MBR, иначе - PBR.
|
__________________
Осторожно , злой кот
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:20.
|
|