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

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

Сообщение Z_h_e »

Уважаемый, третий раз говорю. Это написано в ДШ. И RM16 туда же посылает, раздел 6.8 Interrupt mapping.
axillent писал(а):ну записи таки не идентичны,
Для препроцессора абсолютно одинаковые константы, для меня тоже. Можно еще в десятичном виде константу написать :shock: , но это изврат
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

сорри я туплю) я почему то прочитал первые две строки как =, а не как &=

раздел 6.8 очень короткий) посылает в даташит на МК
значит ли это, что одно и тоже прерывание может иметь разный номер вектора для разных МК даже внутри линейки STM8S?

для STM8S003F3 нашел:
Изображение
2017-09-27_16-31-55.png
(207.33 КБ) 1154 скачивания
Реклама
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Сообщение shads »

[uquote="axillent",url="/forum/viewtopic.php?p=3193297#p3193297"]значит ли это, что одно и тоже прерывание может иметь разный номер вектора для разных МК даже внутри линейки STM8S?[/uquote]Скорее всего нет, просто на более крутых контроллерах будут добавляться дополнительные прерыания.

Вот расписал для STM8S103 табличку распределения битов приоритетов по прерываниям

Кстсти еще где то видел такую запись, тоже вроде удобно
ITC_SPR4 &= ~(BIT(3) | BIT(2));
Вложения
interrupt priorities.pdf
(27.79 КБ) 312 скачиваний
Последний раз редактировалось shads Ср сен 27, 2017 16:19:29, всего редактировалось 1 раз.
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

axillent писал(а):посылает в даташит на МК
Я три раза предлагал туда сходить :), но поверили только RM0016.
axillent писал(а):что одно и тоже прерывание может иметь разный номер вектора для разных МК даже внутри линейки STM8S?
Сомнительно, но всегда надо проверять. Есть же еще, например STM8AF. Но там вроде подобное, только поболее векторов.

Добавлено after 3 minutes 23 seconds:
shads писал(а):Вот расписал для STM8S103 табличку распределения битов приоритетов по прерываниям
ИМХО, удобнее пользоваться таблицей из ДШ. Бросилось в глаз, что вектор TLI пропущен.

Лучше уж какой-нибудь макрос забубекать.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Эиком - электронные компоненты и радиодетали
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

вопрос про IAR

одна и таже версия установлена на десктопе вин8.1 и на ноутбуке под виртуальной машиной на вин10
почему то по разному работает Ident, хотя настройки по картинке ниже одинаковые
не удобно когда редактируешь одни и теже файлы то там то там

можно как то исправить?
СпойлерИзображение
2017-11-01 12.09.47 pm.png
(103.65 КБ) 602 скачивания
Реклама
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

решения видимо нет))

а вот вопрос
если стимвольную строку указываешь при вызрве функции она попадет во флэш или в ram?
Типа такого

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

Print("test");
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

axillent писал(а):если стимвольную строку указываешь
Это же от компилятора зависит, лучше всего проверить в дизассеблере по факту.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

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

Сообщение Z_h_e »

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

Добавлено after 2 hours 12 minutes 19 seconds:
Можно закомментарить функцию и поглядеть объем используемой ОЗУ. Смысла нет тут использовать ОЗУ, не должен компилятор так явно тупить.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

в отладчике адрес строки 0xA18C, флэш стартует с 0x807F
так что выходит что это флэш
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

stm8s103f3 в даташите написано 96 bit unique id
как его прочитать в программе?

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

Сообщение Z_h_e »

Ну вот же
СпойлерИзображение
Вложения
STM8 UID.gif
(72.97 КБ) 393 скачивания
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Сообщение arkhnchul »

[uquote="axillent",url="/forum/viewtopic.php?p=3252030#p3252030"]посмотрел даташит, RM016, RM044 - нигде про это не нашел[/uquote]

ЗЫ синхронно так)
[uquote="Z_h_e",url="/forum/viewtopic.php?p=3252185#p3252185"]Ну вот же[/uquote]
не совсем, ID - это lot number
Вложения
STM8S103.pdf.jpg
(209.92 КБ) 479 скачиваний
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

arkhnchul писал(а):не совсем, ID - это lot number
Совсем ID, просто картинку обрезал на начальный адрес. ID же это все 12 байт, хотя какая разница.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Сообщение arkhnchul »

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

Сообщение Z_h_e »

Не столь важно :beer: . Лично мне непонятно что такое х и у тут. Наверное что-то технологическое, для отслеживания производства, может когда пилят кремний.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Сообщение arkhnchul »

координаты конкретной ячейки на групповой пластине (wafer)
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт дек 23, 2010 00:12:10

Сообщение virusss »

Всем доброго. Помогите советом. Пишу файл с макросами в STVD в виде include файла. В макросах есть различия в зависимости от используемого микроконтроллера. Соответственно нужно их дифференцировать по цвету штанов выбранной модели.
Попробовал так: #ifdef __STM8S105K__
При этом весь остальной текст попросту игнорируется если в начале кода присутствует #define __STM8S105K__ 1
А если закомментировать, то игнорируется обозначенный макрос.
Подскажите как сделать чтоб все макросы работали при любом выбранном микроконтроллере, а помеченные макросы только по выбору.
Может сложно сформулировал, задавайте наводящие вопросы, попробую ответить.
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Сообщение arkhnchul »

а вы #ifdef случаем закрыть не забыли #endif?
вот например кусок stm8_conf.h из spl, пример работы с препроцессором

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

#if defined(STM8S208) || defined(STM8S207) || defined(STM8S007) ||defined(STM8S105) ||\
    defined(STM8S005) ||  defined (STM8AF52Ax) || defined (STM8AF62Ax) || defined (STM8AF626x)
 #include "stm8s_tim3.h"
#endif /* (STM8S208) ||defined(STM8S207) || defined(STM8S007) ||defined(STM8S105) */ 
#ifndef STM8S903
 #include "stm8s_tim4.h"
#endif /* STM8S903 */
#ifdef STM8S903
 #include "stm8s_tim5.h"
 #include "stm8s_tim6.h"
#endif /* STM8S903 */
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Чт дек 23, 2010 00:12:10

Сообщение virusss »

#endif не забыл. Забыл добавить что пишу на ассемблере. Но в общем так и сделал. Вынес макросы в отдельные файлы. Но хотелось всё в одном файле.
Ответить

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