Например TDA7294

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





Текущее время: Вт апр 16, 2024 09:33:33

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


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



Начать новую тему Ответить на тему  [ Сообщений: 66 ]  1, , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Ср авг 10, 2022 16:03:25 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Сразу признаюсь, что очень давно не писал на Си для МК и уже много забыл.
Ткните носом, кому не лень.

Вот есть у СТМ8 файл iostm8l001j3.h, который подключил вначале программы. Однако, в нем есть описания всех регистров и их битов.
Но запись в виде:
PB_DDR_bit.DDR6 = 1;
меня не устраивает.

Можно ли как-то правильно это поменять, чтобы писать что-то вроде:
GPIOB->CRH &= ~(GPIO_CRH_MODE12 | GPIO_CRH_CNF12);
?

Хочу, чтобы все было одинаково с СТМ32... :dont_know: :oops:

Добавлено after 1 minute 11 seconds:
Честно... опять забыл все про структуры... ( Вот они тжело мне даются.

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Ср авг 10, 2022 16:44:33 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 160
Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848
Рейтинг сообщения: 3
Если освежите в памяти, что такое "указатель на структуру", то конечно же поймете, что можно. Потому что запись GPIOB->CRH представляет собой обращение к элементу структуры GPIO_TypeDef через указатель на структуру, об этом говорит значок -> в отличие от символа точки . В свою очередь, GPIOB - это текстовая короткая запись указателя на структуру ((GPIO_TypeDef *) GPIOB_BASE), в которой GPIOB_BASE - есть ничто иное как числовой адрес группы регистров GPIOB, записанный через текстовые определения.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Ср авг 10, 2022 18:04:40 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Спасибо большое. ) Как раз про это и читаю. Снова и снова. Именно про указатели.

Добавлено after 10 minutes 53 seconds:
По разному у них эти хидеры организованы... Похоже на мой первый взгляд для СТМ8 написание можно превратить в нечто похожее для АВР8. Не переписывать же весь файл библиотеки.

_________________
Станислав


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Ср авг 10, 2022 18:08:40 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 160
Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848
Рейтинг сообщения: 3
Не спорю, тема непростая, сам далеко не с первого раза понял.
Я с STM8 не работал, сразу на STM32 пересел, а плата Дискавери с STM8 так и осталась лежать нетронутой. Поэтому не знаю, как в STM8 там сделано. Но наверняка у порта есть аналогичный набор регистров. Нужно составить структуру этих регистров по порядку, с учетом их размерности, в том же виде, как сделано у STM32 со структурой GPIO_TypeDef, то есть создать новый тип данных в виде структуры посредством typedef struct. Затем нужно узнать из карты адресного пространства адрес первого регистра в этой группе и объявить указатель на этот адрес, причем тип указателя (его размерность) будет как раз типом структуры: #define GPIOB ((GPIO_TypeDef *) GPIOB_BASE), где GPIOB_BASE - записанный числом адрес первого регистра этой группы. После этого начнет работать запись в привычном для STM32 виде.

Да, а переписывать нужно мноооооого, весь заголовочник, в принципе то. Времени потратится немало.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Ср авг 10, 2022 18:16:47 
Собутыльник Кота
Аватар пользователя

Карма: -12
Рейтинг сообщений: -25
Зарегистрирован: Пт июл 12, 2019 22:52:01
Сообщений: 2525
Рейтинг сообщения: 3
Можно, конечно, макросов наопределять, да и сделать структуры, как у STM32, но ведь под STM8 нет gcc, а есть лишь убогий sdcc, который вообще оптимизировать не умеет. Вот и приходится как-то так писать.

_________________
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Ср авг 10, 2022 18:22:14 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Жаль, конечно... .ХОтелось бы от одного производителя, пусть и разные линейки микросхем, но с одинаковым подходом.... Было бы куда проще.

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Ср авг 10, 2022 19:21:08 
Собутыльник Кота
Аватар пользователя

Карма: -12
Рейтинг сообщений: -25
Зарегистрирован: Пт июл 12, 2019 22:52:01
Сообщений: 2525
Рейтинг сообщения: 6
Но это физически невозможно, т.к., к сожалению, а) для STM8 нет gcc, б) восьмибитка значительно ограничена в ресурсах, в) там и регистры совершенно иначе организованы.
P.S. Советую там у меня на гитхабе по ссылочке попастись, я там много чего успел на STM8 сделать, пока не плюнул и не решил полностью на STM32 перейти.
P.P.S. Кстати, а почему именно STM8? Ведь от него есть выгода лишь если делать огромную кучу изделий (да еще и на каком-нибудь S003, а то и S002), а для единичных поделок что STM32 за 70-200р, что STM8 за 45 и выше. Зато по способностям - просто море же разницы!

_________________
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Ср авг 10, 2022 22:36:44 
Друг Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 1320
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 10429
Рейтинг сообщения: 3
почему именно STM8
ну вот мне на них проще. Они сами проще, и писать проще. Лицензию Cosmic пока выдаёт, его особенности известны... написав что-то для ST7/STM8 я могу дать гарантию и затрачу меньше времени, чем с ARM, так как чтобы дать гарантию с ARM мне надо изучить его, пролистывание же книжки по ядру М3 этим изучением не является...
Конечно, если речь о типовых задачах. Если же из 8 выжимать что-то на пределе в попытке конкурировать с 32 - то конечно, нафиг, проще бездумно сгенерировать проект в кодогенераторе да натыкать требуемого.
... а ещё у меня пока достаточно много ST7/STM8, это тоже причина, может, и у ТС тоже их сотня )

_________________
добавь radiokot.ru##.tablebg > tbody > tr:has(td>a[href*="?f=17"]) в адблок, сделай форум чище!
"Э-э-э-хей... растёт правосознание!"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Чт авг 11, 2022 05:29:29 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 3
Медали: 1
Получил миской по аватаре (1)
)) у меня их ровно 100 штук. Нужны для одного любопытного проектика. Как прототип.

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Чт авг 11, 2022 19:38:48 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Еще вопрос для человека, который не знал, да еще и забыл...

Если я размещу двумерный массив, то он где разместиться во флеш или ОЗУ?

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Чт авг 11, 2022 19:49:36 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21785
Откуда: Московская область, Фрязино
Рейтинг сообщения: 3
Если я размещу двумерный массив, то...

Если это массив переменных, то в ОЗУ. А если массив констант, то возможны варианты, но обычно во флеше.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Чт авг 11, 2022 20:03:37 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Константы. однако, ИАР выдает ошибку, типа слишком много...

Вот такой мне надо:
Код:
unsigned char Letter[5][15] = {   0b0011, 0b1001, 0b1110, 0b1001, 0b0011, 0b0000, 0b0000, 0b0000, 0b0111, 0b0110, 0b0111, 0b1001, 0b0111, 0b1001, 0b0011,
                                  0b0101, 0b1001, 0b0001, 0b1010, 0b0101, 0b0000, 0b0000, 0b0000, 0b1000, 0b1001, 0b1000, 0b1001, 0b1000, 0b1010. 0b0101,
                                  0b1001, 0b1011, 0b0110, 0b1100, 0b1001, 0b0000, 0b1111, 0b0000, 0b1000, 0b1001, 0b1000, 0b1011, 0b1000, 0b1100, 0b1001,
                                  0b1001, 0b1101, 0b0001, 0b1010, 0b1111, 0b0000, 0b0000, 0b0000, 0b1000, 0b1001, 0b1000, 0b1101, 0b1000, 0b1010, 0b1111,
                                  0b1001, 0b1001, 0b1110, 0b1001, 0b1001, 0b0000, 0b0000, 0b0000, 0b0111, 0b0110, 0b0111, 0b1001, 0b0111, 0b1001, 0b1001 };



_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Чт авг 11, 2022 20:09:00 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21785
Откуда: Московская область, Фрязино
Рейтинг сообщения: 3
типа слишком много...

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

Добавлено after 2 minutes 37 seconds:
Вот такой мне надо:
Код:
unsigned char Letter[5][15] = {   

Прикольно.. А где квалификатор константы?
Должно быть
Код:
const unsigned char Letter[5][15] = {   


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Чт авг 11, 2022 20:12:52 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
А вообще, не такой, наверное, разверну его по вертикали, т.к. проще выводить будет на светодиоды.. Но не принципиально. Будет одномерный массив, но с большим числом данных.

Аааа... спасибо. сейчас подправлю.

Добавлено after 2 minutes 55 seconds:
И еще, я не знаю как посмотреть адрес массива... Он же не компилирует

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Чт авг 11, 2022 20:19:05 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21785
Откуда: Московская область, Фрязино
Рейтинг сообщения: 3
Он же не компилирует

Сначала нужно исправить все ошибки, естественно...
Диагностику приведите.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Чт авг 11, 2022 20:56:06 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Я понял, что ему не нравится... Он не хочет, чтобы массив рвали. Т.е. каждый элемент после запятой перенесен на другую строку. Если все элементы в одну строку, то нормально....

Как так-то?! :dont_know:

И самый галвный вопрос, который сейчас интересен - как разместить массив данных во флеши у СТМ8?

Нет... Наврал... Не нравится ему запись в виде 0b00111,

Error[Pe253]: expected a "," C:\PR\IAR\First\main.c 11

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Чт авг 11, 2022 21:13:04 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 3
Разберитесь поддерживает ли компилятор двочные литералы. Iar в этом плане строго стандарта придерживается, а двоичные литералы появились только в С++14. Появилась ли такая поддержка в С не помню, провеьте сами.

ЗЫ: Не путать с поддержкой двоичных констант компилятором GCC, она есть давно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Чт авг 11, 2022 21:20:23 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Блин...

Я вот всего второй день с этим микроконтроллером и ИАРом в том числе для него. И уже столько гемора. А рефренс на микроконтроллер показался очень простым. Почти нет никаких настроек. )))) Тут же запустил на частоте в 16 МГц, тут же помигал линейкой светодиодов. Решил дальше покопать с таймерами и сделать мигалку типа POV, чтобы буквы в воздухе пислала. И уперся в массив..... этих букв.

Добавлено after 1 minute 53 seconds:
В АВР можно было на Си писать так двоичные числа.

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Чт авг 11, 2022 21:22:26 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21785
Откуда: Московская область, Фрязино
Рейтинг сообщения: 3
уперся в массив..... этих букв.

Если это буквы, то дефайнами приведите бинарные константы к удобочитаемому виду. При этом вместо бинарной формы определяйте шестнадцатиричную (HEX).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: На STM8 писать как для STM32 возможно?
СообщениеДобавлено: Чт авг 11, 2022 21:31:51 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 775
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4991
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Да.. уже начитался об этом... Можно еще хэдер создать с дефайнами (256 штук). )))
Короче, Си не понимает такого представления двоичного числа. А в АВР это значит тоже где-то в хэдерах было, просто я не обращал внимание. Понятно теперь, что надо все в шестнадцатиричные приводить.

Добавлено after 1 minute 37 seconds:
В том и прикол был, что эти буквы читаются именно как матрицы в двоичном коде. Там прям буквы видно глазами, которые будут выводится на матрицу по столбцам.
Ладно. Смирюсь пока с этим.

_________________
Станислав


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

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


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

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


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

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


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