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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
muravei_
Потрогал лапой паяльник
Сообщения: 336
Зарегистрирован: Чт май 20, 2021 13:33:05

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

Сообщение muravei_ »

Кто использует STM8S_StdPeriph_Lib , выложите пожалуйста stm8s_clk.h и stm8s_clk.с .
Которыми пользуетесь.
SV12
Нашел транзистор. Понюхал.
Сообщения: 187
Зарегистрирован: Пт апр 01, 2011 21:53:28

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

Сообщение SV12 »

Начал изучать ST8S.
Установил STVD+COSMIC. Помигал светодиодом. Ещё пара примеров ...

Мне нужно чтоб МК уснул - Halt и проснулся от AWU.
МК уходит в HALT и не возвращается оттуда ....
Код :
Файл Main:

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

#include <iostm8s103.h> 
#include "macros_stm8.h" // Макросы для работы с портами
#include "stm8s.h"
//	Светодиоды
#define LED1 B, 5, Low, NoPullUp, NoOpenDrain, NoSpeedLimit, NoIT

// Обработчик прерывания от  AWU  **************************
@far @interrupt void awu_irq_handler (void) 
{
  uint8_t St; 
  St = AWU_CSR1 ;	
return;
}

// ЗАДЕРЖКА ************************************************
static void delay(uint32_t t) //функция задержки
{
    while(t--) {}
}

//	Инициализация периферии  *******************************
static void init(void)
{			
	//установить коэффициент деления частоты HSI в 00 (без деления)
     CLK_CKDIVR = CLK_CKDIVR & 0b11100111;		
	//		Светодиоды =====
     Pin_Out(LED1);   
	 // Настройка AWU =====
     CLK->PCKENR2 = CLK_PCKENR2_AWU;
     AWU->APR = 0x3e;     // /64
     AWU->TBR = 0x0B;  // 1s
     AWU->CSR |= AWU_CSR_AWUEN; // разрешаю работу AWU	 	
}


main()
{		
	init(); // Инициализируем периферию	
	enableInterrupts();  
	
	while(1)
	{
	  Pin_On(LED1);	  // Вкл светодиод
	  delay(50000UL); //задержка		
	  Pin_Off(LED1);  // Откл светодиод
	  
           halt();
	  
	   Pin_On(LED1);  // Вкл светодиод (можно убрать)	
	  delay(50000UL); //задержка		
  }	
}
Файл MAIN.H

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

@far @interrupt void awu_irq_handler (void);
Файл stm8_interrupt_vector.c

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

#include "main.h"
typedef void @far (*interrupt_handler_t)(void);

struct interrupt_vector {
	unsigned char interrupt_instruction;
	interrupt_handler_t interrupt_handler;
};

@far @interrupt void NonHandledInterrupt (void)
{
	return;
}

extern void _stext();     /* startup routine */

struct interrupt_vector const _vectab[] = {
	{0x82, (interrupt_handler_t)_stext}, /* reset */
	{0x82, NonHandledInterrupt}, /* trap  TLI */
	{0x82, awu_irq_handler}, /* irq0  AWU */
	{0x82, NonHandledInterrupt}, /* irq1  */
	.....
};

Компилируется без ошибок.
При включении мигает 1 раз ... и всё.
При отладке доходит до Halt далее тоже ничего не происходит.
Одни хотели бы понимать то, во что верят, другие - поверить в то, что пнимают.
SV12
Нашел транзистор. Понюхал.
Сообщения: 187
Зарегистрирован: Пт апр 01, 2011 21:53:28

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

Сообщение SV12 »

[uquote="SV12",url="/forum/viewtopic.php?p=4366395#p4366395"]Мне нужно чтоб МК уснул - Halt и проснулся от AWU.
МК уходит в HALT и не возвращается оттуда ....[/uquote]
Отбой. Разобрался. Проблема решена.
Одни хотели бы понимать то, во что верят, другие - поверить в то, что пнимают.
sergutka
Родился
Сообщения: 5
Зарегистрирован: Пн мар 06, 2023 21:08:45

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

Сообщение sergutka »

