Программирование STM8

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Опытный кот
Аватара пользователя
Сообщения: 848
Зарегистрирован: Ср мар 02, 2011 07:47:39
Откуда: Уфа

Сообщение Psych »

Огромное вам спасибо.
Реклама
Chettuser

Сообщение Chettuser »

[uquote="Psych",url="/forum/viewtopic.php?p=3304159#p3304159"]Никто не сталкивался:
После включения таймера практически сразу вызывается прерывание. После отработки таймер пашет как надо.[/uquote]
В STM32 есть такой бит - UG. Я не знаю есть ли он в этих, но его рекомендуют ставить, что бы прописать все значения в регистры таймера при настройке.
Реклама
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Ср июл 29, 2015 16:50:20

Сообщение grafgrial »

Привет коты, подскажите дереву четко что нужно чтобы считать прошивку 8S003F3P6. Как я понял для минимума нужен программатор ST Link. И еще что? нигде нормально не показано какие пины куда идут с этого программатьора на микру. Нужна ли минимальная обвязка? Спасибо заранее
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

Вывода VCC, nRES, SWIM, GND. На ST-LINK они подписаны. На МК смотрите ДШ. Если МК не в плате с готовой разводкой, то нужно повесить кондер на вывод Vcap.

З.Ы. Обычно лочат прошивки.

Добавлено after 2 minutes 39 seconds:
Считать можно программой от изготовителя "ST Visual Programmer"
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Ср июл 29, 2015 16:50:20

Сообщение grafgrial »

Если я правильно понимаю
VCC нужно подключить на ножку 8 с кондером на землю (а 3.3 вольта или 5)
nRES - 4 ножка
SWIM-18 ножка
GND - никуда?
Изображение

Если она даже залочена я не смогу ее копию сделать? на другой МК
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

если залочена - нет
Изображение
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

GND программатора к Vss контроллера.
5 или 3.3В программатора к Vdd
Кондер на Vcap микроконтроллера.

Добавлено after 4 minutes 11 seconds:
grafgrial писал(а):Если она даже залочена я не смогу ее копию сделать? на другой МК
"ST Visual Programmer" при считывании прошивки сразу скажет, что она залочена (если залочена). Имейте ввиду снятие защиты от чтения, очищает память программ или по-русски произведет окирпичивание.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

[uquote="Z_h_e",url="/forum/viewtopic.php?p=3315240#p3315240"]или по-русски произведет окирпичивание.[/uquote]

Ну не стоит пугать - просто станет девственно чистой, готовой к новым издевательствам...
Грызет канифоль
Аватара пользователя
Сообщения: 250
Зарегистрирован: Ср янв 17, 2018 13:09:14

Сообщение AndyBig »

Но девайс на ее основе превратится при этом в кирпич :)
Chettuser

Сообщение Chettuser »

Спойлер[uquote="dosikus",url="/forum/viewtopic.php?p=3317360#p3317360"]девственно чистой, готовой к новым издевательствам...[/uquote]
Ооо! Мусьё знает толк...! :)))
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Давайте кое что проясним.Термин "кирпич" означает, в большинстве своем, убитый, полностью бЭсполезный девайс.
Заголовок темы не "прошивка какого-то девайса на стм8" а "Программирование стм8".
Теперь ощущаем разницу, или надо разжевывать?
Chettuser, увы издивательства а не работа , здесь обыкновение...
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

Z_h_e писал(а):Имейте ввиду снятие защиты от чтения, очищает память программ или по-русски произведет окирпичивание.
устройства.
Недописанное слово... Я думаю почти всем понятно было что имелось ввиду. Но "почти не считается". Уточняющая поправка dosikus верная.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Мучитель микросхем
Сообщения: 480
Зарегистрирован: Вс авг 16, 2015 13:08:53

Сообщение Бубоник »

Всем привет! Столкнулся с такой проблемой. Не могу записать 16-битные данные в регистры TIM1_PSCRH + TIM1_PSCRL. То есть они в памяти контроллера лежат рядом, соотвественно я хочу сразу заталкать 16-битное число по адресу TIM1_PSCRH то есть 0x5260. Но че-то оно ни как не хочет изменять значение регистра. Если мне записывать значение по очереди по 8 бит в каждый регистр, то хавает. Че за бяда? Или я много хочу от 8 битного контроллера? P.S. Так пробовал экспериментировать с ПИК-ушками работает нормально.

Добавлено after 10 minutes 18 seconds:
В основном коде пишу так

Код: Выделить всё

