Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 12.09.2012, 20:41  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от pasipaka Посмотреть сообщение
Кста. Натолкнули на идею!
Соотв. цикл становиться в 4 раза итераций короче.
Будет ли это грубо говоря на АРМе в 4 раза быстрее??
Должно быть быстрей, иначе толку от 32-хбитности.

Сообщение от pasipaka Посмотреть сообщение
А насколько быстрее ДМА.
ДМА может и не быстрей, зато ядро может другие задачи отрабатывать или спать.

Сообщение от pasipaka Посмотреть сообщение
Если например массив - 64 байта. ДМА ж побайтово работает?
Почему побайтно? Обычно ДМА настройку имеет сколько байт-полуслов-слов читать или писать.
Даже у АВР и есть размер пересылки больше байта.
Реклама:
_Артём_ вне форума  
Непрочитано 13.09.2012, 10:04  
pasipaka
Прописка
 
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pasipaka на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Благодарю.
ДМА конечно заюзаю! Но не сразу. Ибо нельзя сразу обьять необьятное.
А когда ДМА работать будет, то для ЦПУ делов найдется! Вычитывать пакет о ПЛИС, производить кой какие рассчеты. Потом тот же ДМА сможет и буфер в ЮСАРТ выбрасывать. А то шишек и так хватает пока на чем бить. Буду знать на 99% что главное корректно работает - там и дма освою.
pasipaka вне форума  
Непрочитано 13.09.2012, 10:10  
pasipaka
Прописка
 
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pasipaka на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Кста обьяснение многим своим шишкам потом в отдельных разьяснениях СТМ находил.
Но вот такая (по ИАРу) и сегодня для меня загадка:
А я гадал все, почему от ПЛИС инфа не идет и что не так. Уже и в ПЛИСине копался...

От февраля 2012Ю
От такой вопрос:

довелось мне один проект на 32f105 допиливать. Первоначально в 5ом IARе писался и ф-ция работала.
Дописывал в 6ом IARе.
Убил день и полночи. А заработало (когда перепробовав все что можно) след. строки:
#define FLAG_RESET_Set GPIOB-›BSRR |= GPIO_BSRR_BS9
#define FLAG_RESET_Clr GPIOB-›BRR |= GPIO_BRR_BR9

переписал так:
#define FLAG_RESET_Set GPIOB-›BSRR |= GPIO_BSRR_BS9
#define FLAG_RESET_Clr GPIOB-›BSRR |= GPIO_BSRR_BR9

ПОЧЕМУ так????

Реально что там на ноге было посмотреть нельзя, т.к. физически не подобраться.
Чего с решситром GPIOB-›BRR сотворили такого? Да и зачем он, если все через BSRR сделать можно?

З.Ы.
Эти грабли в многим местах. Программный SPI не работал также, пока BRR на BSRR не сменил.


С тех пор о BRR забыл и юзаю только BSRR. Правильно ли...
pasipaka вне форума  
Непрочитано 13.09.2012, 12:07  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от pasipaka Посмотреть сообщение
Кста обьяснение многим своим шишкам потом в отдельных разьяснениях СТМ находил.
Но вот такая (по ИАРу) и сегодня для меня загадка:
А я гадал все, почему от ПЛИС инфа не идет и что не так. Уже и в ПЛИСине копался...

От февраля 2012Ю
От такой вопрос:

довелось мне один проект на 32f105 допиливать. Первоначально в 5ом IARе писался и ф-ция работала.
Дописывал в 6ом IARе.
Убил день и полночи. А заработало (когда перепробовав все что можно) след. строки:
#define FLAG_RESET_Set GPIOB-›BSRR |= GPIO_BSRR_BS9
#define FLAG_RESET_Clr GPIOB-›BRR |= GPIO_BRR_BR9

переписал так:
#define FLAG_RESET_Set GPIOB-›BSRR |= GPIO_BSRR_BS9
#define FLAG_RESET_Clr GPIOB-›BSRR |= GPIO_BSRR_BR9

ПОЧЕМУ так????

Реально что там на ноге было посмотреть нельзя, т.к. физически не подобраться.
Чего с решситром GPIOB-›BRR сотворили такого? Да и зачем он, если все через BSRR сделать можно?

З.Ы.
Эти грабли в многим местах. Программный SPI не работал также, пока BRR на BSRR не сменил.


