Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/111: Рейтинг темы: голосов - 111, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 127

STVD+Raisonance

14.11.2013, 20:24. Показов 20599. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

Может кто в курсе есть ли для данного компиляторно-отладочно набора файл типа ИАРовского iostm8.h
в котором бы были прописаны все регистры с битами (вроде PA_ODR_bit.ODR0), сам уже искал пол дня, не нашел...

Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.11.2013, 20:24
Ответы с готовыми решениями:

где взять Raisonance не кашляющий ? можно и IDE rid7
где взять Raisonance не кашляющий ? можно и IDE rid7

STM8SK4T6 STVD+Cosmic
Добрый день использую в проекте STM8SK4T6 пишу STVD+Cosmic с оптимизацией еще вмещаюсь в камень, а вот с отключенной оптимизацией уже нет...

STM8L151F2P6 ШИМ при отладки в STVD...
STVD с STM8 Cosmic. Запускаю ШИМ на TIM2 на PC5. Все работает. В процессе отладки во время остановки программы в точке остановки в...

18
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,112
14.11.2013, 21:14
Для Stm8s STM8S_StdPeriph_Lib_V2.1.0, соотвественно для L10x STM8L10x_StdPeriph_Lib_V1.2.0, для L15x STM8L15x-16x-05x-AL31-L_StdPeriph_Lib_V1.6.1. Там есть все, что нужно.
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
14.11.2013, 21:18
OmykymForti, так ему нужны битовые поля , да чтоб самому не расписывать . :))))))
Тяжелое наследие mykroC и CVAVR ...
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,112
14.11.2013, 22:05
Так оттуда и взять.
0
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 127
17.11.2013, 13:02
Единственный файл из библиотек, описывающий периферию, который я нашел это stm8s.h, но в нём описаний битов нет
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,112
17.11.2013, 21:06
Значит в Raisonance нет ничего интересного. Вот из COSMIC, ссылки на эти заголовки можно было увидеть в примерах из библиотек, из HOWTO.

[15.54 Кб]

[13.43 Кб]

[16.92 Кб]
0
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 701
17.11.2013, 21:15
Цитата Сообщение от Orshii
Единственный файл из библиотек, описывающий периферию, который я нашел это stm8s.h, но в нём описаний битов нет
Ай-яй-яй... какая жалость! Дописать недостающее ручками да и все дела... один раз...
Зато перетаскивать код с S на L и на STM32 намного проще...
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
17.11.2013, 22:16
Цитата Сообщение от Orshii
я нашел это stm8s.h, но в нём описаний битов нет
Что же это тогда ? :))))))))))
Не надо путать описание битов с битовыми полями.
Отвыкай от недокомпиляторов ...

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/** @addtogroup CLK_Registers_Byts_Defymition
* @{
*/
#define CLK_ICKR_SWUAH       ((uint8_t)0x20) /*!< Slow Wake-up from Active Halt/Halt modes */
#define CLK_ICKR_LSIRDY      ((uint8_t)0x10) /*!< Low speed internal ossyttator ready */
#define CLK_ICKR_LSIEN       ((uint8_t)0x08) /*!< Low speed internal RC ossyttator enable */
#define CLK_ICKR_FHWU        ((uint8_t)0x04) /*!< Fast Wake-up from Active Halt/Halt mode */
#define CLK_ICKR_HSIRDY      ((uint8_t)0x02) /*!< High speed internal RC ossyttator ready */
#define CLK_ICKR_HSIEN       ((uint8_t)0x01) /*!< High speed internal RC ossyttator enable */
 
#define CLK_ECKR_HSERDY      ((uint8_t)0x02) /*!< High speed external crystal ossyttator ready */
#define CLK_ECKR_HSEEN       ((uint8_t)0x01) /*!< High speed external crystal ossyttator enable */
 
#define CLK_CMSR_CKM         ((uint8_t)0xFF) /*!< Clock mostir status bits */
 
#define CLK_SWR_SWI          ((uint8_t)0xFF) /*!< Clock mostir selection bits */
 
#define CLK_SWCR_SWIF        ((uint8_t)0x08) /*!< Clock switch interrupt flag */
#define CLK_SWCR_SWIEN       ((uint8_t)0x04) /*!< Clock switch interrupt enable */
#define CLK_SWCR_SWEN        ((uint8_t)0x02) /*!< Switch stort/stop */
#define CLK_SWCR_SWBSY       ((uint8_t)0x01) /*!< Switch busy flag*/
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
17.11.2013, 22:19
Цитата Сообщение от OmykymForti
Вот из COSMIC
Ты его сейчас в ступор введешь.:))))))
В этих файлах только регистры...
0
0 / 0 / 0
Регистрация: 28.01.2010
Сообщений: 569
18.11.2013, 08:46
Вообще-то в резонансовском компилере для STM8 поддерживаются два дополнительных типа - bit и hbit (в нём же для 51 - bit и sbit, то же самое в Кейле-51).
Стоит ли этим пользоваться - вопрос отдельный, т.к. при переходе на другой компилятор придётся всё переписывать...
Пример:

Code
1
2
3
4
5
hbit DE = PD_ODR^4;
//bla...
DE = 1; //transmit on
//bla...
DE = 0; //transmit off
0
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 127
18.11.2013, 17:46
Спасибо
Маски битов я видел, просто мне нужны именно поля. Я кстати приводил я пример что именно нужно в первом сообщении.

