Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Re: На STM8 писать как для STM32 возможно?

Сб авг 13, 2022 22:42:02

На данный момент актуальнее по блютусу с телефона заливать картинки и эффекты. ) Думаю, можно подарить такую платку кому-нибудь заинтересованному в изучении СТМ32. Ну или продать. ) Тогда и зря не будут валяться, пригодятся кому-то.

Re: На STM8 писать как для STM32 возможно?

Сб авг 13, 2022 22:44:42

да. но с блютусом и андроидом у меня точно ещё лет 5 уйдёт. ничё, пусть к обычному ноуту цепляют ))

Re: На STM8 писать как для STM32 возможно?

Вс авг 14, 2022 15:48:44

Константы. однако, ИАР выдает ошибку, типа слишком много...

Вот такой мне надо:
Код:
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 возможно?

Вс авг 14, 2022 16:13:36

Спасибо за наблюдательность. ) Но все равно было переписано все в шестнадцатиричные. Т.к. Си просто сам НЕ ЗНАЕТ такого формата числа. А я привыкший к АВР студии и ее хэдерам просто даже не знал об этом. В восьмибитных АВР можно было так писать. Больше нигде нельзя. ) да и не нужно....

Re: На STM8 писать как для STM32 возможно?

Вс авг 14, 2022 16:23:29

Си просто сам НЕ ЗНАЕТ такого формата числа.

Что за бред? gcc прекрасно такой формат воспринимает, не надо пургу гнать и всякими говнокомпиляторами вместо нормальных пользоваться!
Вот то, что для STM8 gcc не завезли - да, беда-печаль-огорчение. Но не очень-то и надо: по цене они практически не отличаются от STM32F030, зато как отличаются по периферии и возможностям!
Но если прямо остро необходимо STM8 программить, то придется терпеть убогий SDCC, т.к. больше свободных компиляторов под STM8 не существует. А пользоваться несвободными - удел убогих...

Вот, смотри:
Код:
cat 1.c
#include <stdio.h>

int main(){
   unsigned x[] = {0xaa, 0b101010, 123, 0712};
   for(int i = 0; i < 4; ++i) printf("x[%d]=%u (0x%x)\n", i, x[i], x[i]);
   return 0;
}

gcc 1.c && ./a.out
x[0]=170 (0xaa)
x[1]=42 (0x2a)
x[2]=123 (0x7b)
x[3]=458 (0x1ca)

gcc прекрасно понимает запись констант десятичной, двоичной, восьмеричной и шестнадцатеричной системах!

Re: На STM8 писать как для STM32 возможно?

Вс авг 14, 2022 16:30:14

https://prog-cpp.ru/c-constants/
вот тут я это нашел.

А вы злой. :roll:

Re: На STM8 писать как для STM32 возможно?

Вс авг 14, 2022 17:15:59

Eddy_Em писал(а):больше свободных компиляторов под STM8 не существует. А пользоваться несвободными - удел убогих...

Cosmic. Он не свободный, но бесплатный ежегодно. Будем считать, наполовину убогий ;)
на ассемблере 8-битные не особо сложно программируются, если что... :roll: Хотя отказываться от Си мне не очень хочется. Точнее, очень не хочется.

Re: На STM8 писать как для STM32 возможно?

Вс авг 14, 2022 18:17:40

gcc прекрасно такой формат воспринимает

Мне на gcc болт положить. Я не собираюсь копаться в версиях компиляторов. Если удобен Keil, значит я буду писать на их IDE и на их компиляторе. А к какой "масти" он принадлежит - фиолетово. У меня нет пролетарских замашек.
Тут уже сказали, что кошерный Си бинарную форму не поддерживает.

Re: На STM8 писать как для STM32 возможно?

Вс авг 14, 2022 19:05:17

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

Re: На STM8 писать как для STM32 возможно?

Вс авг 14, 2022 19:50:43

аргументы функций после скобок обозначать, все используемые переменные объявлять только в начале функций

