Например TDA7294

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

Текущее время: Вт авг 05, 2025 18:33:35

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


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



Начать новую тему Ответить на тему  [ Сообщений: 2563 ]     ... , , , 64, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт мар 18, 2016 07:30:49 
Электрический кот

Карма: 13
Рейтинг сообщений: 139
Зарегистрирован: Вс сен 25, 2011 19:09:33
Сообщений: 1040
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
Буду признателен за примеры кода по работе на stm8s103f3 с uart, bmp085, dht22, ADC


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт мар 18, 2016 09:27:40 
Первый раз сказал Мяу!

Зарегистрирован: Пн май 02, 2011 20:17:19
Сообщений: 36
Откуда: Средняя Волга
Рейтинг сообщения: 0
oleg110592 писал(а):
Похоже, с выходом новых микроконтроллеров, наконец таки прошло время создавать конструкции "стоя и в гамаке"...

Хорошо что еще остались такие увлеченные и активные люди :)) Значит еще не все потеряно. Вот еще бы с таким же энтузиазмом не буржуйские изделия осваивали а свои собственные. А то "завтра" отключат буржуляндию и....... Но своих собственных или нет или все для войны и для победы, правда над кем не понятно :dont_know: Всем позитива. И если у вас что-то получается с STM8-32-... выкладывайте примеры, найденные грабли и тд. Просвещайте народ так сказать. Глядишь и народ потянется, вырастет количество примеров и конструкций, а то и ранее и сейчас с этим на STM-ах напряженка.


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

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
На примере темы тутошной AVR видно что выкладывание примеров, видеоуроков, писание книжек, плюс глубокомысленные изречения местных гуру до добра не доведут, до цугундера точно доведут :) . Уж лучше даташит, да его вечный спутник референс мануал, чтоб не растекаться мыслью по древу...

Код для работы TIM1 в качестве энкодера вначале, чтоб не изобретать велосипед, поискал готовый и нашел у японца:
http://stm8sdatasheet.web.fc2.com/STVD- ... CODER.html
там еще и uart задействован...
Но этот код с использованием SPL, выдрал из ненужной мне SPL кода работу напрямую с регистрами, кому надо тоже может проделать - хорошая разминка для мозгов, заодно и документация лучше осваяется.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн мар 21, 2016 10:21:53 
Электрический кот

Карма: 13
Рейтинг сообщений: 139
Зарегистрирован: Вс сен 25, 2011 19:09:33
Сообщений: 1040
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
помогите с сайтом st разобраться
вот открываю страничку с пакетом примеров https://my2.st.com/content/my_st_com/en ... are-scroll
там есть раздел GET SOFTWARE
по логике там должна быть возможность загрузить примеры
но у меня нет никаких линков

что я делаю не так?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 24, 2016 08:31:14 
Электрический кот

Карма: 13
Рейтинг сообщений: 139
Зарегистрирован: Вс сен 25, 2011 19:09:33
Сообщений: 1040
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
получилось скачать

вопрос
у STM8S есть машинные команды для арифметических операций с 2х и 4х байтными значениями?
спрашиваю чтобы понять - порядок байт big indian в IAR это особенность компилятора IAR или особенность именно микроконтроллера

В документации IAR написано, что порядок байт можно поменять использую #pragma
однако если это сделать в простой программе то она перестает работать


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

Карма: 16
Рейтинг сообщений: 198
Зарегистрирован: Вс дек 02, 2012 16:58:33
Сообщений: 923
Откуда: от туда
Рейтинг сообщения: 0
У STM8S порядок байтов big endian и ИМХО не изменяется. Команды сложения и вычитания двухбайтовых чисел точно есть. Также есть команда умножения однобайтовых чисел с двухбайтовым результатом.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 24, 2016 12:14:26 
Электрический кот

Карма: 13
Рейтинг сообщений: 139
Зарегистрирован: Вс сен 25, 2011 19:09:33
Сообщений: 1040
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
спасибо
значит использование pragma в IAR для изменения порядка ни к чему хорошему не приведет и буду тогда ручками при приеме.передачи переворачивать

еще вопрос
как указать компилятору, чтобы он константы не пихал в RAM?
или достаточно указать const?

чтобы поместил в eeprom надо писать атрибут?
типа так?
Код:
__eeprom int a;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 24, 2016 13:05:23 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
const да
еепром имхо так удобнее:
viewtopic.php?p=2691126#p2691126


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 24, 2016 13:47:31 
Электрический кот

Карма: 13
Рейтинг сообщений: 139
Зарегистрирован: Вс сен 25, 2011 19:09:33
Сообщений: 1040
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
Спасибо! Заработало
У меня правда не SPL, поэтому немного переписал:
Код:
         FLASH_DUKR = 0xAE;
         FLASH_DUKR = 0x56;
         while (!FLASH_IAPSR_DUL);
         photo.max = max;
         //while (!FLASH_IAPSR_EOP);
         FLASH_IAPSR_DUL = 0; //EEPROM lock

а флаг EOP не нужно проверять? Он у меня почему-то остается в нуле

если я правильно понял то использование __eeprom сильно удобнее. Можно размещать много переменных и они автоматически разместятся в отличии от location который нужно руками контролировать
во вторых __eeprom позволяет инициализировать переменные в eeprom.
в третьих (если верно понял) операция записи становится с точки зрения Си такой же точно как при работе с RAM

но вот только не могу найти описание. Линкер ругается на отсутствие опимсания трех спец функций которые нужно описать
документация отсылает к прототипам в файле stm8/src/lib/eeprom_util.c
у меня этого файла нет, в этой папке есть архив EWSTM8-library-source.exe
возможно файл в архиве, но архив запаролен

в поисковике ничего найти на этот счет не могу, похоже никто не разобрался как __eeprom использовать или я плохо искал?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 24, 2016 14:21:19 
Друг Кота

Карма: 20
Рейтинг сообщений: 223
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6443
Рейтинг сообщения: 0
axillent писал(а):
значит использование pragma в IAR для изменения порядка ни к чему хорошему не приведет и буду тогда ручками при приеме.передачи переворачивать

Интересно, а можно ли включить эту прагму локально, когда область ее действия будет ограничена, скажем, одним программным блоком? Получится таким образом раскладывать входящий поток двухбайтовых значений в правильном порядке? Например, вытаскивая калибровочные данные из того же BMP180, приходится вручную переставлять байты, а так бы это можно было свалить на компилятор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 24, 2016 15:21:51 
Вымогатель припоя
Аватар пользователя

Карма: -2
Рейтинг сообщений: -32
Зарегистрирован: Вс ноя 01, 2015 13:13:49
Сообщений: 616
Рейтинг сообщения: 0
axillent писал(а):
в поисковике ничего найти на этот счет не могу, похоже никто не разобрался как __eeprom использовать или я плохо искал?

Плохо искали. На казусе пару раз точно разжёвывали. Да и на изи вам уже ответили.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 24, 2016 15:23:09 
Вымогатель припоя
Аватар пользователя

Карма: -2
Рейтинг сообщений: -32
Зарегистрирован: Вс ноя 01, 2015 13:13:49
Сообщений: 616
Рейтинг сообщения: 0
a5021 писал(а):
Интересно, а можно ли включить эту прагму локально, когда область ее действия будет ограничена, скажем, одним программным блоком?

Можно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 24, 2016 15:37:33 
Друг Кота

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 24, 2016 16:04:30 
Электрический кот

Карма: 13
Рейтинг сообщений: 139
Зарегистрирован: Вс сен 25, 2011 19:09:33
Сообщений: 1040
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
Для bmp180 это не особо то и нужно, там вме равно логика расчета по байтам
Если конечно там так же как с bmp085
С bmp085 у меня проблем не возникло


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 24, 2016 16:30:34 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
axillent писал(а):
У меня правда не SPL...

нету там SPL - просто хидер не иаровский а от производителя - "stm8s.h", мне он кажется удобнее. Тут уже была полемика про иаровские хидеры - но микроэлектронный мир оказывается вовсю избавляется от такого подхода в названиях регистров и битов:
http://processors.wiki.ti.com/index.php ... SP432CMSIS


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 24, 2016 16:33:58 
Друг Кота

Карма: 20
Рейтинг сообщений: 223
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6443
Рейтинг сообщения: 0
axillent писал(а):
Для bmp180 это не особо то и нужно, там вме равно логика расчета по байтам
Если конечно там так же как с bmp085
С bmp085 у меня проблем не возникло

В EEPROM-е BMP085/BMP180 одиннадцать двухбайтовых констант (знаковое и беззнаковое целое, а никакие не байты), где порядок следования младших и старших половинок обратный, если сравнивать его с порядком следования байт в МК. Есть тут проблема или нет -- вопрос другой, но вытянув эти значения из датчика, байты приходится менять местами вручную. Если заюзать на этом участке кода соответствующую прагму, то можно попробовать спихнуть это занятие на компилятор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 24, 2016 17:15:00 
Электрический кот

Карма: 13
Рейтинг сообщений: 139
Зарегистрирован: Вс сен 25, 2011 19:09:33
Сообщений: 1040
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
a5021 писал(а):
В EEPROM-е BMP085/BMP180 одиннадцать двухбайтовых констант


в моей библиотеке одна функция по чтению двухбайтного числа, логика вся там в одном месте
обмен по I2C все равно байтами, а уж в каком порядке байты укладывать без разницы - их по любому укладывать
в этой части мне даже не пришлось переделывать код после AVR, хоть там и порядок другой
конструкции типа ниже работают в любом случае верно:
Код:
word = b0 | (b1 << 8);


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 24, 2016 17:19:18 
Электрический кот

Карма: 13
Рейтинг сообщений: 139
Зарегистрирован: Вс сен 25, 2011 19:09:33
Сообщений: 1040
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
oleg110592 писал(а):
нету там SPL - просто хидер не иаровский а от производителя - "stm8s.h", мне он кажется удобнее

понял
кстати выпрашиваемые мной прототипы такие:
Код:
int __eeprom_wait_for_last_operation(void);
void __eeprom_program_byte(unsigned char __near * dst, unsigned char v);
void __eeprom_program_long(unsigned char __near * dst, unsigned long v);

если эти функции описать то работать с EEPROM в IAR становится поще некуда используя атрибут __eeprom


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

Карма: -2
Рейтинг сообщений: -32
Зарегистрирован: Вс ноя 01, 2015 13:13:49
Сообщений: 616
Рейтинг сообщения: 0
Сказано же было, поиском!
kazus.ru/forums/showthread.php?t=14204&page=37


Последний раз редактировалось scorpi_0n Чт мар 24, 2016 17:55:43, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт мар 24, 2016 17:55:31 
Электрический кот

Карма: 13
Рейтинг сообщений: 139
Зарегистрирован: Вс сен 25, 2011 19:09:33
Сообщений: 1040
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
scorpi_0n нервы берегите
в моем последнем сообщении нет вопросов


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

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


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

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


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

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


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