С тех пор о BRR забыл и юзаю только BSRR. Правильно ли...
Просто волосы дыбом встают!!!!!
Уважаемый, вместо того, чтобы пол ночи методом тыка что-то делать, а потом ещё и претензии выкатывать, может, хотябы одним глазком на "RM0008 Reference manual" взглянуть? Люди же писали старались.
Но даже если не смотреть его, ну хоть иногда головы надо включать. Пытаться понять смысл операций. Общие принципы работы с переферией.
=======================
1. Операцией GPIOB-›BRR |= GPIO_BRR_BR9 вы читаете регистр GPIOB-›BRR добавляете туда 1 и записываете назад. Если вы откроете указанный мной мануал, то увидите, что регистр BRR, равно как и BSRR предназначен "только для записи". Что вы оттуда читаете - одному богу известно.
2. То что он для записи - вытекает из всей логики!!!!!! В этот регистр записывается бит в то место куда нужно установить 1. Зачем его читать!!!!!!!! Такой тупизм, что просто ужас!!! Для чтения предназначен регистр ODR! Именно к нему можно обращаться таким образом, каким обращаетесь вы. И с тем же результатом. Правда в мануале предупреждают о неатомарности данной операции.
Note: For atomic bit set/reset, the ODR bits can be individually set and cleared by writing to the GPIOx_BSRR register (x = A .. G).
И предлагают воспользоваться регистром BSRR (или BRR).
То есть если бы вы поняли замысел разработчиков кристала, то они специально оверегают вас от неатомарной операции |= и вводят 2(!!) новых регистра, чтобы облегчить вам работу.
А нашим разработчикам всё по барабану. Они документов просто не читают.
=========
Подытоживая должно быть так
#define FLAG_RESET_Clr GPIOB-›BRR = GPIO_BRR_BR9
Кстати для stm32f4 макросы должны выглядеть несколько по другому
#define FLAG_RESET_Set GPIOB-›BSRH = GPIO_BSRR_BS9
#define FLAG_RESET_Clr GPIOB-›BSRL = GPIO_BSRR_BS9
ну или по вашему
#define FLAG_RESET_Set GPIOB-›ODR |= GPIO_BSRR_BS9
#define FLAG_RESET_Clr GPIOB-›ODR &= ~GPIO_BSRR_BS9
здесь неатомарность!
SasaVitebsk вне форума  
Непрочитано 13.09.2012, 12:42  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от SasaVitebsk Посмотреть сообщение
#define FLAG_RESET_Set GPIOB-›BSRH = GPIO_BSRR_BS9
#define FLAG_RESET_Clr GPIOB-›BSRL = GPIO_BSRR_BS9
Наверное все таки так ?
Код:
#define FLAG_RESET_Set GPIOB-›BSRL = GPIO_BSRR_BS9
#define FLAG_RESET_Clr GPIOB-›BSRH = GPIO_BSRR_BS9
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 13.09.2012, 13:09  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Правильно. Младший сбрасывает.
В том то и дело, что я не запоминаю, я непосредственно работаю с руководством. Сейчас пишу проект, только что прописывал драйвер I2C. Отсидел день. Именно с документом, чтобы потом не выкатывать необоснованных претензий.
SasaVitebsk вне форума  
Непрочитано 13.09.2012, 13:36  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

SasaVitebsk,
Цитата:
Младший сбрасывает.
Старший!
Дык не мудрено и ошибиться. Поправил по тому, что кто то и скопирует не думая.
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 13.09.2012 в 13:41.
dosikus вне форума  
Непрочитано 13.09.2012, 14:03  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Да нельзя не думать. Я то и призываю думать. Я даже сейчас просматривал библиотеку от stm и то всё равно переписывал.
Я не утверждаю, что лучше. Просто под себя. Привычка. А заодно всё внимательно перепроверял. И всё равно ошибки будут. Проект большой. Без этого не обойдёшься.
Но если уж возникла какая-то нестабильность в работе, то я категорически не приемлю подход, когда не понимая сути тыкаешь пальцем, то туда то сюда. К сожалению, потом это изделие так и работает. Сейчас вожусь с одним таким изделием, от одного мага китежградского завода маготехники.
SasaVitebsk вне форума  
Непрочитано 13.09.2012, 16:18  
pasipaka
Прописка
 
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pasipaka на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

SasaVitebsk
Спасибо за поправку.
Ну вот такой мне код достался... чего скажу.
Срочно сижу корректирую
Не сильно у мну наработок с армами. Последний раз в феврале сидел. То был не первый раз, скоре 1,5.

Такую штуку неопытному проглядеть спокойно. Тем более когда сразу кучу материала освоить. Та и атомарный доступ ведь новое для мну тогда было!
Да и время поджимало. Вначале еще локализировать нада было. А после 20 часов не очень то трезво мыслишь.

Хотелось бы МК чаще или восновном заниматься. Но пока платят не за это. Этот проект - разработка на перспективу.
pasipaka вне форума  
Непрочитано 19.09.2012, 23:03  
pas272
Частый гость
 
Регистрация: 04.01.2009
Сообщений: 15
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
pas272 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Не подкинете примерчик работы с CAN-ом в реальном (не тестовом) режиме для STM32F103?
Дело в том что написал тестовую программу. В симуляторе кейла прогопяю - вроде работает: в окне communication проскакивают посылки. А на выходе TX постоянный низкий уровень. Вывод порта настроен как alterhate function push pull. Порт, альтернативная функция и CAN - затактированы.
Спрашивать что не так наверно бесполезно, а вот рабочий пример очень бы помог.
pas272 вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


Часовой пояс GMT +4, время: 17:22.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot