Напоролся на забавные грабли

Полдня искал глюк в отправке данных с STM32F100 по uart на комп. Решил поделиться, вдруг кому поможет, ну или чисто поржать (надо мной). Осторожно, внутри скукота и ни одной картинки.


Читать дальше
  • +2
  • 11 марта 2015, 01:02
  • ACE

По следам одного бага

Для многих программистов начавших путь в эмбеддед с Си рано или поздно встает вопрос: а нужно ли учить ассемблер? И правда зачем? Ведь объективно Си гораздо удобнее ассемблера.
Признаться честно, для меня такого вопроса никогда не стояло, так как волею судьбы я начал изучение программирования именно с ассемблера и до сих пор об этом ни капли не жалею. В этой небольшой статье я хочу привести пример того, как знание ассемблера мне помогло отловить баг, который иначе я возможно ловил бы очень долго.



Читать дальше

Бага: встроенный бутлоадер в STM8 не возвращает исходный предделитель

В даташитах на STM8 английским по белому сказано, что при старте частота ядра составляет 2МГц. То есть 16Mhz HSI (внутренний генератор) с делителем на 8.

Почти во всех STM8 есть бутлоадер, прошитый на заводе (точнее слово «прошитый» не очень подходит, так-как записан он в отдельной области памяти, которую ни стереть, ни записать нельзя). Этот бутлоадер можно включить через Option Bytes. Изначально он выключен, если в памяти уже есть программа.

Так вот, бут использует частоту 16МГц, отключая предделитель. А по завершению своей работы включить его обратно забывает. То есть, если до запуска программы отработал бут, то МК продолжит и дальше работать на 16МГц.

Так что в самом начале программы явно указывайте значение предделителя
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_8);

А не полагайтесь на камень :)

P.S. Вот тут сия бага описана на 67 стр. Исправлена в ревизии Z. Читайте еррату :)

Сломали панель сообщества

Такое уже второй день висит

Такое в Opera 11.64, FF 12, IE9, вне зависимости залогинен я или нет.
Это у всех так или я что-то не то делаю?
Полный код:

Читать дальше
  • +1
  • 03 июня 2012, 14:53
  • 0xED