Например TDA7294

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

Текущее время: Вс дек 14, 2025 05:16:45

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


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



Начать новую тему Ответить на тему  [ Сообщений: 2585 ]     ... , , , 7, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 17, 2011 09:44:01 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22
Сообщений: 2401
Откуда: Россия, Волгоград
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
18.2 TIM2/TIM3 main features
TIM2/TIM3 features include:
● 16-bit up counting auto-reload counter.
● 4-bit programmable prescaler allowing the counter clock frequency to be divided “on
the fly” by any power of 2 from 1 to 32768.
● 3 independent channels for:
– Input capture
– Output compare
– PWM generation (edge-aligned mode)
– One pulse mode output
● Interrupt request generation on the following events:
– Update: counter overflow, counter initialization (by software)
– Input capture
– Output compare

что-то я не нашел здесь, что он может считать внешние импульсы.
может чего не догоняю - подскажите.

зы: по-ходу только TIM1 имеет счетный вход.

_________________
Чем дальше, тем больше становлюсь занудой...
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 17, 2011 10:26:17 
Родился

Зарегистрирован: Чт мар 17, 2011 07:38:54
Сообщений: 10
Рейтинг сообщения: 0
Цитата:
Capture/compare mode register 1 (TIM1_CCMR1)
и такой для любого канала, и можно настроить на вход и выход вроде как, вот только что то не получается.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 17, 2011 11:32:01 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22
Сообщений: 2401
Откуда: Россия, Волгоград
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
Capture/compare mode register 1 (TIM1_CCMR1)

Это несколько не то что тебе нужно.
CAPTURE - в регистр данных перепишется число из счетчика по приходу импульса на входную ногу.
COMPARE - при совпадении числа записанного в регистре и счетчике возникнет прерывание.
написал коряво :dont_know: , но смысл думаю понятен

_________________
Чем дальше, тем больше становлюсь занудой...
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 17, 2011 11:41:19 
Родился

Зарегистрирован: Чт мар 17, 2011 07:38:54
Сообщений: 10
Рейтинг сообщения: 0
Хммм тоже не плохо, можно будет считать время между событиями. Не уже ли нельзя организовать счетчик внешних событий, апаратный, чтоб сам считал а раз в секунду я смотрел сколько там набежало, число переписывал куда мне нужно и обнулял а он заново насчитывал бы.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 17, 2011 11:52:01 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22
Сообщений: 2401
Откуда: Россия, Волгоград
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
смотри RM0016 стр.137, это структура TIM1, обрати внимание на TIM1_ETR.
Сам я его не юзал :))) , не было необходимости, но по-моему это оно.

_________________
Чем дальше, тем больше становлюсь занудой...
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 17, 2011 12:05:33 
Родился

Зарегистрирован: Чт мар 17, 2011 07:38:54
Сообщений: 10
Рейтинг сообщения: 0
Его то я и шуршу, спасиб, буду смотреть. Печаль что у STM8S103 выхода TIM1_ETR то нет, только у 105го, ну все равно попробую. Просто програмно реализовывать не вариант при частоте событий в 2кГц он 12% в ремени будет считать, а прогу то кто за него будет делать. Если есть какие идеи по использованию другой периферии или другие хитрые идеи подсчета то с удовольствием расмотрю :) .


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 17, 2011 12:17:07 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22
Сообщений: 2401
Откуда: Россия, Волгоград
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Самое бональное решение - использовать внешнее прерывание на какой-нибудь ноге.
Считаешь приходящие импульсы, а с помощью таймера организуешь временное окно, и вот оно - счастье. :)))

_________________
Чем дальше, тем больше становлюсь занудой...
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 17, 2011 19:07:38 
Родился

Зарегистрирован: Чт мар 17, 2011 07:38:54
Сообщений: 10
Рейтинг сообщения: 0
Была идея такая, но боюсь что больно частый ухот на прерывание будет мешать выполнению остальной части программы, а хотелось бы чтоб он тихо сам считал и все, я бы только получал результаты счета когда это необходимо. Ну завтра попробую TIM1_ETR настроить но вот что со 103й делать потом пока не знаю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 17, 2011 19:33:31 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22
Сообщений: 2401
Откуда: Россия, Волгоград
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
mDI-WFG писал(а):
... больно частый ухот на прерывание ....

это при 2 кГц то :shock:
прерывание будет генерироваться 1 раз в 500мкс, что при 16 МГц тактовой - 8000 тактов!!!, это примерно 3000-5000 исполняемых машинных команд.

_________________
Чем дальше, тем больше становлюсь занудой...
Изображение


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

Зарегистрирован: Чт мар 17, 2011 07:38:54
Сообщений: 10
Рейтинг сообщения: 0
:)) на 3 порядка ошибся, виноват.

Еще один нубский вопрос, вот в IAR
Цитата:
__interrupt void TIM4_OVR_UIF(void)
прерывание от таймера так выглядит... внимание знатоки=)... как выглядит функция обработки прерывания от пина PD4?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт мар 18, 2011 15:50:19 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22
Сообщений: 2401
Откуда: Россия, Волгоград
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
mDI-WFG писал(а):
... как выглядит функция обработки прерывания от пина PD4?

как ты ее напишешь так и быдет выглядеть :)))

_________________
Чем дальше, тем больше становлюсь занудой...
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Сб мар 19, 2011 18:02:44 
Родился

Зарегистрирован: Чт мар 17, 2011 07:38:54
Сообщений: 10
Рейтинг сообщения: 0
я немного не про то=), ээто то ясно.
там пишется #pragma vector=TIM4_OVR_UIF_vector где TIM4_OVR_UIF_vector и есть номер вектора, но в iostm8s105c6.h для порта что то не нашел, а с даташитом как то не понятно там для порта PD написан номер 0х00 8030, странный какой то а у например таймера 4 0х19, ни чего вот и не могу понять. Прога есть моя, там по прерыванию светодиод мигает, как нажимаю на кнопку так он уходит в непонятную часть, так как флаг прерывания приходит а оно не описанно, так вот как его описать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт мар 22, 2011 01:09:11 
Держит паяльник хвостом
Аватар пользователя

Карма: 10
Рейтинг сообщений: 82
Зарегистрирован: Ср апр 16, 2008 13:22:54
Сообщений: 906
Откуда: Приднестровье, Тирасполь
Рейтинг сообщения: 0
Вот и у меня лыжи не едут в простейшей ситуации... Весь день бодаюсь с USART-ом. Начал с использования стандартной библиотеки, закончил ручной настройкой регистров. Результат один: на выводе USART_TX (PC5, STM8L DISCOVERY) всегда ноль и ничего не дрыгается :( Причем в RM0031 указано:
Цитата:
USART_TX is the serial data output. When the transmitter is disabled, the output pin returns
to its I/O port configuration. When the transmitter is enabled and nothing is to be
transmitted, the pin is at high level...

Т.е. дополнительно настривать gpio соответствующих лап не нужно... Или нужно?
Отладчиком (после передачи) вижу, что статусный регистр:
USART1_SR=0xC0
Что означает
Data is transferred to the shift register
и
Transmission is complete
USART_BRR1=0x03
USART_BRR2=0x04
Верно
USART_CR2=0x08
Значит
Transmitter is enabled
CLK_PCKENR1=0x20 - USART1 тактируется...

Но на выходе всегда ноль.. Уже руками подтяжку прописывал - тогда всегда единица...

Код:
Код:
#include "stm8l15x.h"

void main(void)
{
uint32_t i=0x0fff;
//Тактирование ядра 2Мгц:
 CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_8);
//Разрешаем тактирование USART:
CLK->PCKENR1 |= CLK_PCKENR1_USART1;
//Задаем скорость передачи 38400 (при 2Мгц):
USART1->BRR2 = 0x04;
USART1->BRR1 = 0x03;
//Включаем передатчик:
USART1->CR1 = 0;
USART1->CR3 = 0;
USART1->CR4 = 0;
USART1->CR5 = 0;
USART1->CR2 = USART_CR2_TEN;

  while (1)
  {
   USART1->DR = 0x38;
   while(!(USART1->SR & USART_SR_TC));
    //delay
    while(i)i--;
    i=0x0fff;
   }

}

Где грабли?..

_________________
Любой, заслуживающий внимания, опыт приобретается себе в убыток...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт мар 22, 2011 13:51:05 
Держит паяльник хвостом
Аватар пользователя

Карма: 10
Рейтинг сообщений: 82
Зарегистрирован: Ср апр 16, 2008 13:22:54
Сообщений: 906
Откуда: Приднестровье, Тирасполь
Рейтинг сообщения: 0
Грабли нашлись :)
Оказалось что пин не тот... PC3 нужен. А что тогда за USART1_TX на PC5?

_________________
Любой, заслуживающий внимания, опыт приобретается себе в убыток...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт мар 22, 2011 21:10:21 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Goodefine писал(а):
А что тогда за USART1_TX на PC5?


Читаем о Alternate function remapping . Подробно расписано в RM0031
11 Routing interface (RI) and system configuration
controller (SYSCFG)


Вкратце- один пин имеет несколько функций, а также выходы модулей могут быть на разные пины ...
PS Не пренебрегайте сносками...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт мар 22, 2011 21:21:08 
Держит паяльник хвостом
Аватар пользователя

Карма: 10
Рейтинг сообщений: 82
Зарегистрирован: Ср апр 16, 2008 13:22:54
Сообщений: 906
Откуда: Приднестровье, Тирасполь
Рейтинг сообщения: 0
dosikus писал(а):
Читаем о Alternate function remapping ...

Спасибо! Почитаю...

_________________
Любой, заслуживающий внимания, опыт приобретается себе в убыток...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт мар 22, 2011 21:31:34 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Ссылка на RM0031 http://www.st.com/internet/mcu/product/245495.jsp


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

Зарегистрирован: Чт мар 17, 2011 07:38:54
Сообщений: 10
Рейтинг сообщения: 0
Помогите плиз запустить аналогового сторожа. Вроде все настроил а на прерывание не уходит. Подаю сигнал на PD3/ADC_ETR
Цитата:
ADC_CSR_bit.EOC=1; //Полное преобразование
ADC_CSR_bit.AWD=1; //Включение слежения (Сам не пойму за чем следить и зачем)
ADC_CSR_bit.AWDIE=1; //Включение прерывания от AWD
ADC_CR1_bit.ADON=1; //Включение преоьразования
ADC_CR2_bit.EXTTRIG=1; //Включение срабатывания от внешнего события
ADC_CR2_bit.EXTSEL=1; //Внешнее событие ADC_ETR
ADC_HTRH=0x99; //Верхний предел срабатывания
ADC_HTRL=0x03;
ADC_LTRH=0x0C; //Нижний предел срабатывания
ADC_HTRL=0x02;

Подскажите где собака зарыта и что не так, может что то забыл или наоборот лишнего сделал? Даже как просто ацп не получаеться запустить.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт мар 25, 2011 20:48:45 
Мучитель микросхем

Карма: 4
Рейтинг сообщений: 9
Зарегистрирован: Пт июн 12, 2009 19:17:35
Сообщений: 487
Рейтинг сообщения: 0
Цитата:
Печаль что у STM8S103 выхода TIM1_ETR
угу, причем таких граблей разработчики STM8 набросали кучу. Напр. мин.нарпяжение 2.9В (от таблетки уже не запитать, могли бы и понизить на 0.2..0.3В), отсутствие компаратора, отсутствие входа счета таймера, неудачная разводка портов (разбросаны кусками, а не полные 8 бит) у STM8S103, у 8L101 - отсутствие АЦП, второго входа и выхода компаратора, кварцевого генератора также нет входа счета таймера (был бы отличный чип с такими параметрами).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Сб мар 26, 2011 07:19:18 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Сб июн 12, 2010 16:19:17
Сообщений: 190
Откуда: Россия, Томск
Рейтинг сообщения: 0
stm8s я сразу отложил, посмотри в сторону stm8l более поздняя версия мк и соотв очень много чего поменяли, в частности stm8l151k серия в паябельном корпусе.

_________________
С уважением, Денис Железняков aka ZiB
Мой блог: http://ziblog.ru


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

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


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

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


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

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


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