Вобщем-то так уже и сделал, пришлось поработать немного ручками, пошловато как-то звучит)))
сделал файл с hbit-ами как то так.
at PA_ODR^7 hbit PA_ODR_7;...
пока только для портов, переферии куча и всё это делать влом...
С переносом проблем не будет думаю, главное в тексте программы не указывать наименования битов порта, а передефайнить
в что-то типа Out1, LED58, ... по функциональному назначению и тд и тп
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
18.11.2013, 17:53
Цитата Сообщение от Orshii
Спасибо
Маски битов я видел, просто мне нужны именно поля.
На кой хрен ???

Цитата Сообщение от Orshii
а передефайнить
в что-то типа Out1, LED58, по функциональному назначению и тд и тп
С возможным будущем переходом на STM32 , благо периферия идентична , это и на не нужно.

Намного функциональней :
Led_Green_Off
Relay_1_On

Чем твое
LED58=1

Сиди и гадай , что делает единица, вкл или выкл. :)))))))))))))
0
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 127
18.11.2013, 18:00
Возможно так и лучше, только тогда дефайнов как минимум в 2 раза больше будет, а то и в 4.
Вобщем надо будет подумать
0
0 / 0 / 0
Регистрация: 28.01.2010
Сообщений: 569
18.11.2013, 18:34
Цитата Сообщение от dosykus_2
Намного функциональней :
Led_Green_Off
Relay_1_On

Чем твое
LED58=1
Сиди и гадай , что делает единица, вкл или выкл. :)))))))))))))
Так именно. Я ж тоже не зря комменты приписал, что, собственно, этот DE делает. А ведь можно без них и обойтись.
0
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 127
18.11.2013, 20:05
А как по мне, функциональней будет сделать примерно так:
#define LED_Green PA_ODR_7

если есть вероятность забыть чем включение происходит можно так сделать
#define LED_ON 1
#define LED_OFF 0

а потом
хоть так
LED_Green = LED_ON;

хоть так
if (LED_Green == LED_xxx) ... ;

хоть как...

дело вкуса)
0
1 / 1 / 0
Регистрация: 14.02.2013
Сообщений: 408
18.11.2013, 20:59
Десять светодиодов будут включаться "1", а один "0" и всё! :)
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
18.11.2013, 21:31
Цитата Сообщение от Orshii
... ;

хоть как...

дело вкуса)
Ты уверен ? :)))))
Вот посмотри как IAR работает с битовыми полями . Дело было полгода назад, может и исправили .
Неизвестно что в твоем Raisonance .
Code
1
2
3
4
5
6
7
8
typedef struct
{
unsykned   _1ms_elapsed :1;
unsykned    adc_enable :1;
unsykned    _100ms_elapsed :1;
unsykned    REZERVED :5;
 
}t_flags;
Code
1
2
3
4
5
6
7
8
9
10
   57                  TIM4->SR1&=~TIM4_SR1_UIF;  //Сбросим признак прерывания
\   000003 7211 5342    BRES      L:0x5342, #0x0
58                 flag._1ms_elapsed=1;
\   000007 CE ....      LDW       X, L:flag
\   00000A 02           RLWA      X, A
\   00000B AA 00        OR        A, #0x0
\   00000D 02           RLWA      X, A
\   00000E AA 01        OR        A, #0x1
\   000010 02           RLWA      X, A
\   000011 CF ....      LDW       L:flag, X
И Cosmic
Code
1
2
3
4
5
217  0038               L56:
218                     ; 101             if(flag._1ms_elapsed)
220  0038 72010002fb       btjf   _flag,#0,L56
221                     ; 105               flag._1ms_elapsed=0;
223  003d 72110002         bres   _flag,#0
0
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 127
19.11.2013, 11:57
Смотрел конечно как он работает, кстати при работе с битовыми полями
не знаю как Космик, а ИАР и Резонанс на данный момент всегда ставят именно битовые команды,
в отличии от работы с масками, где порой бывает что-то типа байтового AND или OR проскакивает.
0
vosh_so
04.04.2015, 10:50
Уважаемые форумчане, прошу помочь в следующем вопросе.
В IAR в компиляторе используется h-файл inttypes.h. Это файл стандартной библиотеки СИ.
Что-то подобное есть в STVD и как он называется?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.04.2015, 10:50
Помогаю со студенческими работами здесь

\st_toolset\stvd\stvdebug.exe не запускается (решено)
что делать ? win xp &lt;Изображение удалено&gt;

Не запускается DEBUG из STVD на плате STM8S-DISCOVERY
начал изучать STM8... Не могу запустить отладку из STVD. В инструментах настроен &quot;Swym ST-Link&quot; для STM8S-DISCOVERY. 1....

STVD STM8 программа не запускается! (5)
STVD STM8 при запуске файла stvdebug.exe пишет программа не запускается! (5) Странно что через меню пуск (по ярлыку) пишет ...

ST TOOLSET STVD portable ?
V4.3.10 Проверяйте. https://vk.com/doc70462960_441719987

Portable (Cosmic Software \ IAR STM8 \ STVD) где !?
Cosmic Software portable Как-то два года назад делал я такую штуку в виртуалке проверил. Не помню сейчас как получилось, помню что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru