ViKo 1 25 марта, 2012 Опубликовано 25 марта, 2012 · Жалоба Итого: 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. Вашему числу, кстати, тоже единички недостает. :) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 25 марта, 2012 Опубликовано 25 марта, 2012 · Жалоба Тогда уж лучше так: USART2->BRR = (36000000 + 57600 / 2) / 57600; Нагляднее, мне кажется. А вообще разница между 555 и 556 настолько мала, что и говорить не о чем :-) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 26 марта, 2012 Опубликовано 26 марта, 2012 · Жалоба Тогда уж лучше так: А вообще разница между 555 и 556 настолько мала, что и говорить не о чем :-) Да, пожалуй. А разница разнице рознь. :) На высоких скоростях при малых частотах уже может быть заметно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 7 апреля, 2012 Опубликовано 7 апреля, 2012 · Жалоба Говорят на сайте производителя должна быть библиотека и примеры для STM32L151 . Даёте пожалуйста ссылку по которой её можно скачать. В гугле по запросу "standard peripheral library stm32" нашёл вот это http://62.193.238.133/inchtml.php?fdir=pag...p;fnam=stm32lib Но скачать не могу , говорит "Not Autorized" , хотя я зарегистрировался. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Murka 0 8 апреля, 2012 Опубликовано 8 апреля, 2012 (изменено) · Жалоба MiklPolikov Попробуй тут поискать. http://www.st.com/internet/mcu/family/141.jsp Изменено 8 апреля, 2012 пользователем Murk Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 8 апреля, 2012 Опубликовано 8 апреля, 2012 · Жалоба Нашёл, спасибо. Ещё вопрос : выполнил какой-то код, который видимо изменил настройки тех пинов на которых jtag . И при попытке прошить по jtag стала вылезать ошибка jtag comunication failure . В прошлые разы получалось сбросить питание и сделать FLASH > ERASE . А сейчас всё равно говорит jtag comunication failure . Как вернуть процессор в рабочее состояние ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 8 апреля, 2012 Опубликовано 8 апреля, 2012 · Жалоба Там от состояния выводов BOOT0 и BOOT1 все зависит. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 8 апреля, 2012 Опубликовано 8 апреля, 2012 · Жалоба Там от состояния выводов 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 ; Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 8 апреля, 2012 Опубликовано 8 апреля, 2012 · Жалоба Ткнул тестером - оказалось процессор держит NRST в низком уровне. Хотя только что работал . Что с ним случилось ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bingo 0 9 апреля, 2012 Опубликовано 9 апреля, 2012 · Жалоба Делаю первые отладки на 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. Подскажите пжста в чем загвоздка? :( Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 9 апреля, 2012 Опубликовано 9 апреля, 2012 · Жалоба У меня BOOT0 на земле, а BOOT1 висит в воздухе. Это означает Main Flash memory is selected as the boot space . А что ещё делать с BOOT , что бы работать по jtag ? Да, я ошибся. На счет ресета, так он может быть подкорочен внутренним транзистором. А условия для внутреннего сброса смотрите в контексте Вашей ситуации. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 132 9 апреля, 2012 Опубликовано 9 апреля, 2012 · Жалоба Вопрос по отладке с помощью Simulator Не получается запустить счетчик (TIM2 и др.пробовал). ..... Подскажите пжста в чем загвоздка? Загвоздка в том, что вы поленились прочитать документацию на симулятор IAR (C-SPY). В ней английским по белому написано, что симулятор симулирует только ядро, и никак не симулирует периферию. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bingo 0 9 апреля, 2012 Опубликовано 9 апреля, 2012 · Жалоба Загвоздка в том, что вы поленились прочитать документацию на симулятор IAR (C-SPY). В ней английским по белому написано, что симулятор симулирует только ядро, и никак не симулирует периферию. Спасибо! Хотя это несколько не ожиданно! Это резко затрудняет отладочный процесс. Особенно при отсутствии рабочей платы C-Spy читал , но повидимому не достаточно внимательно. Не ожидал такого подхода со стороны IAR! :-( Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bingo 0 10 апреля, 2012 Опубликовано 10 апреля, 2012 · Жалоба Загвоздка в том, что вы поленились прочитать документацию на симулятор 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? Буду Вам благодарен! :-) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 132 10 апреля, 2012 Опубликовано 10 апреля, 2012 · Жалоба Для того, чтобы разобраться взял "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 чтобы самому этими макросами описать поведение вашей периферии. И что же вы будете отлаживать - свою программу или свою модель периферии процессора из этих макросов? Это если у вас хватит терпения описать на этих макросах хотя бы один периферийный модуль. Не смогли бы Вы мне уточнить, где же написано про отсутствие поддержки периферии в Simulator?Как раз в отцитированном вами фрагменте. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться