Например TDA7294

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



Текущее время: Чт сен 21, 2017 20:41:22



Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 1464 ]  На страницу Пред.  1 ... 67, 68, 69, 70, 71, 72, 73, 74  След.
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс дек 11, 2016 21:47:56 
Друг Кота

Карма: 34
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 5588
Рейтинг сообщения: 0
Так RM0016 же. Кой-какие нюансы по регистрам еще в даташите на сам камень могут быть.


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

Карма: 37
Зарегистрирован: Вс июл 26, 2009 12:27:59
Сообщений: 4310
Рейтинг сообщения: 0
Там что то совсем не густо, думал что где то есть подробнее, с примерами.

_________________
При ремонте девайса необходимо как можно тщательнее окуривать его клубами канифольного дыма, дабы изгнать демона неисправности.


Вернуться наверх
 Профиль  
 
От идеи до готового устройства! Нужен только EasyEDA!

Бесплатный инструмент для проектирования печатных плат - нарисуй свою плату прямо сейчас!

JLCPCB for PCB Prototyping, всего $2 за 10 печатных плат 10×10см. Доставка 2-3 дня.

LCSC Parts: Экономия до 50%, большой выбор компонентов в наличии, отправка заказа в день оплаты.

Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс дек 11, 2016 22:24:42 
Вымогатель припоя
Аватар пользователя

Карма: -3
Зарегистрирован: Вс ноя 01, 2015 14:13:49
Сообщений: 616
Рейтинг сообщения: 1
После кодинга СТМ32 это, как минимум, звучит странно. При полном непонимании можно брать сниппетсы от СТМ32Ф0, для понимания логики работы периферии, с учётом различия регистров конечно.


Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс дек 11, 2016 22:35:57 
Друг Кота

Карма: 34
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 5588
Рейтинг сообщения: 0
Некий набор примеров можно найти в "STM8S optimized examples package". Они, правда, уже довольно древние и могут иметь проблемы с компиляцией IAR-ом, но в целом по ним можно посмотреть, как управляться с периферией без SPL.


Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс дек 11, 2016 23:55:48 
Вымогатель припоя
Аватар пользователя

Карма: 22
Зарегистрирован: Чт окт 06, 2016 22:12:07
Сообщений: 606
Откуда: Южное Бутово
Рейтинг сообщения: 3
Chettuser писал(а):
Ткните носом в документ с описанием регистров STM8?

Если без примеров, то только в Reference Manual (RM0016). Но без примеров очень тяжело, почему я и использую SPL в качестве документации, о чем и писал выше.

_________________
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн дек 12, 2016 09:44:47 
Собутыльник Кота
Аватар пользователя

Карма: 25
Зарегистрирован: Сб сен 10, 2011 18:46:25
Сообщений: 2565
Рейтинг сообщения: 1
ptr128 писал(а):
Есть еще кто, столь же уверенный, что это не бага в SPL? :)))

на всякий проверил на большом брате (TDM-GCC-32):

результат:
TIM2->SR2 = 0xFF
TIM2->SR2 = 0xFB


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн дек 12, 2016 23:16:26 
Друг Кота

Карма: 34
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 5588
Рейтинг сообщения: 4
Сравнение компиляторов для STM8: A comparison of C compilers targeting the STM8.

Скорость выполнения (больше лучше):

Изображение

Размер кода (меньше лучше):

Изображение


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт дек 13, 2016 00:17:44 
Вымогатель припоя
Аватар пользователя

Карма: 22
Зарегистрирован: Чт окт 06, 2016 22:12:07
Сообщений: 606
Откуда: Южное Бутово
Рейтинг сообщения: 3
Все течет, все изменяется:
Изображение
https://community.st.com/thread/8847

_________________
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт дек 13, 2016 00:47:36 
Вымогатель припоя
Аватар пользователя

Карма: -3
Зарегистрирован: Вс ноя 01, 2015 14:13:49
Сообщений: 616
Рейтинг сообщения: 0
То что ИАР один из лучших для СТМ8 почему-то и не удивляет. Об этом уже писано переписано. Тем более что у иаровцев еще есть над чем работать в плане оптимизации.


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

Карма: 10
Зарегистрирован: Пн июл 28, 2008 23:12:01
Сообщений: 2488
Рейтинг сообщения: 0
scorpi_0n писал(а):
Тем более что у иаровцев еще есть над чем работать в плане оптимизации.

А так же любителям асма будет интересно знать ,что инлайн асм у IAR никакой...


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

Зарегистрирован: Ср окт 14, 2015 13:16:40
Сообщений: 10
Рейтинг сообщения: 0
Вчера решил попробовать программный USB на stm8s103f3p примеры нашел самодвигающейся мыши. сколько не пытался девайс прошитый даже не опознается сниффером. pc6 D-/pc7 D+. Кто-нибудь пробовал эти примеры какие выложены в сети товарища Железнякова?


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Ср фев 01, 2017 13:39:03 
Родился

Зарегистрирован: Пн июл 20, 2015 11:40:55
Сообщений: 1
Рейтинг сообщения: 0
Всем доброго времени суток. Вот начал постигать тайны микроконтроллеров. Приобрел себе STM8S-DISCOVERY. По интернет урокам, статейкам, гайдам сумел засветить светодиод и заставить его мигать. Дальше захотел сделать, что бы он светился при нажатии кнопки. И тут я застрял. Она сенсорная и никак не могу понять, как она общается с МК. Уже 4й день роюсь в инетах в поисках решения. Пролистал ПДФки с оф. сайта, форумы, но без примера не пойму. Работаю в IAR, язык С. Прошу помочь в этом деле. Было бы хорошо увидеть пример кода с комментариями :)


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт фев 02, 2017 00:33:39 
Опытный кот
Аватар пользователя

Карма: 7
Зарегистрирован: Ср фев 22, 2012 02:25:21
Сообщений: 873
Рейтинг сообщения: 0
Привет.
Написал свой нехилый криптозагрузчик, потратил кучу времени, и в конце с ужасом обнаружил, что таблица прерываний не передвигается..... я то думал что с помощью служебных регистров она как то привязывается, т.е. работает загрузчик - работает основная таблица, загрузилась прошивка - активировал работу с другой таблицей... Оказалось нет, она всегда расположена в начале FLASH...
Даже не знаю теперь что делать...

1 - если бы в моем буте прерываний не использовалось, можно было бы сразу там указать адреса нового места... Но у меня загрузчик использует несколько прерываний, т.е просто так туда не впишешь перенаправления на таблицу прерываний пользовательской прошивки...

2 - переносить загрузчик вверх тоже не хочу, т.к. хочу использовать защиту от записи загрузочной области...

3 - Как думаете, как быть???


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Сб фев 04, 2017 15:59:20 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пт окт 03, 2014 15:50:06
Сообщений: 101
Рейтинг сообщения: 0
aerokostia писал(а):
И тут я застрял. Она сенсорная и никак не могу понять, как она общается с МК.
Она работает так же, как и любая другая кнопка. Меняет логический уровень на пине - высокий (лог.1) или низкий (лог.0). Нужно просто считать уровень на пине микроконтроллера.


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

Карма: 21
Зарегистрирован: Сб май 14, 2011 22:16:04
Сообщений: 1903
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
МК ST8S103F3.

Пробую запустить какой-нибудь PWM на таймере 1, канал 4. Или хотя бы вообще что-нибудь запустить на Т1.

Вот один из вариантов кода. Среда IAR для STM8. То что строки закомментированы, не обращайте внимание. Просто пробовал разные варианты и с копипастил из кода текущую.


ШИМ не работает. Больше всего смущает что не только ШИМ не работает, а что не меняется коэффициенты деления и счетчик считает всегда до "верха" (хотя в регистры PSCR и ARR все пишется) . Специально включил прерывание по переполнению чтобы там дергать ногой, чтобы отследить изменения частоты. Все время частота одна, не важно какой предделитель и какой ARR.

С таймером 2 ШИМ не пробовал, но предделитель работает и ARR тоже. Что-то у меня похоже лыжи не едут с TIM1.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт фев 16, 2017 13:38:20 
Собутыльник Кота
Аватар пользователя

Карма: 25
Зарегистрирован: Сб сен 10, 2011 18:46:25
Сообщений: 2565
Рейтинг сообщения: 0
Цитата:
//TIM1_ARRL=(255)&0x00FF; //считать будем максимум до тысячи
//TIM1_ARRH=(255)>>8;
....

Регистры вроде 8-мибитные?
Может пригодится настройка шим для 1 канала для S003, там еще альтернативную функцию надо было включить для PC3 в OPTION BYTE
Код:
void TIM1_init(void) // Настройка таймера 1
{
//PWM output signal frequency = TIM1 counter clock/(TIM1_ARR + 1)
//Channel x duty cycle = [TIM1_CCRxx/(TIM1_ARR + 1)] * 100 
    TIM1->PSCRH = 0x00;
    TIM1->PSCRL = 0x00;
    TIM1->ARRH = 0x0F;
    TIM1->ARRL = 0x9F;
    TIM1->CCMR1 |= (uint8_t)0x60; //110: PWM mode 1 - In up-counting, channel 1 is active as long as TIM1_CNT < TIM1_CCR1,
    TIM1->CCER1 |= TIM1_CCER1_CC1E; //CH1 compare Enable
    TIM1->CCR1H = 0x07;
    TIM1->CCR1L = 0xD0;
    TIM1->CR1 |= TIM1_CR1_CEN; 
    TIM1->BKR |= TIM1_BKR_MOE; // OC and OCN outputs are enabled if their respective enable bits are set (CC/E in Tim1_CCERi)   
}


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт фев 16, 2017 15:35:00 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 21
Зарегистрирован: Сб май 14, 2011 22:16:04
Сообщений: 1903
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
oleg110592 писал(а):
Регистры вроде 8-мибитные?
Да там раньше другие числа стояли, значительно больше 255, расчетные. Это сейчас всякие пробыне варианты, не думал что застряну в лыжах на асфальте на таком вопросе.

В оптион байтах вроде только ремапятся альтернативные функции. Да бог с ними, сам таймер то как то криво работает, частота не делится не растет кокос и не ограничивается верх счета. И другого МК нет затестить.

Добавлено after 1 hour 25 minutes 18 seconds:
Завел я и таймер 1 и PWM. Глючил и я и IAR. Ошибка была в том, что я записывал "16 битные" регистры ногами младшим вперед. А IAR скотина такая, почему то в железной отладке отображал значения регистров верно . Кроме того, поменяв местами старший со младшим байты при записи эффекта никакого не давало. Ладно поглядел дизассемблер, компилятор насрал на то что я поменял местами регистры, и записывал в том же неправильном порядке, пока я проект не очистил. Видать такая оптимизация.

В общем как всегда, затык из-за какой-то "мелочи".

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт фев 16, 2017 15:46:30 
При использовании таймеров в режиме PWM в STM8 порты не нужно настраивать. В примерах STDPL есть.



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


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт фев 16, 2017 16:43:26 
Собутыльник Кота
Аватар пользователя

Карма: 25
Зарегистрирован: Сб сен 10, 2011 18:46:25
Сообщений: 2565
Рейтинг сообщения: 0
в примерах паранойя приведения типов, может не зря:
Код:
...
      /* Set the Prescaler value */
    TIM2->PSCR = (uint8_t)(0);
    /* Set the Autoreload value */
    TIM2->ARRH = (uint8_t)(0);
    TIM2->ARRL = (uint8_t)(0xFF);
    /* Reset the Output Compare Bits  & Set the Ouput Compare Mode */
    TIM2->CCMR1 = (uint8_t)((uint8_t)(TIM2->CCMR1 & (uint8_t)(~TIM2_CCMR_OCM)) |
                            (uint8_t)TIM2_OCMODE_PWM1);
...


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

Карма: 1
Зарегистрирован: Вт ноя 02, 2010 21:21:53
Сообщений: 18
Рейтинг сообщения: 0
Немогу найти примеров перевода МК в режим сна(halt mode). МК - stm8s103. Может кто подскажет?


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1464 ]  На страницу Пред.  1 ... 67, 68, 69, 70, 71, 72, 73, 74  След.



Часовой пояс: UTC + 3 часа [ Летнее время ]


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

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


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

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


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