подскажите как прошить новый с али STM8S103K3T6 в паяльнике GLOBAL CXG E60WT программатором SN-LINK V2 (тоже с али), а то в паяльнике приказал долго "жить" пожалуйста подскажите. SN-LINK V2 не видит STM8 пишет Can not conetct to target
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

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

Сообщение Martian »

да фиг знает. надо убедиться, что правильно подключили, что на SWIM_DATA ничего лишнего и что там бегают сигналы... вариант, что приказ долго жить отдан навсегда - тоже не исключается, может, нечего уже прошивать-то... а может и программатор дядюшка Ляо прислал не совсем программаторный... есть живой нормальный микроконтроллер STM8 или 32?
sergutka
Родился
Сообщения: 5
Зарегистрирован: Пн мар 06, 2023 21:08:45

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

Сообщение sergutka »

подключено платкой QFP32 to DIP DIP32 Converter Adapter Socket PCB SMD 0.8mm, и выводы к STM8 подключены через платку (чип не впаян ещё) 1 вывод- reset: вывод- GND; 6 вывод- "+5V"; 26 вывод- SWIM. К ST-LINK V2 подключены согласно надписи на корпусе, я уже этим ST-LINKом прошивал паяльник всё норм было, потом решил поменять прошивку и перепутал разъём программирования и полярность. других чипов нет, есть ещё один ST-LINK V2.
Аватара пользователя
JackSmith
Потрогал лапой паяльник
Сообщения: 332
Зарегистрирован: Ср мар 09, 2016 08:07:41

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

Сообщение JackSmith »

[uquote="sergutka",url="/forum/viewtopic.php?p=4382600#p4382600"]1 вывод- reset: вывод- GND; 6 вывод- "+5V"; 26 вывод- SWIM[/uquote]
на VCAP (пятый пин) нужно еще ставить конденсатор. читайте документацию.
sergutka
Родился
Сообщения: 5
Зарегистрирован: Пн мар 06, 2023 21:08:45

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

Сообщение sergutka »

Спасибо Вам попробую поставить
sergutka
Родился
Сообщения: 5
Зарегистрирован: Пн мар 06, 2023 21:08:45

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

Сообщение sergutka »

попробовал не получается, не видит пишет нет подключения, пробовал ST Visual Programmer и STM32 ST-Link utility, не помогает. Прошил всё работает паяльник хорошо, спасибо всем Вам за советы. Спасибо огромное Proton78 за архив с прошивкой здесь на сайте, спасибо большое всем.
Michka
Родился
Сообщения: 1
Зарегистрирован: Пн мар 13, 2023 13:03:18

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

Сообщение Michka »

Всем доброго дня.
Господа подскажите, как в ST Visual Develop можно блинк разогнать до 50 кГц?
на stm8s103 без внешнего кварца.
Если между вкл, выкл пина поставить: delay(1), получается очень большая задержка.
Если убрать delay(1), получается очень мало.
Может надо какую библиотеку поставить?
Играюсь на iostm8s103.h
Vladislav14
Родился
Сообщения: 16
Зарегистрирован: Вс мар 27, 2022 15:49:30

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

Сообщение Vladislav14 »

[uquote="Michka",url="/forum/viewtopic.php?p=4385336#p4385336"]Всем доброго дня.
Господа подскажите, как в ST Visual Develop можно блинк разогнать до 50 кГц?
на stm8s103 без внешнего кварца.
Если между вкл, выкл пина поставить: delay(1), получается очень большая задержка.
Если убрать delay(1), получается очень мало.
Может надо какую библиотеку поставить?
Играюсь на iostm8s103.h[/uquote]
В обработчике прерывания от любого таймера поставить что-то типа GPIO_WriteReverse(GPIOE, GPIO_PIN_5); (это для S105, в S103, возможно, другой порт и другой пин), затем включить прерывание по переполнению счётчика, задать параметры счётчика и всё будет точно и с любой возможной частотой.
Аватара пользователя
JackSmith
Потрогал лапой паяльник
Сообщения: 332
Зарегистрирован: Ср мар 09, 2016 08:07:41

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

