Например TDA7294

Форум РадиоКот • Просмотр темы - Программирование STM8
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср ноя 05, 2025 11:09:11

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2579 ]     ... , , , 16, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт дек 03, 2013 14:17:54 
Опытный кот

Карма: 16
Рейтинг сообщений: 177
Зарегистрирован: Сб апр 14, 2012 16:11:35
Сообщений: 718
Рейтинг сообщения: 0
a5021, спасибо, включение тактирования AWU помогло. Регистр стал записываться!! Причём, сначала его нужно сбросить, а потом записать в нужное состояние. Бипер заработал.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт дек 03, 2013 15:05:04 
Друг Кота

Карма: 20
Рейтинг сообщений: 230
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6452
Рейтинг сообщения: 0
У меня с этим бипером другой феномен -- работает без всякого шаманства с флешем и переопределением альтернативных функций, хотя вроде не должен. Так и не разобрался с этим. Работает, ну и хорошо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн дек 09, 2013 23:27:23 
Родился

Зарегистрирован: Пн дек 09, 2013 23:26:21
Сообщений: 1
Рейтинг сообщения: 0
Уже несколько недель пытаюсь разобраться с данным микроконтроллером, но пока что всё безуспешно.
Может кто подсказать, как подключить к ней что-нибудь( моторчик, или еще один диод...) в простейшем случае.
Нашел в инете много на эту тему, но опыта работы с микроконтроллерами нет вообще. Я всего-лишь программист:(
Если можно -самый простой пример. Допустим моторчик, один контакт - к 32-му порту, второй - к 48-ому.
И какой будет минимальный код на IAR-е, чтобы он закрутился. Буду очень благодарен!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт дек 10, 2013 02:52:04 
Друг Кота

Карма: 20
Рейтинг сообщений: 230
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6452
Рейтинг сообщения: 0
Вы задаете вопрос о подключение моторчика к сферическому МК в вакууме. Для программиста такая постановка вопроса не характерна.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт дек 10, 2013 06:55:33 
Встал на лапы

Карма: 1
Рейтинг сообщений: 11
Зарегистрирован: Пт июл 06, 2012 14:28:17
Сообщений: 108
Откуда: Россия. г.Смоленск
Рейтинг сообщения: 0
Почему? Как раз таки для программиста вполне характерно. Виртуальный моторчик и методы работы с ним на виртуальном МК. Всякая фигня типа мощности, напряжения питания и прочая не существенны. Мы же программируем интерфейс!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт дек 10, 2013 10:04:25 
Друг Кота

Карма: 20
Рейтинг сообщений: 230
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6452
Рейтинг сообщения: 0
В принципе, да! Тогда вот этот код будет точно работать. :)

===
motor->run(FORWARD);
motor->run(BACKWARD);
motor->brake();
motor->stop();
===

И скажите, что нет еще. :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт дек 12, 2013 23:45:27 
Опытный кот

Карма: 16
Рейтинг сообщений: 177
Зарегистрирован: Сб апр 14, 2012 16:11:35
Сообщений: 718
Рейтинг сообщения: 0
Даже на этом сайте есть схемы на СТМ-8, например, не для рекламы, моя первая работа с этим контроллером http://radiokot.ru/circuit/digital/measure/87/


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт дек 13, 2013 01:52:26 
Друг Кота

Карма: 20
Рейтинг сообщений: 230
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6452
Рейтинг сообщения: 0
И добротная работа, надо заметить. Я про нее впервые узнал вообще на стороннем ресурсе, т.ч. можно сказать, что вас активно цитируют. :-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Сб дек 21, 2013 22:25:25 
Родился

Зарегистрирован: Сб дек 21, 2013 22:21:38
Сообщений: 3
Рейтинг сообщения: 0
Коллеги! Расшарьте пожалуйста STVD и STVP, если у кого есть.
На ST проблемы с серваком - скачать их там не получается crying.gif


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн апр 14, 2014 07:17:58 
Грызет канифоль
Аватар пользователя

Карма: 6
Рейтинг сообщений: 9
Зарегистрирован: Пт сен 23, 2011 06:44:41
Сообщений: 258
Откуда: ЮФО
Рейтинг сообщения: 0
Посмотрите плз. где туплю???
Счетчик считает, флаг прерывания ставится, в прерывание не попадаю.
Через какое-то время перезагружается.
Прерывания от таймера разрешил

stm8_interrupt_vector.c
Спойлер
Код:
/*   BASIC INTERRUPT VECTOR TABLE FOR STM8 devices
 *   Copyright (c) 2007 STMicroelectronics
 */

typedef void @far (*interrupt_handler_t)(void);

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

@far @interrupt void NonHandledInterrupt (void)
{
   /* in order to detect unexpected events during development,
      it is recommended to set a breakpoint on the following instruction
   */
   return;
}


extern void _stext();     /* startup routine */
//extern @far @interrupt void TIM4_IRQ_handler (void);
extern @far @interrupt void TIM4_IRQ_handler(void);


struct interrupt_vector const _vectab[] = {
   {0x82, (interrupt_handler_t)_stext}, /* reset */
   {0x82, NonHandledInterrupt}, /* trap  */
   {0x82, NonHandledInterrupt}, /* irq0  */
   {0x82, NonHandledInterrupt}, /* irq1  */
   {0x82, NonHandledInterrupt}, /* irq2  */
   {0x82, NonHandledInterrupt}, /* irq3  */
   {0x82, NonHandledInterrupt}, /* irq4  */
   {0x82, NonHandledInterrupt}, /* irq5  */
   {0x82, NonHandledInterrupt}, /* irq6  */
   {0x82, NonHandledInterrupt}, /* irq7  */
   {0x82, NonHandledInterrupt}, /* irq8  */
   {0x82, NonHandledInterrupt}, /* irq9  */
   {0x82, NonHandledInterrupt}, /* irq10 */
   {0x82, NonHandledInterrupt}, /* irq11 */
   {0x82, NonHandledInterrupt}, /* irq12 */
   {0x82, NonHandledInterrupt}, /* irq13 */
   {0x82, NonHandledInterrupt}, /* irq14 */
   {0x82, NonHandledInterrupt}, /* irq15 */
   {0x82, NonHandledInterrupt}, /* irq16 */
   {0x82, NonHandledInterrupt}, /* irq17 */
   {0x82, NonHandledInterrupt}, /* irq18 */
   {0x82, NonHandledInterrupt}, /* irq19 */
   {0x82, NonHandledInterrupt}, /* irq20 */
   {0x82, NonHandledInterrupt}, /* irq21 */
   {0x82, NonHandledInterrupt}, /* irq22 */
   //{0x82, NonHandledInterrupt}, /* irq23 */
   {0x82, TIM4_IRQ_handler}, /* irq23 - tim4*/
   {0x82, NonHandledInterrupt}, /* irq24 */
   {0x82, NonHandledInterrupt}, /* irq25 */
   {0x82, NonHandledInterrupt}, /* irq26 */
   {0x82, NonHandledInterrupt}, /* irq27 */
   {0x82, NonHandledInterrupt}, /* irq28 */
   {0x82, NonHandledInterrupt}, /* irq29 */
};



main.c
Спойлер
Код:
/* MAIN.C file
 *
 * Copyright (c) 2002-2005 STMicroelectronics
 */
 
 #include <iostm8s105.h>
 
unsigned int i;

@far @interrupt void TIM4_IRQ_handler(void)
{
   TIM4_SR=~TIM4_SR;
   if (PD_ODR == 0)
      PD_ODR = 0xFF;
   else PD_ODR = 0x00;   
   TIM4_SR = 0x00;
   return;
}

main()
{
   PD_DDR = 0xff; //all line for out
  PD_CR1 = 0x01;
  PD_CR2 = 0x01;
  PD_ODR = 0x00;
   
   //********************TIM4- init**********************
   //TIM4 control register
   //ARPE - Autoreload preload register 0
   //reserved
   //reserved
   //reserved
   //OPM  - One pulse mode              0
   //URS  - Update request Source       1
   //UDIS - Update disable              0
   //CEN  - Counter enabled             1
   TIM4_CR1 = 0x05;
   //TIM4_IER interrupt enable register
   //reserved
   //reserved
   //reserved
   //reserved
   //reserved
   //reserved
   //reserved
   //UIE - update interrupt enable
   TIM4_IER = 0x01;
   
   //clear counter register
   TIM4_CNTR = 0x00;
   //TIM4_PSCR - prescaler register
   //reserved
   //reserved
   //reserved
   //reserved
   //reserved
   //PSC2
   //PSC1
   //PSC0
   TIM4_PSCR = 0x00; //no prescaling
   //TIM4_ARR - autoreload register
   TIM4_ARR = 0x15;
   //clear interrupt flag
   TIM4_SR = 0;
   
   
   while (1)
   {
         i = 0xFFFF;
      
while(i) {
          i--;};
         //PD_ODR = 0x00;
   //   i = 0xFFFF;   
   //while(i) {i--;};   
   //      PD_ODR = 0xFF;
     };
}

_________________
Купи два беляша и собери из них кошку
Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)
Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн апр 14, 2014 08:02:26 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
может надо добавить (interrupt_handler_t), так работало:
Код:
.....
   {0x82, NonHandledInterrupt}, /* irq12 */
   {0x82, (interrupt_handler_t)TIM2_UPD}, /* irq13 */
   {0x82, NonHandledInterrupt}, /* irq14 */
.....


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн апр 14, 2014 21:32:31 
Грызет канифоль
Аватар пользователя

Карма: 6
Рейтинг сообщений: 9
Зарегистрирован: Пт сен 23, 2011 06:44:41
Сообщений: 258
Откуда: ЮФО
Рейтинг сообщения: 0
Неа, не пашет.
Уже задолбался. Может еще что то в проекте ставить нужно для разрешения прерываний?

_________________
Купи два беляша и собери из них кошку
Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)
Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн апр 14, 2014 22:12:50 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
А пошаговая отладка что показывает? Адрес обработчика точно прописан в таблице векторов? Кажется мне что где-то промахнулся с адресами и векторами, и последующая перезагрузка говорит именно об этом.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн апр 14, 2014 22:27:19 
Грызет канифоль
Аватар пользователя

Карма: 6
Рейтинг сообщений: 9
Зарегистрирован: Пт сен 23, 2011 06:44:41
Сообщений: 258
Откуда: ЮФО
Рейтинг сообщения: 0
как то так
Изображение


Вложения:
stm_vect.jpg [241.77 KiB]
Скачиваний: 1224

_________________
Купи два беляша и собери из них кошку
Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)
Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн апр 14, 2014 23:45:16 
Грызет канифоль
Аватар пользователя

Карма: 6
Рейтинг сообщений: 9
Зарегистрирован: Пт сен 23, 2011 06:44:41
Сообщений: 258
Откуда: ЮФО
Рейтинг сообщения: 0
Все, победил. Думаю же должно же быть еще что то вроде #asm sei :)
#asm
rim
#endasm

_________________
Купи два беляша и собери из них кошку
Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)
Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт апр 15, 2014 21:04:02 
Опытный кот

Карма: 16
Рейтинг сообщений: 177
Зарегистрирован: Сб апр 14, 2012 16:11:35
Сообщений: 718
Рейтинг сообщения: 0
Я как-то напоролся на интересный момент при инициализации прерываний.
Сейчас рабочий фрагмент кода в main такой (IAR):
Код:
...
init_lcd();
init_irq();

__enable_interrupt();
...

Но когда размещал __enable_interrupt(); в конце init_irq();, что в принципе логично, то прерывания не включались.
Чудеса.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт апр 15, 2014 23:41:59 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Вероятно, никаких чудес. Перед инициализацией прерываний вероятно сохраняется состояние прерываний и прерывания принудительно гасятся чтобы во время настройки ничто не помешало даже если вызвать процедуру посреди работающего кода, а перед выходом состояние восстанавливается в том виде как было на входе - т.е. прерывания запрещены. Попробуйте пройтись отладчиком внимательно наблюдая за признаком разрешения прерываний.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Ср апр 16, 2014 01:23:49 
Опытный кот

Карма: 3
Рейтинг сообщений: -47
Зарегистрирован: Пт авг 12, 2011 09:14:27
Сообщений: 833
Откуда: Млечный путь/Земля/РФ/Екатеринбург
Рейтинг сообщения: 0
а есть компилер C для stm8? *ну вы поняли*
хочу несколько проектов сравнить скорость/размер на AVR8/STM8

а то assembler навивает грусть-тоску

_________________
Разработал:
-BLDC
-ФУОЗ/МПСЗ
-SMART BMS
-ECU/EDC на STM32F4(43%)+CPLD(57%)
-Моноинжектор на ATSAMD20G16
-контроллер эффектов для RGB LED ленты
-умные часы/обратный счет/секундомер
-устройство измерения емкости АКБ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Ср апр 16, 2014 07:48:21 
Грызет канифоль
Аватар пользователя

Карма: 6
Рейтинг сообщений: 9
Зарегистрирован: Пт сен 23, 2011 06:44:41
Сообщений: 258
Откуда: ЮФО
Рейтинг сообщения: 0
Ну Cosmic и кто то уже даже сравнивал, по моему на easyelectronix

_________________
Купи два беляша и собери из них кошку
Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)
Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Ср апр 16, 2014 11:50:46 
Опытный кот

Карма: 3
Рейтинг сообщений: -47
Зарегистрирован: Пт авг 12, 2011 09:14:27
Сообщений: 833
Откуда: Млечный путь/Земля/РФ/Екатеринбург
Рейтинг сообщения: 0
лучше ссылку на сравнение.

Я в инетах видал примерно такое:
АВР 350 Дмипс
СТМ 439 Дмипс

Но дристоны от жизни сильно оторваны )

_________________
Разработал:
-BLDC
-ФУОЗ/МПСЗ
-SMART BMS
-ECU/EDC на STM32F4(43%)+CPLD(57%)
-Моноинжектор на ATSAMD20G16
-контроллер эффектов для RGB LED ленты
-умные часы/обратный счет/секундомер
-устройство измерения емкости АКБ


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2579 ]     ... , , , 16, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y