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

STVD+Raisonance

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

Всем привет!

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

Спасибо!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2013, 20:24
Ответы с готовыми решениями:

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

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

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

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

18
OmikymForti
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,116
14.11.2013, 21:14 2
Для 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
dosykus_2
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 4,017
14.11.2013, 21:18 3
OmykymForti, так ему нужны битовые поля , да чтоб самому не расписывать . :))))))
Тяжелое наследие mykroC и CVAVR ...
0
OmikymForti
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,116
14.11.2013, 22:05 4
Так оттуда и взять.
0
Orshii
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 127
17.11.2013, 13:02 5
Единственный файл из библиотек, описывающий периферию, который я нашел это stm8s.h, но в нём описаний битов нет
0
OmikymForti
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,116
17.11.2013, 21:06 6
Значит в Raisonance нет ничего интересного. Вот из COSMIC, ссылки на эти заголовки можно было увидеть в примерах из библиотек, из HOWTO.

[15.54 Кб]

[13.43 Кб]

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

Код
/** @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
dosykus_2
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 4,017
17.11.2013, 22:19 9
Цитата Сообщение от OmykymForti
Вот из COSMIC
Ты его сейчас в ступор введешь.:))))))
В этих файлах только регистры...
0
Kotz
0 / 0 / 0
Регистрация: 28.01.2010
Сообщений: 570
18.11.2013, 08:46 10
Вообще-то в резонансовском компилере для STM8 поддерживаются два дополнительных типа - bit и hbit (в нём же для 51 - bit и sbit, то же самое в Кейле-51).
Стоит ли этим пользоваться - вопрос отдельный, т.к. при переходе на другой компилятор придётся всё переписывать...
Пример:

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

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

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

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

Чем твое
LED58=1

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

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

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

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

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

хоть как...

дело вкуса)
0
wirty
1 / 1 / 0
Регистрация: 14.02.2013
Сообщений: 446
18.11.2013, 20:59 16
Десять светодиодов будут включаться "1", а один "0" и всё! :)
0
dosykus_2
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 4,017
18.11.2013, 21:31 17
Цитата Сообщение от Orshii
... ;

хоть как...

дело вкуса)
Ты уверен ? :)))))
Вот посмотри как IAR работает с битовыми полями . Дело было полгода назад, может и исправили .
Неизвестно что в твоем Raisonance .
Код
typedef struct
{
unsykned   _1ms_elapsed :1;
unsykned    adc_enable :1;
unsykned    _100ms_elapsed :1;
unsykned    REZERVED :5;

}t_flags;
Код
   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
Код
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
Orshii
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 127
19.11.2013, 11:57 18
Смотрел конечно как он работает, кстати при работе с битовыми полями
не знаю как Космик, а ИАР и Резонанс на данный момент всегда ставят именно битовые команды,
в отличии от работы с масками, где порой бывает что-то типа байтового AND или OR проскакивает.
0
vosh_so
04.04.2015, 10:50 19
Уважаемые форумчане, прошу помочь в следующем вопросе.
В IAR в компиляторе используется h-файл inttypes.h. Это файл стандартной библиотеки СИ.
Что-то подобное есть в STVD и как он называется?
04.04.2015, 10:50
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2015, 10:50

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.