Не усложняйте и не путайте. Как раз нулевого и все соответствует, ничего не надо вычитать. Как я уже и говорил, таблицу векторов нужно смотреть в ДШ. Немаскируемые прерывания RESET и TRAP номером не обзавелись, лежат выше нулевого вектора и имеют приоритет выше левела 3 по умолчанию и изменить это нельзя.shads писал(а):, поэтому VECT0SPR[1:0] это биты не 0-го прерывания
Программирование STM8
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Программирование STM8
- Реклама
Re: Программирование STM8
Ну да, если по ДШ то соответствует... а я чет ориентировался по IAR файлу, а там ресет это нулевой, поэтому так закрутил )))
Re: Программирование STM8
значит для TIM2 должно быть не так:
а так:
да?
Код: Выделить всё
ITC_SPR4 &= ~(0x0C); Код: Выделить всё
ITC_SPR4 &= 0xBF; - Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Программирование STM8
Вечером погляжу, сейчас на телефоне. Контроллер то какой?
Re: Программирование STM8
контроллер STM8S и если я верно понимаю все железо во всей линейке настраивается одинаково, это описано в RM0016
другое дело, что где то какое то железо есть, а где то нет
другое дело, что где то какое то железо есть, а где то нет
- Реклама
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Программирование STM8
Вектор прерывания TIM2_UPD/OVF - №13d. Согласно RM16 , приоритет для данного вектора лежит в ITC_SPR4 3:2. Чтобы установить уровень приоритета 2 ( т.е. I1I0=0b00) нужно сделать так.
Все три записи абсолютно идентичны, пользуйтесь той которая Вам удобнее. Можно еще и задефайничть что-нибудь.
Код: Выделить всё
ITC_SPR4 &=0b11110011;
ITC_SPR4 &=0xF3;
ITC_SPR4 &= ~0x0C; Re: Программирование STM8
ну записи таки не идентичны, но сработают одинаково если другие биты не менялись после ресета
но это не для спора
скажите как понять номер вектора, откуда следует, что это 13-й вектор?
в каком месте RM0016 это описано?
но это не для спора
скажите как понять номер вектора, откуда следует, что это 13-й вектор?
в каком месте RM0016 это описано?
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Программирование STM8
Уважаемый, третий раз говорю. Это написано в ДШ. И RM16 туда же посылает, раздел 6.8 Interrupt mapping.
, но это изврат
Для препроцессора абсолютно одинаковые константы, для меня тоже. Можно еще в десятичном виде константу написатьaxillent писал(а):ну записи таки не идентичны,
Re: Программирование STM8
сорри я туплю) я почему то прочитал первые две строки как =, а не как &=
раздел 6.8 очень короткий) посылает в даташит на МК
значит ли это, что одно и тоже прерывание может иметь разный номер вектора для разных МК даже внутри линейки STM8S?
для STM8S003F3 нашел:
раздел 6.8 очень короткий) посылает в даташит на МК
значит ли это, что одно и тоже прерывание может иметь разный номер вектора для разных МК даже внутри линейки STM8S?
для STM8S003F3 нашел:
Re: Программирование STM8
[uquote="axillent",url="/forum/viewtopic.php?p=3193297#p3193297"]значит ли это, что одно и тоже прерывание может иметь разный номер вектора для разных МК даже внутри линейки STM8S?[/uquote]Скорее всего нет, просто на более крутых контроллерах будут добавляться дополнительные прерыания.
Вот расписал для STM8S103 табличку распределения битов приоритетов по прерываниям
Кстсти еще где то видел такую запись, тоже вроде удобно
ITC_SPR4 &= ~(BIT(3) | BIT(2));
Вот расписал для STM8S103 табличку распределения битов приоритетов по прерываниям
Кстсти еще где то видел такую запись, тоже вроде удобно
ITC_SPR4 &= ~(BIT(3) | BIT(2));
- Вложения
-
- interrupt priorities.pdf
- (27.79 КБ) 294 скачивания
Последний раз редактировалось shads Ср сен 27, 2017 16:19:29, всего редактировалось 1 раз.
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Программирование STM8
Я три раза предлагал туда сходитьaxillent писал(а):посылает в даташит на МК
Сомнительно, но всегда надо проверять. Есть же еще, например STM8AF. Но там вроде подобное, только поболее векторов.axillent писал(а):что одно и тоже прерывание может иметь разный номер вектора для разных МК даже внутри линейки STM8S?
Добавлено after 3 minutes 23 seconds:
ИМХО, удобнее пользоваться таблицей из ДШ. Бросилось в глаз, что вектор TLI пропущен.shads писал(а):Вот расписал для STM8S103 табличку распределения битов приоритетов по прерываниям
Лучше уж какой-нибудь макрос забубекать.
Re: Программирование STM8
вопрос про IAR
одна и таже версия установлена на десктопе вин8.1 и на ноутбуке под виртуальной машиной на вин10
почему то по разному работает Ident, хотя настройки по картинке ниже одинаковые
не удобно когда редактируешь одни и теже файлы то там то там
можно как то исправить?
одна и таже версия установлена на десктопе вин8.1 и на ноутбуке под виртуальной машиной на вин10
почему то по разному работает Ident, хотя настройки по картинке ниже одинаковые
не удобно когда редактируешь одни и теже файлы то там то там
можно как то исправить?
Спойлер
Re: Программирование STM8
решения видимо нет))
а вот вопрос
если стимвольную строку указываешь при вызрве функции она попадет во флэш или в ram?
Типа такого
а вот вопрос
если стимвольную строку указываешь при вызрве функции она попадет во флэш или в ram?
Типа такого
Код: Выделить всё
Print("test");
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Программирование STM8
Это же от компилятора зависит, лучше всего проверить в дизассеблере по факту.axillent писал(а):если стимвольную строку указываешь
Re: Программирование STM8
Речь про IAR
В дизассемблере смотреть на адрес строки?
В дизассемблере смотреть на адрес строки?
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Программирование STM8
Предположу, что реальный параметр передачи в функцию будет указатель на строку. Поглядев значение указателя, можно легко понять на какую область памяти он указывает.
Добавлено after 2 hours 12 minutes 19 seconds:
Можно закомментарить функцию и поглядеть объем используемой ОЗУ. Смысла нет тут использовать ОЗУ, не должен компилятор так явно тупить.
Добавлено after 2 hours 12 minutes 19 seconds:
Можно закомментарить функцию и поглядеть объем используемой ОЗУ. Смысла нет тут использовать ОЗУ, не должен компилятор так явно тупить.
Re: Программирование STM8
в отладчике адрес строки 0xA18C, флэш стартует с 0x807F
так что выходит что это флэш
так что выходит что это флэш
Re: Программирование STM8
stm8s103f3 в даташите написано 96 bit unique id
как его прочитать в программе?
посмотрел даташит, RM016, RM044 - нигде про это не нашел
как его прочитать в программе?
посмотрел даташит, RM016, RM044 - нигде про это не нашел
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Программирование STM8
[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
ЗЫ синхронно так)
[uquote="Z_h_e",url="/forum/viewtopic.php?p=3252185#p3252185"]Ну вот же[/uquote]
не совсем, ID - это lot number
- Вложения
-
- STM8S103.pdf.jpg
- (209.92 КБ) 463 скачивания