Сообщение JackSmith »

достаточно было любой таймер в режиме ШИМ настроить со скважностью 50%.
watchmaker
Поставщик валерьянки для Кота
Сообщения: 2177
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков
Контактная информация:

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

Сообщение watchmaker »

Пытаюсь разобраться с даташитами на STM8L152. И сразу возникает куча вопросов.
1. Если в параметрах LCD драйвера задать duty 2, будут ли доступны COM2 и COM3 в качестве GPIO?
2. Возможна ли работа ШИМ в Active Halt режиме (низкочастотный кварц включён)? Или нужно обязательно держать ядро запущенным? Использование BEEP не особо удобно.
3. Самое главное. Можно ли сделать, чтобы разбросанные по всему чипу пины (PC0, PC1, PA2, PA3, PA6, PD1, PF0, PF1) генерировали одно и то же внешнее прерывание, а не несколько различных? Нужно будить чип из active halt по нажатию кнопок, подвешенных на эти пины, а потом уже обрабатывать каждое нажатие. Собрать их в один порт не получится, нужно 36 (если не 38) сегментных линий на дисплей.

И вообще, кому-нибудь здесь приходилось делать устройства на этом чипе с ЖК дисплеем?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

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

Сообщение Martian »

1. Да.
2. Нет. Active-halt mode: In Active-halt mode, the main oscillator, the CPU and almost all peripherals are stopped.
Only oscillator or the LSE crystal is running to drive the SWIM, beeper, IWDG, RTC and LCD if enabled.
3. Никто не запрещает вектора прерываний направить на одну функцию.

И вообще да, многим приходилось, этим чипам сто лет в обед.

Добавлено after 51 second:
RM0031 Reference manual STM8L050J3, STM8L051F3, STM8L052C6, STM8L052R8 MCUs and STM8L151/L152, STM8L162, STM8AL31, STM8AL3L lines - это основной документ
watchmaker
Поставщик валерьянки для Кота
Сообщения: 2177
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков
Контактная информация:

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

Сообщение watchmaker »

Нет. Active-halt mode: In Active-halt mode, the main oscillator, the CPU and almost all peripherals are stopped.
Only oscillator or the LSE crystal is running to drive the SWIM, beeper, IWDG, RTC and LCD if enabled.
Понятно, придётся делать как на AVR. Бипер не очень подходит, там программируемый делитель только на 5 бит, мне желательно как минимум 8 (а лучше 16).
3. Никто не запрещает вектора прерываний направить на одну функцию.
Тоже можно, лишь бы частые беспорядочные нажатия на кнопки не приводили к проблемам с прерываниями.
RM0031
Уже нашёл, пытаюсь разобраться. Похоже, эта машина на голову выше тех AVR :-D
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
watchmaker
Поставщик валерьянки для Кота
Сообщения: 2177
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков
Контактная информация:

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

Сообщение watchmaker »

Кому-нибудь в последнее время удавалось зарегистрировать Cosmic? Похоже, что в связи с известными событиями они всё прикрыли. Или есть ломаная версия?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

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

Сообщение Martian »

я регистрировал. но меня достала мерзкая среда ST и поставил IAR. Отладчик у IAR в миллион раз лучше. После точки менюшка выпадает.
watchmaker
Поставщик валерьянки для Кота
Сообщения: 2177
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков
Контактная информация:

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

Сообщение watchmaker »

Пытаюсь зарегистрировать через web (прямо в приложении) - просто ничего не происходит, через почту - никакого ответа нет. Насчёт IAR попробую, если найду правильный.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

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

Сообщение Martian »

Ответ через почту приходит иногда в течение пары дней. Через веб сбои бывают, это да. Правильный IAR на Сахаре точка нет
watchmaker
Поставщик валерьянки для Кота
Сообщения: 2177
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков
Контактная информация:

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

Сообщение watchmaker »

Правильный IAR на Сахаре точка нет
Честно, не пойму, где это, кроме рутрекера ничем раньше не пользовался, а там только древний 1.4.0.
И ещё, возможно ли скомбинировать STVD-STVP + SDCC?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Ответить

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