На данный момент актуальнее по блютусу с телефона заливать картинки и эффекты. ) Думаю, можно подарить такую платку кому-нибудь заинтересованному в изучении СТМ32. Ну или продать. ) Тогда и зря не будут валяться, пригодятся кому-то.
Я дико извиняюсь, может я опоздал, но это не компилируется как минимум потому что во втором блоке после предпоследнего элемента массива стоит точка вместо запятой.
Спасибо за наблюдательность. ) Но все равно было переписано все в шестнадцатиричные. Т.к. Си просто сам НЕ ЗНАЕТ такого формата числа. А я привыкший к АВР студии и ее хэдерам просто даже не знал об этом. В восьмибитных АВР можно было так писать. Больше нигде нельзя. ) да и не нужно....
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Что за бред? 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 прекрасно понимает запись констант десятичной, двоичной, восьмеричной и шестнадцатеричной системах!
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
больше свободных компиляторов под STM8 не существует. А пользоваться несвободными - удел убогих...
Cosmic. Он не свободный, но бесплатный ежегодно. Будем считать, наполовину убогий на ассемблере 8-битные не особо сложно программируются, если что... Хотя отказываться от Си мне не очень хочется. Точнее, очень не хочется.
Мне на gcc болт положить. Я не собираюсь копаться в версиях компиляторов. Если удобен Keil, значит я буду писать на их IDE и на их компиляторе. А к какой "масти" он принадлежит - фиолетово. У меня нет пролетарских замашек. Тут уже сказали, что кошерный Си бинарную форму не поддерживает.
Если уж о кашруте говорить, то и писать как завещали КиР: аргументы функций после скобок обозначать, все используемые переменные объявлять только в начале функций и и.д., и т.п.
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
аргументы функций после скобок обозначать, все используемые переменные объявлять только в начале функций
И что? Что в этом плохого? Я в общем так и делаю. Неудобств не испытываю. Правда я говорил совсем о другом. Отсутствие или наличие неких нестандартных фич не является поводом для выбора иной "масти". ЗЫ. КиР завещали начальную версию Си. С тех пор стандарт менялся. Такшта кошерность не слишком связана с КиР.
Кстати, в последней версии компилятора, IAR в вызове прерывания добавляет пять команд процессора из-за какой-то ерраты прерывания при делении чисел. Поэтому супер-бупер-быстрого прерывания у него не ждите.
Никто не мешает обработчики прерываний написать на асме. Сохраняя только нужные регистры. А остальной код - си. К тому же - компилятор IAR не особенно оптимален, вдумчивый программист на ассемблере напишет намного лучше. И да - как уже писали, компилятор си у IAR for STM8 весьма посредственный. Мягко говоря....
Также примерно понимаю, что можно каждый раз накладывать маскау, выделять нужный бит, потом через условие проверять равен ли он нулю и дальше просто выставлять порт в нужный уровень. Но это как-то долго все.
Так определите макросы и тогда будет:
Код:
if (Pdato(PIN_LED3)) Pclr(PIN_LED3); else Pset(PIN_LED3);
Понятно и удобно. Естественно - если где-то в ISR есть манипуляции с другими пинами этого GPIO, то предварительно запретив прерывания.
Если такое делаете в ISR, то надеюсь все операции с пинами во всём остальном коде и в ISR на других уровнях приоритета - обрамили запретами прерываний? Иначе получите разложенные грабли....
Не сочтите за рекламу. Но недавно писал статью по STM8 в связке codeblocks+sdcc. Вроде неплохо получилось. Во второй части будет программирование и отладка. Может кому надо. https://cxem.net/mc/mc500.php Сюда переносить не буду. Много обсуждали на форуме https://forum.cxem.net/index.php?/topic ... осто-на-c/ пока модератор на сутки не прикрыл, очень жаркие споры были. Если есть вопросы могу помочь в меру своих скромных познаний.
Видимо, спамер или иной гражданский элемент пытается обойти форумную защиту в виде первого одобряемого сообщения. На всякий случай надо проследить за активностью этого гражданина
vavaav, каким образом твое сообщение относится к данной теме?
Тема даже актуальна. Кстати 0b000110 в codeblocks+sdcc прекрасно воспринимается. Просто когда разбирался с SPI пользовался описанием от STM32, регистры почти совпадают, у STM32 их больше
Но зачем использовать описание от STM32, если на STM8 есть полное описание, без несоответствий? А если проблемы с англ.языком, то всегда есть гугл-переводчик, он сейчас очень даже хорошо переводит технические тексты.
Ну почему же но только по STM8. Заглядывал. Существует даже книга по STM8, почти перевод этого самого референс мануала. Просто подход к поиску и сбору информации в интернет у каждого свой.
Сейчас этот форум просматривают: maxlab и гости: 18
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения