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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
axillent
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

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

Сообщение axillent »

Из IAR 3.2 если делаю очистку памяти (project/download/erase) на stm8s003/103f3 то взводится ROP
Который потом удаётся снять только в stvp
От чего так?
Реклама
axillent
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

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

Сообщение axillent »

а можно ли вывести два STM8 на один разъем SWIM при этом переключать или NRST или SWIM пин?
по идее что тот что тот если от одного МК отключить этот пин он не отреагирует на работу программатора
Реклама
Аватара пользователя
alex38779
Потрогал лапой паяльник
Сообщения: 386
Зарегистрирован: Чт окт 31, 2013 10:54:32
Контактная информация:

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

Сообщение alex38779 »

Всем привет!

Столкнулся с проблемой при работе stm8s003 с eeprom 24с02 по i2c

I2C настроен верно. Я отправляю старт и адрес устройства, устройство прижимает линию - появляется сигнал АСК. На 24c02 для теста перекидываю А0-А1 на другое состояние - уже NAK. Т.е. эта часть работает верно.

Далее хочу записать в 24c02 какие данные - тут тишина. После приема адреса, идет сразу стоп и все.. Натолкните на мысли что не так.

Код:
Спойлерvoid IC_EEPROM(void)
{
uint32_t status = 0;

/*Формируем старт*/
while(!(I2C->SR3 & I2C_SR3_BUSY))
I2C->CR2 |= I2C_CR2_START;

/*EV5 - шлем адрес устройства*/
while(!(I2C->SR1 & I2C_SR1_SB))
//a1 - 10100001 - чтение
//a0 - 10100000 - запись
I2C->DR = 0xa0;

/*EV6*/
while(!(I2C->SR1 & I2C_SR1_ADDR))
/*Очищаем*/
status = I2C->SR3;
I2C->SR3;

/*Шлем адрес для записи*/
while(!(I2C->SR1 & I2C_SR1_TXE))
I2C->DR = 0x01;

/*Данные для записи*/
while(!(I2C->SR1 & I2C_SR1_TXE))
I2C->DR = 0x01;

/*Формируем стоп*/
while(!((I2C->SR1 & I2C_SR1_TXE) && (I2C->SR1 & I2C_SR1_BTF)))
I2C->CR2 |= I2C_CR2_STOP ;
}
Изображение с лог анализатора
СпойлерИзображение
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

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

Сообщение Z_h_e »

EV6:ADDR=1, cleared by reading SR1 register followed by reading SR3.
А вы два раза читаете sr3, может в этом дело?
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
alex38779
Потрогал лапой паяльник
Сообщения: 386
Зарегистрирован: Чт окт 31, 2013 10:54:32
Контактная информация:

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

Сообщение alex38779 »

[uquote="Z_h_e",url="/forum/viewtopic.php?p=3398431#p3398431"]
EV6:ADDR=1, cleared by reading SR1 register followed by reading SR3.
А вы два раза читаете sr3, может в этом дело?[/uquote]

Пробовал по разному. Все ровно результата ноль.
Реклама
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

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

Сообщение Z_h_e »

Я I2C на stm8 не юзал, вообще как то не люблю I2C.
Due to timing constraints, when in standard mode if CCR is less than 9 (i.e. with peripheral clock below 2 MHz) with
f
MASTER = fCPUand the event interrupt disabled, the following procedure must be followed: 
modify the reset sequence in order to insert at least 5 cycles between each operations in the flag clearing sequence. For
example, when fMASTER = fCPU= 1 MHz, use the following sequence to poll the SB bit:
_label_wait: BTJF I2C_SR1,SB,_label_wait 
NOP ;
NOP;
NOP ; 
NOP
NOP 
LD I2C_DR, A ; once executed, the SB bit is then cleared.
Для пробы, может поставить тупые паузы между каждым EVn?
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

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

Сообщение a5021 »

Об этом много уже говорилось, что I2C Master у STM8 весьма крив и без принятия особых мер не работает. Можно почитать эррату производителя, а лучше сразу поискать работающие примеры в сети.
Аватара пользователя
Psych
Опытный кот
Сообщения: 848
Зарегистрирован: Ср мар 02, 2011 07:47:39
Откуда: Уфа

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

Сообщение Psych »

[uquote="alex38779",url="/forum/viewtopic.php?p=3398052#p3398052"]Далее хочу записать в 24c02 какие данные - тут тишина. После приема адреса, идет сразу стоп и все.. Натолкните на мысли что не так.[/uquote]
Непонятно. В какой момент идет. Вы что-то в пзушку записали, а теперь пытаетесь там прочесть и.... фиг там??? Или в момент записи в пзу внезапно стоп??
Запись в стм в принципе проблем никаких. А вот чтение это полная жопа.
Аватара пользователя
alex38779
Потрогал лапой паяльник
Сообщения: 386
Зарегистрирован: Чт окт 31, 2013 10:54:32
Контактная информация:

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

Сообщение alex38779 »

Всем привет.

Не могу понять как затактировать, на stm8, какой таймер от 32768Гц что бы считать время, без использования RTC. При этом мне надо что бы остальная перефирия работала на другой частоте.

Можно ли это как то реализовать или я нафантазировал?
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

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

Сообщение Z_h_e »

Таймер 1 имеет отличный предделитель. Ну или я вопрос не понял.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

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

Сообщение a5021 »

[uquote="alex38779",url="/forum/viewtopic.php?p=3408914#p3408914"]Не могу понять как затактировать, на stm8, какой таймер от 32768Гц что бы считать время, без использования RTC. При этом мне надо что бы остальная перефирия работала на другой частоте.[/uquote]
Таймеры у STM8S тактируются от MASTERCLOCK и я не припоминаю способа, чтобы это можно было как-то изменить. Другой вариант, что я возможно ничего не знаю о конкретной модели STM8, которую вы имеете ввиду.
Аватара пользователя
Alexey_N
Сверлит текстолит когтями
Сообщения: 1273
Зарегистрирован: Вт фев 01, 2011 17:56:40
Откуда: г. Жуковка, Брянская обл.

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

Сообщение Alexey_N »

Приветствую. Изучаю STM8 в лице STM8L152C6T6. Не могу определить программатором STVD + ST-LINK V2 контроллер. Подключил по минимуму: выв. 2 - NRST, выв. 1 - SWIM. выв. 9,40 - GND, выв. 10,39 - 3,3В. Еще резистор 10к от NRST на 3,3В. Ни в какую не читается. Что странно - NRST вроде подтянут на +, а на нем 0 даже если отключить от ST-LINK.
Индукционный нагреватель - 20% (наладка). TIG сварка - 10% (детальки)
ВЧ генератор 150МГц - 80% (наладка). Мостовой ИИП - 40% (подкл. ОС).
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

Alexey_N, если это оригинал стлинк, а не клон, потрудитесь подать питание на вывод стлинк Vtarget .
Так же запитаны должны быть все пины питания в том числе и аналоговые - VDDA.
Потдяжка NRST чушт полная.
Последний раз редактировалось dosikus Ср июл 04, 2018 20:24:39, всего редактировалось 2 раза.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

Конденсатор к МК подключили?
Аватара пользователя
Alexey_N
Сверлит текстолит когтями
Сообщения: 1273
Зарегистрирован: Вт фев 01, 2011 17:56:40
Откуда: г. Жуковка, Брянская обл.

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

Сообщение Alexey_N »

2 dosikus
Клон конечно :) Аналоговые я не запитывал то ....
2 Мурик
А куда?
Индукционный нагреватель - 20% (наладка). TIG сварка - 10% (детальки)
ВЧ генератор 150МГц - 80% (наладка). Мостовой ИИП - 40% (подкл. ОС).
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

А аналоговые питают домен ресета.
Вы уникум..

Попробуйте начать читать окументацию, и в первую очередь выкачайте Квик старт с стм 8L ...
Аватара пользователя
Alexey_N
Сверлит текстолит когтями
Сообщения: 1273
Зарегистрирован: Вт фев 01, 2011 17:56:40
Откуда: г. Жуковка, Брянская обл.

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

Сообщение Alexey_N »

О, вроде ожил! пишет что контроллер защищен, значит читает.

2 dosikus
Так с платами китайскими в основном дело имел, а тут просто контроллер голый :)
Почитаю конечно) Надо разобраться.
Благодарю!
Индукционный нагреватель - 20% (наладка). TIG сварка - 10% (детальки)
ВЧ генератор 150МГц - 80% (наладка). Мостовой ИИП - 40% (подкл. ОС).
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

Alexey_N, да и -лучше осваивайте стм32. Серия F0 лучшая замена 8ми биткам. Стм8 начинает отмирать...
RingQ
Родился
Сообщения: 12
Зарегистрирован: Ср окт 14, 2015 12:16:40

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

Сообщение RingQ »

STM8 был интересен только своей ценой, а раз цены выросли на stm8 про них можно забыть в пользу STM32 F0 и USB на STM32F030 работает куда лучше чем на STM8
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

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

Сообщение a5021 »

По непонятной причине даже при покупке сотнями на али, цена на STM32 ниже, чем на STM8. STM32F030F4P6 выходят по 26 руб за корпус, а STM8S003F3P6 по 36 руб. Что за чудеса ценообразования, не очень понятно.
Ответить

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