реклама на сайте
подробности

 
 
33 страниц V  « < 29 30 31 32 33 >  
Closed TopicStart new topic
> STM32 – вопросы – проблемы - решения.
ViKo
сообщение Mar 25 2012, 16:06
Сообщение #451


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Сергей Борщ @ Feb 2 2012, 17:26) *
Итого: BRR = 22*16 + 12 = 364. Две записи в регистр, одно чтение и операция "Или".
(42e6 * 16)/(16*115200) = 42e6 / 115200 = 364. Мистика, не правда ли?
...
Одна запись в регистр. Не трогая калькулятор. И если скорость или частоту изменить понадобится - тоже калькулятор не понадобится, не говоря уже о том, чтобы внимательно просматривать весь исходник в поисках таких магических цифр как ваши 22 и 12.

Есть тонкость, связанная с нецелым делением частоты на скорость. Я тоже делил просто:
Код
USART2->BRR = (36000000 / 57600);

Получалось число без остатка (625), все работало идеально.
Но когда пришлось делить 32000000 на 57600, получилось 555,555... И это число желательно округлить до 556, тогда ошибка будет меньше. Делаю так (прибавляю 0,5 к результату, потом дробную часть теряю):
Код
USART1->BRR = (((32000000<<1) / 57600) + 1)>>1;

В результате загружается 556 = 0x22C. В мануале RM0038 на STM32L151 именно это число, разбитое на 0x22 (37) и 0xC (0,75), показано в таблице 129.
Вашему числу, кстати, тоже единички недостает. sm.gif
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 25 2012, 19:18
Сообщение #452


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Тогда уж лучше так:
Код
USART2->BRR = (36000000 + 57600 / 2) / 57600;

Нагляднее, мне кажется.
А вообще разница между 555 и 556 настолько мала, что и говорить не о чем :-)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 26 2012, 04:41
Сообщение #453


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(scifi @ Mar 25 2012, 22:18) *
Тогда уж лучше так:
А вообще разница между 555 и 556 настолько мала, что и говорить не о чем :-)

Да, пожалуй. А разница разнице рознь. sm.gif На высоких скоростях при малых частотах уже может быть заметно.
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Apr 7 2012, 20:24
Сообщение #454


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Говорят на сайте производителя должна быть библиотека и примеры для STM32L151 . Даёте пожалуйста ссылку по которой её можно скачать.
В гугле по запросу "standard peripheral library stm32" нашёл вот это
http://62.193.238.133/inchtml.php?fdir=pag...p;fnam=stm32lib
Но скачать не могу , говорит "Not Autorized" , хотя я зарегистрировался.


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
Murk
сообщение Apr 8 2012, 08:35
Сообщение #455


Частый гость
**

Группа: Участник
Сообщений: 150
Регистрация: 15-02-06
Из: ЛНР Рубежное
Пользователь №: 14 357



MiklPolikov Попробуй тут поискать. http://www.st.com/internet/mcu/family/141.jsp

Сообщение отредактировал Murk - Apr 8 2012, 08:37


--------------------
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы.
Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Apr 8 2012, 12:23
Сообщение #456


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Нашёл, спасибо.


Ещё вопрос : выполнил какой-то код, который видимо изменил настройки тех пинов на которых jtag . И при попытке прошить по jtag стала вылезать ошибка jtag comunication failure .
В прошлые разы получалось сбросить питание и сделать FLASH > ERASE . А сейчас всё равно говорит jtag comunication failure .
Как вернуть процессор в рабочее состояние ?


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
smk
сообщение Apr 8 2012, 12:33
Сообщение #457


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Там от состояния выводов BOOT0 и BOOT1 все зависит.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Apr 8 2012, 12:39
Сообщение #458


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Цитата(smk @ Apr 8 2012, 15:33) *
Там от состояния выводов BOOT0 и BOOT1 все зависит.


У меня BOOT0 на земле, а BOOT1 висит в воздухе. Это означает Main Flash memory is selected as the boot space . А что ещё делать с BOOT , что бы работать по jtag ?

И ещё попрос : почему процессор STM32L151CBU6 вылетает из отладки и keil начинает ругатся на jtag communication falure после вот этой строчки , которая не влияет на пини jtag ?
Все остальные подобные строчки проходятся.

GPIOA->BSRRL=GPIO_BSRR_BS_2 ;


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Apr 8 2012, 13:48
Сообщение #459


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Ткнул тестером - оказалось процессор держит NRST в низком уровне. Хотя только что работал . Что с ним случилось ?


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
bingo
сообщение Apr 9 2012, 05:44
Сообщение #460


Частый гость
**

Группа: Свой
Сообщений: 88
Регистрация: 9-04-12
Пользователь №: 71 256