И что? Что в этом плохого? Я в общем так и делаю. Неудобств не испытываю.
Правда я говорил совсем о другом. Отсутствие или наличие неких нестандартных фич не является поводом для выбора иной "масти".
ЗЫ. КиР завещали начальную версию Си. С тех пор стандарт менялся. Такшта кошерность не слишком связана с КиР.

Re: На STM8 писать как для STM32 возможно?

Вт авг 16, 2022 09:09:44

Кстати, в последней версии компилятора, IAR в вызове прерывания добавляет пять команд процессора из-за какой-то ерраты прерывания при делении чисел. Поэтому супер-бупер-быстрого прерывания у него не ждите.
Никто не мешает обработчики прерываний написать на асме. Сохраняя только нужные регистры. А остальной код - си.
К тому же - компилятор IAR не особенно оптимален, вдумчивый программист на ассемблере напишет намного лучше.
И да - как уже писали, компилятор си у IAR for STM8 весьма посредственный. Мягко говоря....

Добавлено after 4 minutes 28 seconds:
Также примерно понимаю, что можно каждый раз накладывать маскау, выделять нужный бит, потом через условие проверять равен ли он нулю и дальше просто выставлять порт в нужный уровень.
Но это как-то долго все.
Так определите макросы и тогда будет:
Код:
if (Pdato(PIN_LED3)) Pclr(PIN_LED3);
else Pset(PIN_LED3);
Понятно и удобно. Естественно - если где-то в ISR есть манипуляции с другими пинами этого GPIO, то предварительно запретив прерывания.

Добавлено after 8 minutes 20 seconds:
Хм... не хочет так работать. Сейчас кусок кода вставлю:

Если такое делаете в ISR, то надеюсь все операции с пинами во всём остальном коде и в ISR на других уровнях приоритета - обрамили запретами прерываний? Иначе получите разложенные грабли....

Re: На STM8 писать как для STM32 возможно?

Вт авг 16, 2022 10:31:57

В режиме C/С++ поддерживается двоичный формат записи числа в виде 0b0101010101010...

Re: На STM8 писать как для STM32 возможно?

Вт авг 16, 2022 10:50:58

Не сочтите за рекламу. Но недавно писал статью по STM8 в связке codeblocks+sdcc. Вроде неплохо получилось. Во второй части будет программирование и отладка. Может кому надо. https://cxem.net/mc/mc500.php
Сюда переносить не буду. Много обсуждали на форуме https://forum.cxem.net/index.php?/topic ... осто-на-c/ пока модератор на сутки не прикрыл, очень жаркие споры были. Если есть вопросы могу помочь в меру своих скромных познаний.

Re: На STM8 писать как для STM32 возможно?

Вт авг 16, 2022 11:39:13

vavaav, каким образом твое сообщение относится к данной теме?

Re: На STM8 писать как для STM32 возможно?

Вт авг 16, 2022 11:45:01

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

Re: На STM8 писать как для STM32 возможно?

Вт авг 16, 2022 11:47:49

vavaav, каким образом твое сообщение относится к данной теме?

Тема даже актуальна. Кстати 0b000110 в codeblocks+sdcc прекрасно воспринимается. Просто когда разбирался с SPI пользовался описанием от STM32, регистры почти совпадают, у STM32 их больше

Re: На STM8 писать как для STM32 возможно?

Вт авг 16, 2022 11:50:18

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

Re: На STM8 писать как для STM32 возможно?

Вт авг 16, 2022 11:53:02

Просто привык к AVR а у STM флаги окончания передачи по другому работают. А у STM8 и STM32 только ядро разное, а обвязка похожа.

Re: На STM8 писать как для STM32 возможно?

Вт авг 16, 2022 12:02:44

А у STM8 и STM32 только ядро разное, а обвязка похожа.

"Обвязкой" вы очевидно называете периферию. Чудовищный жаргонизм. И сразу видно, что в Reference Manual STM32F0xx вы еще не заглядывали.

Re: На STM8 писать как для STM32 возможно?

Вт авг 16, 2022 12:07:25

Ну почему же но только по STM8. Заглядывал. Существует даже книга по STM8, почти перевод этого самого референс мануала. Просто подход к поиску и сбору информации в интернет у каждого свой.
Ответить