void init_timer1(void)
{
  //Настройка Таймера1

  // Синхронизация как ведущий с периферией отключена
    TIM1_CR2 = 0;
  // Синхронизация как ведомый с периферией отключена
    TIM1_SMCR = 0;
    // Внешнее тактирование отключено
    TIM1_ETR = 0;
    // Прерывание по обновлению счетного регистра разрешено
    TIM1_IER = MASK_TIM1_IER_UIE;
    // Предделитель - 0
//TIM1_PSCRH=0x02;
//TIM1_PSCRL=0x40;
      TIM1_PSCR=576;
     // TIM1_ARR=8000;
//Установка максимального значение таймера 1

}
Далее... Откуда я взял TIM1_PSCR, естественно я его прописал в библиотеке iostm8s003k3.h вот таким образом

Код: Выделить всё

...................
__IO_REG16   (TIM1_PSCR,  0x5260,  __WRITE);
..................
Далее __IO_REG16 я прописал в io_macros.h вот это

Код: Выделить всё

 
*--------------------------------------------*/
#define __IO_REG16(NAME, ADDRESS, ATTRIBUTE)              \
                  __near __no_init volatile ATTRIBUTE unsigned int NAME @ ADDRESS;
........
__IO_REG16 На считывание работает нормально так как изначально этот код у меня был запилен под АЦП и работает нормально. А с записью косяк получается

Добавлено after 25 minutes 13 seconds:
Конечно геморой можно вылечить таким кодом

Код: Выделить всё

.................  
  gg=576;
TIM1_PSCRH=gg>>8;
TIM1_PSCRL=gg;
...........
но че-то все таки хочется сделать как полагается, раз в документации указанно что TIM1_PSCR содержит 16 битное значение значит должен принимать 16 битные числа.
Друг Кота
Аватара пользователя
Сообщения: 15778
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

STM8 не АРМ...
Ищи ответ ТУТ:
http://radiokot.ru/forum/viewtopic.php?f=62&t=35768
:beer:
Мучитель микросхем
Сообщения: 480
Зарегистрирован: Вс авг 16, 2015 13:08:53

Сообщение Бубоник »

Ну так темы основной нет по 8-кам вот и пишу сюда т.к. 8-ки в этом разделе есть.
Друг Кота
Аватара пользователя
Сообщения: 3386
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Бубоник писал(а):Ну так темы основной нет по 8-кам вот и пишу сюда т.к. 8-ки в этом разделе есть.
ARM микроконтроллеры 32-ух битные.
Мучитель микросхем
Сообщения: 480
Зарегистрирован: Вс авг 16, 2015 13:08:53

Сообщение Бубоник »

Вообще-то я хотел узнать почему контроллер не записывает данные в регистр, а не его архитектуру. Да не там написал свой вопрос, но это же не значит что на него отвечать не надо. К тому же модераторам форума виднее где писать, а где нет.
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

[uquote="Бубоник",url="/forum/viewtopic.php?p=3350254#p3350254"]хочется сделать как полагается, раз в документации указанно что TIM1_PSCR содержит 16 битное значение значит должен принимать 16 битные числа.[/uquote]
в документации надо загрузить два байта:
RM0016
17.3.3 Prescaler
The prescaler value is loaded through a preload register. The shadow register, which
contains the current value to be used, is loaded as soon as the LS byte has been written.
To update the 16-bit prescaler, load two bytes in separate write operations starting with the
MSB. Do not use the LDW instruction for this purpose as it writes the LSB first.
The new prescaler value is taken into account in the following period (after the next counter
update event).
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

Бубоник писал(а):Да не там написал свой вопрос, но это же не значит что на него отвечать не надо. К тому же модераторам форума виднее где писать, а где нет.
Да не обязан Вам никто отвечать. А если Вы жд кассе спросите расписание самолетов, тоже значит что кассир обязан ответить?
Бубоник писал(а): раз в документации указанно что TIM1_PSCR содержит 16 битное значение значит должен принимать 16 битные числа.
Как Вы это представляете на 8ми битной шине?
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 373
Зарегистрирован: Ср мар 09, 2016 08:07:41

Сообщение JackSmith »

[uquote="Z_h_e",url="/forum/viewtopic.php?p=3350568#p3350568"]
Бубоник писал(а): раз в документации указанно что TIM1_PSCR содержит 16 битное значение значит должен принимать 16 битные числа.
Как Вы это представляете на 8ми битной шине?[/uquote]

зато там буфер чтения с флеша 64-битный, так что никаких проблем. архитектура STM8 содержит множество 16-битных инструкций.
Ответить

Вернуться в «Разные вопросы по МК»