Делаю первые отладки на IAR EWARM v6.21 для STM32F105BG
Вопрос по отладке с помощью Simulator
Не получается запустить счетчик (TIM2 и др.пробовал).
На "живом" CPU ч/з SWD - все работает , счетчик считает отлично. Т.е. TIM2_CNT при каждой остановке показывет насчитананное.
Перехожу на отладку симулятором IAR. Счетчик стоит как замороженный.
Пробовал примеры из библиотеки, а также просто вызовами ф-ций станд.периф. библиотеки. Не хочет считать!
Теперь упростил до минимума- все равно не считает!
Вот упрощенный до предела кодик:

int main(void){

RCC->APB1ENR |= (uint32_t)0x00000001;
TIM2->CR1 |= (uint32_t)0x00000001;
while (1) { }

}

TIM2_CNT не хочет изменяться, стоит на 0.

Подскажите пжста в чем загвоздка?
sad.gif

Go to the top of the page
 
+Quote Post
smk
сообщение Apr 9 2012, 07:13
Сообщение #461


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Цитата(MiklPolikov @ Apr 8 2012, 15:39) *
У меня BOOT0 на земле, а BOOT1 висит в воздухе. Это означает Main Flash memory is selected as the boot space . А что ещё делать с BOOT , что бы работать по jtag ?

Да, я ошибся. На счет ресета, так он может быть подкорочен внутренним транзистором. А условия для внутреннего сброса смотрите в контексте Вашей ситуации.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 9 2012, 14:15
Сообщение #462


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (bingo @ Apr 9 2012, 08:44) *
Вопрос по отладке с помощью Simulator
Не получается запустить счетчик (TIM2 и др.пробовал).
.....
Подскажите пжста в чем загвоздка?
Загвоздка в том, что вы поленились прочитать документацию на симулятор IAR (C-SPY). В ней английским по белому написано, что симулятор симулирует только ядро, и никак не симулирует периферию.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
bingo
сообщение Apr 9 2012, 23:02
Сообщение #463


Частый гость
**

Группа: Свой
Сообщений: 88
Регистрация: 9-04-12
Пользователь №: 71 256



Цитата(Сергей Борщ @ Apr 9 2012, 18:15) *
Загвоздка в том, что вы поленились прочитать документацию на симулятор IAR (C-SPY). В ней английским по белому написано, что симулятор симулирует только ядро, и никак не симулирует периферию.


Спасибо!

Хотя это несколько не ожиданно!
Это резко затрудняет отладочный процесс. Особенно при отсутствии рабочей платы

C-Spy читал , но повидимому не достаточно внимательно. Не ожидал такого подхода со стороны IAR!
:-(
Go to the top of the page
 
+Quote Post
bingo
сообщение Apr 10 2012, 00:59
Сообщение #464


Частый гость
**

Группа: Свой
Сообщений: 88
Регистрация: 9-04-12
Пользователь №: 71 256



Цитата(Сергей Борщ @ Apr 9 2012, 17:15) *
Загвоздка в том, что вы поленились прочитать документацию на симулятор IAR (C-SPY). В ней английским по белому написано, что симулятор симулирует только ядро, и никак не симулирует периферию.


Для того, чтобы разобраться взял "C-SPY® Debugging Guide"
В нем, в разделе "The IAR C-SPY Simulator - FEATURES" стр.38 четко написано:

"...In addition to the general features in C-SPY, the simulator also provides:
...
Peripheral simulation (using the C-SPY macro system in conjunction with immediate breakpoints).
.."

Не смогли бы Вы мне уточнить, где же написано про отсутствие поддержки периферии в Simulator?
Буду Вам благодарен!

:-)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 10 2012, 05:59
Сообщение #465


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (bingo @ Apr 10 2012, 03:59) *
Для того, чтобы разобраться взял "C-SPY® Debugging Guide"
В нем, в разделе "The IAR C-SPY Simulator - FEATURES" стр.38 четко написано:

"...In addition to the general features in C-SPY, the simulator also provides:
...
Peripheral simulation (using the C-SPY macro system in conjunction with immediate breakpoints).
.."
Вот именно. Если вы прочитаете описание этой macro system, то поймете, что вам предлагается использовать макросы C-SPY чтобы самому этими макросами описать поведение вашей периферии. И что же вы будете отлаживать - свою программу или свою модель периферии процессора из этих макросов? Это если у вас хватит терпения описать на этих макросах хотя бы один периферийный модуль.
QUOTE (bingo @ Apr 10 2012, 03:59) *
Не смогли бы Вы мне уточнить, где же написано про отсутствие поддержки периферии в Simulator?
Как раз в отцитированном вами фрагменте.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

33 страниц V  « < 29 30 31 32 33 >
Closed TopicStart new topic
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 21:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01505 секунд с 7
ELECTRONIX ©2004-2016