Этого треда уже нет.
Это копия, сохраненная 30 июля 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
121044.jpg47 Кб, 350x283
STM8 298779 В конец треда | Веб
Итак, иар и космик слиты, SPL настроен, литература изучается и ко мне уже идёт из Поднебесной программатор.
Это тред реальных дешёвых рабочих лошадок, поэтому просьба авр-детям и арм-подросткам как минимум постараться не начинать свои срачи.
Только серьёзное железо, только STM8.
2 298782
>>298779 (OP)

> серьёзное железо


>STM8



ну ты насмешил мои плисы и кортексы
3 298783
>>298782
То-то везде по плису и кортексу напихано, а не 8051, ти и стм.
4 298790
>>298782
Выучил верилог и выёбывается. Иди ка ты на хуй и кортекс в очко себе затолкай.
5 298791
>>298779 (OP)

>уже идёт из Поднебесной программатор.


Определил уровень треда
WP20160619225501Pro.mp41,1 Мб, mp4,
800x448, 0:02
6 298829
>>298779 (OP)

> STM8.


Помню тут один хуй создавал STM8-тред, подключал к ней индикатор 8х2 и у него работал. А я вот проебал вспышку и теперь не могу запустить.
IMG20160628232442.jpg2 Мб, 3264x1840
7 298834
>>298829
Вот еще его фото схоронил. Лучше бы код Может у кого остался код его драйвера дисплея?
8 298835
>>298834
Нормальный код для управления таким дисплеем должен быть кроссплатформенным.
9 298839
>>298835

> должен быть кроссплатформенным.


Тут же StdPeriphLibrary, а в Ардуино совсем по другому все. Короче. Пойду учить мануалы.
10 298842
>>298839
И что с того? От этого меняются только функции задержки и GPIO, остальное остается неизменным.
11 298844
Вкатился со своей evolution board. Примеры на основе официальных стандартных библиотек даже не компилируются.
12 298846
>>298844

> даже не компилируются.


В чем компилируешь? Что пишет?
8.JPG110 Кб, 1222x630
13 298851
Пожалуй одни из самых дешевых контроллеров
14 298855
Я лучше переплачу и возьму пучок атмег8, чем ебаться с этим говном, которое к тому же по ТТХ практически ничем не выигрывает. Про копеечные тиньки скромно умолчу.
Если хочешь связываться с изучением стм, то бери стм32, например, stm32f030f4p6, они не сильно дороже и популярны (даж я применял несколько раз). стм8 для изучения и махараинга - очень тупой выбор, они созданы чисто ради индустрии, ради экономии на каждом компоненте при миллионных тиражах.
Что касается кода. Учитывай, что аврки очень просты. А STMки намного сложнее, и сделать под них универсальную либу почти невозможно, выходит либо откровенная индусятина (HAL), либо малопонятные без изучения исходников эльфийские письмена (libopencm3). Я уж молчу про нонейм всратые либы для ардуино-студии. С оптимизациями при компиляции все тоже очень хуево, код жрет много места (отчасти следствие всратых либ).
Ну и, конечно же, с учетом

>уже идёт из Поднебесной программатор


я мог бы все это не писать и просто молча сидеть и тихонько хихикать на ОП-хуя, но куда слаще будет пояснить ему, дабы осознал, в какую лужу он вступил, глядеть на реакцию и продолжать зоонаблюдения.
15 298871
Ну а че, пусть будет тред. Я пока вкатываюсь тоже в сабж. Компилю sdcc, на стандартные периферийные либы положил болт, без них как-то легче разобраться что к чему.
16 298879
>>298855

>по ТТХ практически ничем не выигрывает



А что, на AVR завезли аппаратные умножение/деление и сбили цену до 30₽?

А то непонятно, чего это в автомобилях и всякой массовой инклюзивной технике STM стоят, а не AVR. И глупые китайцы по части своих Godson'ов с STM сотрудничают, а не с Atmel/Microchip. Быдло инженерное небось, просто не понимает всю ценность оверпрайснутого разрекламированного говнеца с модными презентациями и топ-манагерами.
17 298880
>>298829
Тут не STM осваивать надо, а базовые штуки вроде тактирования и мультиплексирования. Ну и протокол дисплея — как данные принимает, как сбрасывается, какой формат. А по части STM достаточно будет правильно подать тактирование, настроить ножки да дрыгать в цикле — это всё базовое, с SPL легко делается.

SPL сильно рекомендую. STM — не AVR, очень гибко конфигурируется на ходу и без фьюзов, без SPL легко отстрелить себе ногу. Смотрю разбор системы от Матюшова — тут про конкретные биты и регистры — и тихо хуею. С ассемблером лучше повременить, тут он очень сложный.
Ещё плюс SPL — переносимость, чип можно будет поменять на другой из того же семейства (их два — S/A и L) без изменений в коде.
18 298883
>>298879
Ты пост-то дочитал?
Впрочем, с твоим ходом мысли, даже лень расписывать. Тебя спасет разве что лоботомия.
19 298896
>>298855

>которое к тому же по ТТХ практически ничем не выигрывает.


У STM8 все-таки есть преимущества: нормальная отладка через st-link, у таймеров чуть больше возможностей, ПДП, аппаратное деление, единое адресное пространство кода и данных.

>они созданы чисто ради индустрии, ради экономии на каждом компоненте при миллионных тиражах.


Верно, они так же не нужны как и авр.

>выходит либо откровенная индусятина (HAL)


Такие утверждения необходимо аргументировать. К тому же

>сделать под них универсальную либу почти невозможно


Низкоуровневая часть (LL) HAL - это совсем не универсальная библиотека, универсальна только высокоуровневая часть.

>код жрет много места


И тут ты должен дать пример, где тебе не хватило ПЗУ.

>>298879

>А что, на AVR завезли аппаратные умножение/деление


Умножение там всегда было вроде как, а аппаратное деление в STM8 медленное.

>и сбили цену до 30₽?


Ты делаешь свои поделки даже без корпусов, один микроконтроллер и все? Эти 30 рублей мизер по сравнению даже со стоимостью корпуса с батарейкой.

>С ассемблером лучше повременить, тут он очень сложный.


Ничего подобного, 6502 напоминает немного. Но ассемблер не нужен.
20 298901
>>298896
Но ведь stm8 не arm
21 298934
>>298896

>Ты делаешь свои поделки даже без корпусов, один микроконтроллер и все? Эти 30 рублей мизер по сравнению даже со стоимостью корпуса с батарейкой.



На серьёзном производстве как раз нет.
22 298961
>>298896

>Верно, они так же не нужны как и авр.


В 8051 треде давно уже обсудили что нужно, а что не нужно, и почему.
23 298962
>>298871
двачая. можно и на асме кстати с таким-то подходом
24 298968
>>298871

> Компилю sdcc


А чем Cosmic не угодил?
25 298977
>>298968
Да я не видел, что он тоже есть под линукс,. Ну и зачем мне проприетарный компилятор, если есть свободный?
26 298984
>>298961
Верно, обсуждали, но разве пришли к хоть каким-то выводам? Были крики: "а у нас детерминизм!", "у нас дешевле!" и даже "у нас меньше транзисторов".
Необходимость детерминизма времени выполнения команд можно опровергнуть фактом существования радстойких микроконтроллеров с кэшем. Разница в цене начинает заметно влиять только при сериях >1000 штук. А тот факт что там меньше транзисторов, важен только для разработчиков микросхем.

>>298934
У этого анона нет серьезного производства >>298855

>стм8 для изучения и махараинга - очень тупой выбор


Может у тебя есть серьезное производство?
27 298987
В бытовухе вы практически нигде не встретите ни стм, ни авр.
Китайцы используют СВОИ серии мк, коих миллион.
Реинкарнации пиков, 8051 (STC), миллион более специфических. У них это стоит дешевле чем эти ваши СТМ и на все это есть китайская документация.
Пример. Буквально вчера ковырял вполне свежую модель умной зарядки под брендом camelion. Угадайте, что там за МК?
А вот такой:
http://www.samsung.com/global/business/semiconductor/file/2011/product/2010/2/18/663744um_s3p70f4_rev10.pdf
Ну и как вам такое чудо? Дохуя известное, ага.
А в серьезном железе, типа пром. оборудования, по сей день все те же 8051, авр и пики... и относительно активно стали применять ПЛИСы. Делай выводы, ОП-хуй.
28 298991
>>298987

>Я вскрыл одну железку и по ней буду делать выводы о ненужности STM8

29 298992
>>298991

>ВРЁТИ!!!!!!

30 298994
Как по мне, у этих контроллеров почему-то нет такого комьюнити как у Пердуини. Поэтому даже для миргания светодиодом требуются недюжинные знания погроммирования. Это отпугивает желающих.
31 299001
>>298994
Дык в этом и суть промконтроллеров, что их использует большой бизнес, где и спецы найдутся, и спеки производитель даст.
Ардуина же, при всех попытках, остаётся уделом гиков-любителей. Эдакий линукс - манит первоначальной лёгкостью и культом элиты, но для серьёзных вещей дорогой и слишком ущербный.
Впрочем, те же самые гики могут в своё время попасть в конторы, избавиться от старых профессионалов и начать продвигать продукт своей любви - как и линукс, например.
Так что ниша будет. Унылая, набитая индусами и хохлами, но будет.
32 299002
>>299001
STM вполне могла бы заручиться поддержкой рядовых любителей, но там считают, что самые дешёвые чипы/программаторы/девборды и бесплатные либы — более чем достаточный вклад.
33 299003
>>299001
Ну ты и толстяк.
Напомни, когда появился проект ардуины? Тот самый ранний, где плата еще на выводных деталях, с которого все началось. А когда массово появились СТМки?
Про вагоны АТ89 в пром. аппаратуре мне даже страшно вспоминать.
34 299025
>>298991
В зарядку поставили что-то еще слабее attiny, к тому же без компилятора си и однократно программируемое. Можно было обойтись несколькими триггерами, но с таким контроллером оказалось дешевле. В остальную бытовую технику часто ставят аналогичные микроконтроллеры.
Какие выводы можно сделать? Начать делать махарайки на микроконтроллерах с несколькими десятками байт ОЗУ и писать только на ассемблере, потому что компилятора си не завезли? Конечно это можно, но придется угробить на написание прошивки существенно больше времени.

>>299001

>Ардуина


Ардуина это не микроконтроллер.

>>299003

>АТ89


Это 8051, а не AVR.
35 299041
Дауниты уже отметились в треде.

Нормальные контроллеры, со своими недостатками и преимуществами.
Что понравилось:
+ Унифицированное ядро и периферия на всё семейство. А не так как в авр, где мега8 и мега328 отличаются возможностями периферии.
+ Сама периферия довольно продвинутая и логичная по сравнению с теми же мега328. Взглянуть хотя бы на таймеры.
+ Есть нормальный дешёвый отладчик.
+ Копеечная цена (ну тут кому как, сейчас многие мк относительно дешёвые)

Не понравилось:
- Новые чипы — новые баги, которые неизвестно когда исправят и исправят ли вообще. Поэтому чтение эрраты мастхэв.
- Широкая конкуренция среди мк на Cortex-M0 делает стм8 практически бессмысленным.
- STM забивает на семейство stm8, т.к. будущее уже явно не за восьмибитниками.
- Периферия кажется специально урезанной (на мой дилетантский взгляд, пусть разбирающиеся в трассировке чипов исправят). Например, определённые режимы захвата можно сделать лишь на одном-двух входах таймера, когда их есть четыре. Что мешало сделать их равноценными кроме маркетингового разделения рынка?

Сам пишу под них код под линуксом, компилирую sdcc, SPL не использую. Пока sdcc генерит неоптимальный код, но для всяких поделок хватает.
36 299042
Хотел скинуть драйвер дисплея, но "тип файла не поддерживается"
37 299043
А, ну и ещё пара моментов.

DMA есть только в stm8l и нет в stm8s.

Аппаратное умножение лишь 8bit*8bit, а деление — 16bit/16bit.

Ассемблер в стм8 просто образец божественной логичности по сравнению с ассемблером авр в плане мнемоник.
38 299047
>>299042
Скинь сюда:
http://rgho.st/
ссылку запость.
39 299056
>>299047
https://pastebin.com/wvZNndQA
https://pastebin.com/DAP3RErQ

Нужно изменить лишь определение подключённых пинов и функции
uint8_t read_data_pins()
void write_data_pins(uint8_t data)
40 299064
>>299056
Это ты компилишь в SDCC? Чота после SPL режут глаз конструкции типа
#define PIN_LOW(X) X##_PORT->ODR &= ~X вместо
GPIO_SetBits(LCDPwrPort, LCDPwrPin);
41 299065
>>299056
И кстати, драйвер дисплея есть на сцайте СТМ http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm8-embedded-software/stsw-stm8063.html
Написан под STM8S, но после небольшой правки идет спокойно на STM8L
42 299067
>>299056

>_delay_ms(1);


Уже плохо. Пока тупит эта задержка не получится делать что-то еще, например опрашивать клавиатуру.
Чтение из дисплея также бесполезно.
1390324114001.png143 Кб, 339x388
43 299068

>КО КО КО АВР НЕ НУЖНЫ!


>КО КО КО АРДУИНОБЛЯДИ ПИДОРЫ!


>_delay_ms(1);

44 299070
>>299067
Я с дисплея не читаю инфу. Только флаг занятости. Мне было заёбисто изучать длительность всех команд всех возможных контроллеров. Тупые задержки в 1мс вроде стоят только при инициализации (ща с телефона пишу). Код не самый элегантный галименький, но работает. И писался с мыслью о простоте переноса на другой мк, нужно лишь исправить низкоуровневые функции дерганья ногами.
А клавиатуру я опрашиваю в прерывании по таймеру, а потом в основном цикле обрабатываю сырые данные о состоянии кнопок (антидребезг, длительность нажатия).
delay.JPG64 Кб, 1007x533
45 299071
>>299068
Ваши предложения по созданию задержек?
46 299073
>>299064
Sdcc далеко не эффективный компилер, коммерческим проигрывает. А после гцц так вообще как убожище. Но, що ма€мо. А вторая проблема с sdcc в том, что там линкер не умеет выкидывать неиспользуемые функции в модуле. Если у тебя есть файл с несколькими функциями и ты из него используешь одну, то остальные тоже будут включены в конечный бинарник. Выход из такого положения - один файл - одна функция олин фюрер.

Ну и ты ещё не видел мой код, со времен авр пишу в порты напрямую через
port_name->odr &= ~gpio_pin;
47 299074
>>299071
Используй _delay_us, как все разумные ардуинобляди, Люк.
48 299075
>>299068
Как ты предлагаешь написать код, где обязательно нужны задержки?
49 299076
>>299074

>Используй _delay_us, как все разумные ардуинобляди, Люк.



Это ж пмздец бессмысленный расход флеша. Когда у тебя задержка в 1мс, то прыжок в функцию задержки и возврат из неё фигня по времени.
50 299077
>>299075
Для какого дисплея нужна задержка в миллисекунду? Это же целая вечность.
44780.JPG69 Кб, 684x593
51 299078
>>299077

> Для какого дисплея нужна задержка в миллисекунду? Это же целая вечность.


Ардуинодаун не палится
52 299079
>>299078
Это же разовая инициализация при включении.
53 299080
>>299070

>Тупые задержки в 1мс вроде стоят только при инициализации


Ну тогда нормально.

>Я с дисплея не читаю инфу. Только флаг занятости.


А это уже нет. Это мало чем отличается от тупой задержки.

Мой вариант:
https://pastebin.com/ZFFhfPCm
https://pastebin.com/KcnZsL9c
Хотя в нем тоже не все нормально.

>>299077
Кроме инициализации, еще при очистке 1,5 мс.
54 299084
>>299077
Открой даташит на ST7066. Там есть пунктик, что флаг занятости выставляется не мгновенно, а через некоторое время. >80uS. Ну а мне раз всё равно придётся ждать, то проще сразу 1мс.
Пока я разгребался с этими дисплеями, то насмотрелся всякого говна, перепробовал четыре различных вариантов инициализации (из сети, где у всех всё работало), пока не запустил эту ебалу. И то, иногда при глюках питания контроллер дисплея подвисает и не выходит в рабочий режим до перезапуска питания.

В общем, это самый уебанский дисплей с уебанским протоколом и подключением. И это говнолегаси всё тянется и тянется и никак не сдохнет. Сука, ну добавте вы в контроллер дополнительный spi или i2c, и чтоб никаких "подождите 36,7 мкс" для одной инструкции и пару лет для другой.
55 299085
>>299084

> насмотрелся всякого говна,


У меня пока из 10+ штук от всяких факсов/ксероксов, мозг выебал только китайский ноунэйм с али.
56 299088
>>299080
Как раз это самый быстрый способ пакетной выдачи в дисплей. Я выплёвываю инфу в дисплей и забываю о нём. А ты, если я правильно понял, выдаёшь на дисплей по одному символу за раз. Подход хороший, но для моей задачи (думаю, и для 99% других) хватает и моего кода, а делать ещё один конечный автомат тогда ояебал.

Маленький хинт: указатели на функции и неизменяемые данные в структуре объявляй как const. Это позволит некоторым компиляторам проделывать дополнительные оптимизации (если умеют).
57 299092
>>299088
Какой смысл обновлять дисплей чаще 20...30 раз в секунду? Человек большую частоту обновления не воспримет, а эти ЖКИ и того тормознее. Соответственно нет смысла выводить быстрее чем один символ за 1..2 мс. При таком подходе можно выставлять новые данные на дисплей лишь раз в миллисекунду. Тогда не придется тупить в ожидании готовности и не нужно заботиться об оптимизации.
58 299094
>>299092
Я тебе даже больше скажу. На винстаровских дисплеях можно норм обновлять 10 раз/сек, вот только человек так быстро информацию не воспримет. На китайских дешёвых даже 2раза в сек уже боль и наложение. Поэтому у меня дисплей обновляется лишь тогда, когда нужно.
59 299145
>>299073
Так GCC потому и нет для STM8, что генерируемый код толст и не влезает. Сложно найти компилятор хуже.
60 299146
>>299068
>>299071
>>299074
>>299077

Какого хуя, почему нельзя пользоваться таймерами?
61 299147
>>299146

Можно, пользуйся на здоровье.
1463747433170976945.png45 Кб, 300x300
62 299159
>>299068
asm nop;
код от б-га кодинга 63 299165
>>299159
for (i=0; i<10000; i++)
{
asm nop;
}
64 299168
>>299165
А выполнение самого цикла жрет такты или компилятор в код пихает 10к NOP-ов?
65 299172
>>299168
Очевидно, сам цикл тоже жрет такты. Можно посчитать сколько, и выставить вместо 10к такое значение, чтобы было какое-то ровное число. Сам по себе ноп в разных процессорах жрет разное количество тактов, так что надо свериться с докой.
66 299182
>>299168
>>299172
Любой нормальный код задержки так и работает. Расчёт числа нопов происходит автоматически с учётом накладных расходов на цикл.
67 299201
>>299182

> Любой нормальный код задержки


Как вообще грамотно организовать дилеи? Во время счета таймера останавливается выполнение всего кода, реалтайм катится к хуям. Как быть?
sage 68 299203
>>298779 (OP)

> поэтому просьба авр-детям и арм-подросткам


Ясно. Закрывай тред, это не б.
69 299208
>>299201
У ардуинодетей есть такая штука, назвали они ее millis().
Осваивается сразу после мигания светодиодом, как раз чтобы в промежутках между вкл и выкл светодиода можно было делать что-то еще.
А вообще тред очень забавный, как и ОП.
70 299209
>>299208

> millis()


А если мне микросекунды нужны? Иди к своим детям, дебилушко.
71 299211
>>299208
Это простейший таймер. Часто целесообразнее использовать программные таймеры, что-то вроде https://github.com/willemt/event-timer

>>299201
Конечные автоматы. Или RTOS, если автоматов не хватает.

>>299209
Если на таких микроконтроллерах как STM8, то единицы микросекунд только нопами наверное. В V-USB вроде как нопами и делали.
72 299215
>>299211

>Это простейший таймер. Часто целесообразнее использовать программные таймеры, что-то вроде https://github.com/willemt/event-timer


Не вижу смысла так изгаляться на малопроизводительных мк типа авр и стм8.

>Если на таких микроконтроллерах как STM8, то единицы микросекунд только нопами наверное. В V-USB вроде как нопами и делали.


Двачую.
73 299216
>>299209

>А если мне микросекунды нужны


Ты не поверишь...
https://www.arduino.cc/en/Reference/Micros
sage 74 299218
И да, похоже, что ОП-хуй не осилил даже ардуину, но уже лезет в дебри.
75 299220
>>299201
Конечные автоматы. Вот только обычно их возникает столько, что можно заипаться их писать и разгребать (или это просто я полный быдлокодер). Если по-простому, используется аппаратный таймер для отсчёта промежутков времени, по истечении выставляешь флаг. В основном цикле проверяешь наличие флага и выполняешь/не выполняешь код. Но я всё больше склоняюсь к использованию rtos.
76 299226
>>299218
какие дебри? Ассемблер от 6502. Перефирия от STM32. Лучшего для изучения быть не может. А со своим ардуино ты и через 10 лет ничего знать не будешь.
77 299228
>>299215

>Не вижу смысла так изгаляться на малопроизводительных мк типа авр и стм8.


Что быстрее - проверить один байт на ноль или сравнить четыре (хотя можно обойтись двумя) байта? Проверка на ноль это одна команда загрузки в регистр и одна команда условного перехода. Сравнение это как минимум 8 загрузок, 4 сравнения и 4 условных перехода.
78 299229
>>299228

>4 сравнения и 4 условных перехода


Тут я немного ошибся, это может быть 4 вычитания с переносом и один условный переход.
79 299309
Для V-USB HID завезли? Хочу в аудио.
80 299321
>>299309

>V-USB


>HID


>аудио



зачем так сложно? можно просто пердеть в динамик получится примерно тоже самое бит в бит
81 299323
>>299309

>HID


>аудио


Как связаны HID и аудио?
82 299329
>>299323

у HID есть профиль для аудио, чтобы пердеть в динамик можно было
83 299336
>>299329
HID это же пакеты максимум по 64 байта раз в миллисекунду. Какое тут может быть аудио?
84 299351
>>299336

чтобы пердеть в динамик достаточно, зачем тебе больше?
85 299443
>>299351
Винда для звуковых устройст держит стандартные 44100 и 48000 на 16 бит.
86 299542
>>299309
USB Audio имел в виду? Невозможно, требуется ардуина.
87 299551
>>298846

IAR stm.
Error[Ta004]: __Verni_#platu_ot_lifta/naMesto/syka.blt
1508769998441.png115 Кб, 678x490
88 299604
14802360341840.gif564 Кб, 800x430
89 299664
>>298779 (OP)

>серьёзное железо


>STM8


мда хех кхм-кхм
90 299668
Всё gays, прекращаю прокрастинировать и сажусь писать либу для работы STM8 c si7021. Посоветуйте учебников по С? Или на ASM писать?
91 299694
>>299668
либу на асме? не, не стоит. пиши на C. Если что, потом критичные места на asm перепишешь. По учебникам стандартно все: Керниган и Ритчи, С. Прата. Касательно мк - пачка даташитов. Про C на мк, а точнее на stm8 - фиг знает.

Начни писать, а там по ходу дела разберешься
92 299698
>>299668
>>299694

>либу для работы STM8 c si7021


>Или на ASM писать?


>критичные места на asm перепишешь



>отправить и получить пару байт по I2C


>критичные места



ясно понятно
93 299701
>>299698
В некоторых случаях на асме легче писать, чем на с. Например, тот же 6501
94 299705
>>299701

>6501


Как там в 1975м?
95 299709
>>299668
Пиши либу так, чтобы исправив пару строк, она запросто работала на любом контроллере. Например, весь доступ к ресурсам контроллера (чтение статусных регистров, принятие-отправка данных) сделай через макросы или отдельные функции.
96 299724
>>299701
Бред. Если захочешь поменять микроконтроллер то будешь все переписывать? Какие там вообще критичные места могут быть для датчика влажности?
И много ли кода ты сам на ассемблере написал?

>тот же 6501


Таких не бывает.

Вот этот анон >>299709 все правильно пишет.
97 299732
>>299709
И получится SPL
98 299747
>>299732
Нет. SPL это всего лишь удобный доступ к битовым полям в регистрах, количество и назначение которых в разных микроконтроллерах может сильно отличаться. Таким образом SPL может дать лишь частичную переносимость в пределах микроконтроллеров одной серии.

>>299709

>весь доступ к ресурсам контроллера (чтение статусных регистров, принятие-отправка данных)


Я немного подумал и теперь склонен не согласиться.
1) Работа с I2C может быть сделана по разному — с разной обработкой ошибок (ответа ведомого), с тупыми циклами ожидания отправки, с использованием прерываний вместо тупых циклов или еще как-нибудь. Выбор конкретного способа зависит от назначения всего устройства.
2) Чтение/запись по I2C практически ни чем не отличаются для разных ведомых, а ведомых на одной линии может быть много. Зачем тогда дублировать код?
Получается что пихать работу с I2C непосредственно в "либу для работы STM8 c si7021" нет смысла. В этой либе должны быть лишь функции для вычисления результата по формуле из даташита и кучка дефайнов с адресами и кодами команд si7021.
99 299765
>>299747
Всё правильно говоришь. Функции для работы с и2ц должны быть универсальные и в отдельном модуле. А в модуле с кодом для датчика использовать их или создать функции-обёртки для вызова функций обмена по и2ц. Главное сильно не увлекаться, а то выйдет тормознее ардуины.
100 299794
>>299769
в 2к17 затачивать код под камень, чтоб прочитать датчик, орнул блядь
101 299798
>>299668
Она уже написана. И не мной, я под себя её скорректировал.

// файл драйвер для SI7021 и наверное подобных

#include <i2c.h>
#include <delay.h>

// регистры

#define SI7021_ADDRESS 0x40
#define SI7021_READ_TEMP 0xE0
#define SI7021_READ_RH 0xE5

#define SI7021_READ_ID1_1 0xFA
#define SI7021_READ_ID1_2 0x0F
#define SI7021_READ_ID2_1 0xFc
#define SI7021_READ_ID2_2 0xc9

#define SI7021_READ_FWREV_1 0x84
#define SI7021_READ_FWREV_2 0xB8

#define SI7021_RESET 0xFE

#define SI7021_WRITE_HEATER 0x51

float SI7021_Temperature, SI7021_Humidity;

int SI7021_getData(char Register)
{
int res = 0xFFFF;
i2c_start();
i2c_write(SI7021_ADDRESS << 1);
i2c_write(Register);
i2c_start();
i2c_write((SI7021_ADDRESS << 1) | 0b00000001);
res = i2c_read(0) << 8;
res = res + i2c_read(0);
i2c_stop();
return res;
}

void SI7021_setData(char Register, char Data)
{
// int res = 0xFFFF;
i2c_start();
i2c_write(SI7021_ADDRESS << 1);
i2c_write(Register);
i2c_start();
i2c_write(SI7021_ADDRESS << 1);
i2c_write(Data);
i2c_stop();
//return res;
}

void SI7021_init(void)
{
i2c_start();
i2c_write(SI7021_ADDRESS << 1);
i2c_write(SI7021_RESET);
i2c_stop();
//SI7021_setData(SI7021_WRITE_HEATER, 0b00000111);
//delay_ms(100);
//SI7021_setData(SI7021_WRITE_HEATER, 0b00000001);
}

char SI7021_Calculate(int Delimiter) // процедура чтения байта из датчика
{
char res = 0;
long temp;
long tempLong;
float tempFloat;
float temp1, temp2;
temp1 = SI7021_getData(SI7021_READ_RH);
if (temp1 > 0xFFFE) res = 0;
else res = 1;
//SI7021_Humidity = temp;

temp2 = SI7021_getData(SI7021_READ_TEMP);
if (temp2 > 0xFFFE) res = 0;
else res = 1;
//SI7021_Temperature = temp;

//tempFloat = SI7021_Humidity;
//alueHumi = 125.0outHumi/65536 - 6;

SI7021_Humidity = ((125
temp1) / 0xFFFF) - 6;
if (SI7021_Humidity < 0) SI7021_Humidity = 80 + SI7021_Humidity;
SI7021_Humidity /= Delimiter;
/if (SI7021_Humidity > 99)
{
SI7021_Humidity = 99;
SI7021_setData(SI7021_WRITE_HEATER, 0b00000111);
}
else SI7021_setData(SI7021_WRITE_HEATER, 0b00000001);
/

//tempFloat = SI7021_Temperature;
SI7021_Temperature = ((175.72 * temp2) / 0xFFFF) - 46.86;
//= tempFloat;
SI7021_Temperature /= Delimiter;
if (SI7021_Temperature > 99999) SI7021_Temperature = 99999;

res = 1;
return res;
}
101 299798
>>299668
Она уже написана. И не мной, я под себя её скорректировал.

// файл драйвер для SI7021 и наверное подобных

#include <i2c.h>
#include <delay.h>

// регистры

#define SI7021_ADDRESS 0x40
#define SI7021_READ_TEMP 0xE0
#define SI7021_READ_RH 0xE5

#define SI7021_READ_ID1_1 0xFA
#define SI7021_READ_ID1_2 0x0F
#define SI7021_READ_ID2_1 0xFc
#define SI7021_READ_ID2_2 0xc9

#define SI7021_READ_FWREV_1 0x84
#define SI7021_READ_FWREV_2 0xB8

#define SI7021_RESET 0xFE

#define SI7021_WRITE_HEATER 0x51

float SI7021_Temperature, SI7021_Humidity;

int SI7021_getData(char Register)
{
int res = 0xFFFF;
i2c_start();
i2c_write(SI7021_ADDRESS << 1);
i2c_write(Register);
i2c_start();
i2c_write((SI7021_ADDRESS << 1) | 0b00000001);
res = i2c_read(0) << 8;
res = res + i2c_read(0);
i2c_stop();
return res;
}

void SI7021_setData(char Register, char Data)
{
// int res = 0xFFFF;
i2c_start();
i2c_write(SI7021_ADDRESS << 1);
i2c_write(Register);
i2c_start();
i2c_write(SI7021_ADDRESS << 1);
i2c_write(Data);
i2c_stop();
//return res;
}

void SI7021_init(void)
{
i2c_start();
i2c_write(SI7021_ADDRESS << 1);
i2c_write(SI7021_RESET);
i2c_stop();
//SI7021_setData(SI7021_WRITE_HEATER, 0b00000111);
//delay_ms(100);
//SI7021_setData(SI7021_WRITE_HEATER, 0b00000001);
}

char SI7021_Calculate(int Delimiter) // процедура чтения байта из датчика
{
char res = 0;
long temp;
long tempLong;
float tempFloat;
float temp1, temp2;
temp1 = SI7021_getData(SI7021_READ_RH);
if (temp1 > 0xFFFE) res = 0;
else res = 1;
//SI7021_Humidity = temp;

temp2 = SI7021_getData(SI7021_READ_TEMP);
if (temp2 > 0xFFFE) res = 0;
else res = 1;
//SI7021_Temperature = temp;

//tempFloat = SI7021_Humidity;
//alueHumi = 125.0outHumi/65536 - 6;

SI7021_Humidity = ((125
temp1) / 0xFFFF) - 6;
if (SI7021_Humidity < 0) SI7021_Humidity = 80 + SI7021_Humidity;
SI7021_Humidity /= Delimiter;
/if (SI7021_Humidity > 99)
{
SI7021_Humidity = 99;
SI7021_setData(SI7021_WRITE_HEATER, 0b00000111);
}
else SI7021_setData(SI7021_WRITE_HEATER, 0b00000001);
/

//tempFloat = SI7021_Temperature;
SI7021_Temperature = ((175.72 * temp2) / 0xFFFF) - 46.86;
//= tempFloat;
SI7021_Temperature /= Delimiter;
if (SI7021_Temperature > 99999) SI7021_Temperature = 99999;

res = 1;
return res;
}
102 299817
>>299798
Ну вот, придется дальше прокрастинировать.
103 299821

>оптимизация, переписать на ассемблере...


>>299817

>float


Я конечно понимаю что на ассемблере есть смысл что-то писать только когда это повысит характеристики устройства в целом, но float все же использовать не стоит. Использование float даже не облегчает написание кода, но зато заметно тормозит и увеличивает размер кода.

>0b00000111


Этого нет в C99 ни даже в C11. Зачем на пустом месте создавать препятствия для использования других компиляторов?

>глобальные переменные, в которые функции возвращают значения.


>SI7021_Calculate при этом всегда возвращает 1

104 299831
Мммм...
Извините, а в массовом производстве, какая разница, стм8, авр, пик, мсп430 и т.п? В чем СЕРЬЕЗНОСТЬ дешманских лоу-перфомэнс МК? Я бы еще понял, если бы оп создал тред про плис или какой-нибудь монолитный SoC, но тут тред о выборе между шилом и мылом. Да еще в ключе у кого лучше ассемблер, как сэкономить несколько тактов в алгоритме вывода на говнодисплей, и это в конце 2017 года!
Оп, извини еще раз, но сей тред - какой-то сюр и клоунада.
105 299835
>>299821

>Этого нет в C99 ни даже в C11. Зачем на пустом месте создавать препятствия для использования других компиляторов?



В крестах 14 есть, так что соси зуй.
106 299838
>>299831

>Извините, а в массовом производстве, какая разница, стм8, авр, пик, мсп430 и т.п? В чем СЕРЬЕЗНОСТЬ дешманских лоу-перфомэнс МК? Я бы еще понял, если бы оп создал тред про плис или какой-нибудь монолитный SoC, но тут тред о выборе между шилом и мылом. Да еще в ключе у кого лучше ассемблер, как сэкономить несколько тактов в алгоритме вывода на говнодисплей, и это в конце 2017 года!



Правильно подметил, в массовом производстве важна надежность. Именно поэтому в ЭБУ автомобилей вы нигде (кроме сосницких поделок ) вышеназванные МК не найдете. Там отчего-то автомотив -грейд предпочитают, c509 там, ST10, TriCore'ы. Ну не прет их в средства повышенной опасности разные сосницкие атмеги (как и прочие СТМ32 и в принципе ARM, к слову, потому как ядро у всех микроконтроллерных армов - как правило ванильное IP, то бишь не верифицированное на кучу девяток надежности и нихуя не предназначено для ответственных применений .) ставить со слетающими от малейшей помехи по питанию прошивками.
107 299840
>>299831
Вцелом да, тот же STM32 предоставляет огромнейшый диапазон МК: серия L с ультранизким энергопотреблением, M от простых, которые можно считать "8-битниками" семейства ARM, до йоб с DSP и высокоростным АЦП, ну и новинка - серия H на новом техпроцессе 40 нм с 1Мб ОЗУ и 2Мб флеша на борту. STM8, пики точеные и авры дроченые - это вариант для очень больших партий устройств, когда тебе надо наклепать миллион махараек и ты можешь поставить МК на 1 рубль дешевле, сэкономив таким образом 1 млн рублей.

мимо
108 299841
>>299840

>Вцелом да, тот же STM32 предоставляет огромнейшый диапазон МК



И все - сосницкое говно, к сожалению, годное лишь для развлекательной аппаратуры. Жаль что армы не позаботились верификацией своего ядра. Архитектура ж годная.
109 299843
>>299838

>сосницкие атмеги


Ясно понятно.
http://www.atmel.com/products/microcontrollers/avr/automotive_avr.aspx
http://www.st.com/content/st_com/en/products/microcontrollers/stm8-8-bit-mcus.html?querycriteria=productId=SC1244

Всем похуй на твое аутомотив говно для корыт, никто тут не собирает тракторы с автопилотом или гоночные электромобили.
110 299845
>>299843
>>299838
PIC'и применялись и применяются в автомотив и медикал апликейшэнс со времен, когда вас, господа, даже в виде спермы не существовало.
111 299847
>>299838
В автопроме очень большая инерционность. Плюс сюда добавь огромное legacy. Ну и да, зачем что-то менять, когда уже есть рабочий и отлаженный софт. Плюс там закрытость во все поля только приветствуется.
Однако, pic'и, вполне себе успешно использовались. В последнее время и stm8 встречается даже
112 299850
>>299838
Я такие применяю http://ic.milandr.ru/products/mikrokontrollery_i_protsessory/1986ve1t/
Если понадобятся радиационно-стойкие, то есть http://www.dsol.ru/data/upload/Описание_процессор_Спутник.-20150119113423.pdf и http://multicore.ru/index.php?id=556

>c509 там, ST10, TriCore'ы.


DSP не применяют?

Ну и вообще велика ли разница под какие микроконтроллеры писать?
113 299858
>>299850

>DSP не применяют?



Ну вот TriCore уже можно считать.
114 299874
>>299821
Говнокод же, ну. Я там даже не повырезал до конца закомментированное.
115 299875
>>299838
Верно подмечено, но мы и не ЭБУ тут пишем, а экранчики со сбором информации по датчикам. Хотя ЭБУ я все же сделаю для своего w124, на АТ128, земля мне пухом, ололо.
116 299876
>>299875

> Хотя ЭБУ я все же сделаю


> на АТ128



VEMSопарашу то биш.
117 299877
>>299876

> VEMS


Ну в принципе, да. w124 с мотором М102 имеет минимум вмешательства электроники на работу мотора, там механический впрыск. ЭБУ контролирует прогрев и отсечку.
118 299878
>>299877
Архив старого сайта MegasquirtAVR с исходниками прошивки надо?

http://forum.cxem.net/applications/core/interface/file/attachment.php?id=346571

Там правда древние сорцы под древний аврстудио с использованием констант старого образца.
119 299879
>>299878
Спасибо, конечно, но я тот ещё извращенец, по новой напишу.
120 299880
>>299878
Читаю доки, смеюсь над собой. Уже размечатался, если кто-то смог, то почему бы не взять опыт? Воткнуть RS485, на него экран сенсорный, выводить сразу на торпедо и настройки сразу менять. Захотел ехать экономнее - нажал кнопу, захотел ехать веселее - нажал кнопу.
121 299881
>>299880

>Читаю доки, смеюсь над собой. Уже размечатался, если кто-то смог, то почему бы не взять опыт? Воткнуть RS485, на него экран сенсорный, выводить сразу на торпедо и настройки сразу менять. Захотел ехать экономнее - нажал кнопу, захотел ехать веселее - нажал кнопу.



Ну ты учти, там довольно ранняя история, еще без зажигания и с онли попарным впрыском. Так, код почитать, посмеяться. Из годноты там для себя калибровочные массивы для разных датчиков нашел. И код обработки дпкв.
122 299883
>>299881
Там шаговый для регулировки холостого хода, MAX232 и экран 4х20, конечно посмеяться. Калибровочные массивы это да, это вещь.
123 299884
>>299883

Шаговый драйвер кстати если заменить ихний на тридепринтерный DRV8825 то можног кучу ног сэкономить
124 299903
>>299831

>Извините, а в массовом производстве, какая разница, стм8, авр, пик, мсп430 и т.п?


Соответствие поставленной задачи способам её реализации. + Цена конечных изделий, что в крупных партиях играет немаловажную роль.

>>299838
Автомотив должен помимо всего проходить сертификацию, не говоря уже о соответствии требованиям нормам и стандартам. Для этого делают специальные серии мк.
4af979as-100.jpg3 Кб, 100x100
125 299911
>>299838
Двачаю, братиш.
>>299903

>Автомотив должен помимо всего проходить сертификацию, не говоря уже о соответствии требованиям нормам и стандартам. Для этого делают специальные серии мк.



Спасибо, кэп.

>>299884
>>299883
>>299880
>>299879
>>299878

Вот пока подобные вам дядтлы будут по сотому разу говно в ступе толочь, у меня денег не убудет никогда.
126 299919
>>299911

>Вот пока подобные вам дядтлы будут по сотому разу говно в ступе толочь, у меня денег не убудет никогда.


Сидишь такой, оке, хоббийствуешь по тихому, пепелац свой полируешь. А какой-то мудак на сайте с молнией думает, что будет на тебе навариваться.
127 299924
>>299841
http://www.voragotech.com/products/VA10820
Как объяснишь это?

>>299838

>c509 там, ST10, TriCore'ы.


Их не на Си программируют что-ли? Или периферия как-то совсем по особому устроена? В чем тогда сложность человеку, натренировавшемуся на других микроконтроллерах, перейти на эти?

>ставить со слетающими от малейшей помехи по питанию прошивками.


То есть портится содержимое ПЗУ, но остальное остается целым? Что подавать чтобы это осуществить? Хочу повторить.
128 299937
>>299924
Ха, был один случай c stm32f3, когда от импульсника рядом наводилось на свдио команда ресета. Дебажили долго, повторить в других платах и условиях так и не удалось.
Сейчас стм8 ресеталась так же от буста рядом, но там был косяк разводки, уже пофикшено.
Чтоб хоть раз сбросился или изменился флеш от помех я не встречал, хотя в сигнально грязных платах часто работаю.
129 299947
>>299940
Такое впечатление, будто безумие шизика распределилось между анонами в этом треде.

>Как немцам удалось


Ты немец? Или тебе тоже удалось? Тому анону >>299937 удалось хоть что-то. Тебе не кажется, что тот анон делает явно не промышленное оборудование?
И вообще плохой пример. В промышленном оборудовании явно не требуется ставить импульсные преобразователи вплотную к микроконтроллерам, там вообще не целесообразно применять импульсные источники для питания микроконтроллеров.
Также стоит различать внутренние и внешние помехи.

Ну ахуеть, давайте теперь любую мигалку экранировать, ставить фильтры и прочее.
130 299957
>>299937
Контроллеры st7 теряли прошивку при проблемах с питанием. Не знаю в чём дело, но таким образом умирал мозг одного водонагревателя.
131 299996
>>299940
Ты че блядь, припадочный?
Какой нахуй сименс?
Какие блядь немцы?
Ты хотя бы примерно понимаешь разницу в классах устройств, и применении экранирования в них?
Нет, давай в каждой парашне лепить синфазники по каждой микре, каждой письке по изолированному питальнику и интерфейсу с безбожными adumами, и все ещё и экранами залепим, чтобы на ста гигах - 100dB давало.

Ты блядь хоть немного выкупай, о чем ты пишешь.
>>299947
Промышленное мы лепили, точнее участвовали, но там никаких проблем не было. Да и вообще я говорю, два раза только столкнулся с этим за все время, хотя с 2011 года с стмками работаю вплотную (с 32 только. С восьмыми года три знаком). Чаще всего тысячи других проблем, но из за проблем по питанию только два раза.кстати оба раза оч грубый косяк в разводке. Там любой мк охуел бы
132 299997
Есть STM8l-Discovery с приделанным ЖК-индикатором для управления которым используются практически все порты контроллера. Можно ли программно тушить индикатор, попользоваться портами, потушить периферию и вывести результаты на индикатор? Или жк-индикатор будет шунтировать всякие I2C&SPI?
133 300015
>>299997

>ЖК-индикатором для управления


Ты понимаешь как происходит управление? У этого индикатора, судя по всему, сегменты подключены напрямую к микроконтроллеру без всяких драйверов. На сегменты ЖКИ нельзя подавать постоянное напряжение, можно подавать только переменное с частотой около 50 Гц, чем и должен заниматься микроконтроллер.

>Можно ли программно тушить индикатор


Для этого нужно перевести в высокоимпедансное состояние выводы микроконтроллера, подключенные к общим выводам ЖКИ.

>Или жк-индикатор будет шунтировать всякие I2C&SPI?


Насколько я помню, ток потребления таких индикаторов от нескольких сотен наноампер до десятков микроампер. Так что ничего зашунтировать он не сможет, но высокоимпедансное состояние выводов мк может оказаться недостаточно высокоимпедансным. Хотя тут я могу ошибаться.
stm8l1526-eval.png578 Кб, 640x640
134 300017
>>300015
Спасибки. Уже пол часа тужусь понять по ангельски рефернс мануал. Понял, что идея хуевая. Нужно откинуть копыта встроенный ЖКИ и подключить 8002/1602/2004. Тогда освободятся порты и можно будет чего нибудь мутить. Видимо эта плата сделана для демонстрации возможностей управления ЖКИ и совсем не осталось свободных пинов. А я по тупости ее купил повевшись на встроенный индикатор. Надо было eval брать
135 300101
>>299997

> Можно ли программно тушить индикатор, попользоваться портами, потушить периферию и вывести результаты на индикатор?


Можно, конечно:
http://sezador.radioscanner.ru/pages/articles/sources/lcdctrl.htm
http://www.st.com/en/embedded-software/stsw-stm32013.html
http://radiokot.ru/articles/26/
https://eewiki.net/display/microcontroller/Basic+LCD+Example+for+Xmega-B1

Одна проблема: «заебёшься» пишется с мягким знаком (особенно если этот индикатор с динамической индикацией). Проще взять микроконтроллер со встроенным ЖКИ-контроллёром (как тот же STM8L152, что стоит в твоём дисковери) или (если хочется сэкономить ножки микроконтроллера) специально обученную микросхему, вроде HT1621.
136 300106
>>300101
Зачем ты написал эту стену текста? Я пишу:

> Есть STM8l-Discovery с приделанным ЖК-индикатором для управления которым используются практически все порты контроллера.


Хотел узнать про возможность программного отключения ЖКИ ( ну типа СОМ выводы занулить/в единицу перевести), попользоваться портами и снова врубить ЖКИ. Почитал референс мануал, ответ анона >>300015 и понял, что сморозил глупость.
bump-sign-mintprofusion-flickr.jpg203 Кб, 500x478
138 300336
gv.jpg89 Кб, 625x475
139 300338
>>300272

ардуинщики добрались до корпораций
140 300614
>>298779 (OP)

>поэтому просьба авр-детям и арм-подросткам как минимум постараться не начинать свои срачи



Может ещё и говно есть запретишь?
141 300620
>>299068

>>КО КО КО АВР НЕ НУЖНЫ!


>>КО КО КО АРДУИНОБЛЯДИ ПИДОРЫ!


>>_delay_ms(1);


Ха-ха... Тонкая подъёбка - название функции из AVR :-)
142 300621
>>300620

>>>_delay_ms(1);


>Ха-ха... Тонкая подъёбка - название функции из AVR :-)



Совсем довн? Может ещё другие слова англиского языка закрепим за авр и ордуино?
143 300631
>>300621
окай. в каком компиляторе/ide для stm8 "ис каропки" есть функция с названием _delay_ms?
144 300642
>>300631
Соседа зовут Серёжа и он хуесос, тебя тоже зовут Серёжа, значит ты тоже хуесос. Смекаешь?
145 300648
>>300642
Признавай уже, что _delay_ms пришло из AVR - хули мажешься
146 300650
>>300648
Мой дилэй пришел из HAL, us delay вообще на таймере. Но всё это не делает тебя меньшим хуесосом.
147 300657
>>300650

если в программе используется delay значит весь код лютое говно ардуинщека
148 300665
>>300657

> если в программе используется delay значит весь код лютое говно ардуинщека


ТЫ СКОЗАЛ?
Чем ты задержки предлагаешь делать?
c-SS3gRais.jpg21 Кб, 500x375
149 300667
Анон, как рукоблудить с прерываниями не используя SPL?
150 300672
>>300665
Не обращай внимания на ребенка, котрый недавно научился пользоваться таймером с прерываниями и теперь пытается его тулить везде для задержек. Подрастет - сам поймет в каких случаях и зачем нужны программные задержки.
usb-arduino.jpg87 Кб, 600x612
151 300674
>>300665

я скозал, твёрдо и четко

>задержки делать


нужно уметь в конечные автоматы и таймеры
конечно очень редко нужны spinlock'и
но если у тебя есть такая задача то ты не будешь задавать такие тупые вопросы если не ардуинщег конечно конченый
152 300675
>>300672

о взрослый ардуинщег, неподскажите дядя ну и зачем же нужны програмные задержки?
153 300676
>>300674

> нужно уметь в конечные автоматы


Словосочетание модное выучил? Каким хуем конечный автомат тебе даст нужную задержку? Пример приведи, сестра.
154 300677
>>300672

"программные задержки" - так говорят только ардунщики или пидоры, настоящие системные программисты это называют спинлоками и стараются не использовать без необходимости
155 300678
>>300676

>Каким хуем конечный автомат тебе даст нужную задержку?



если ты этого не понимаешь то немного поешь говна прежде чем спрашивать примеры
1462101832792857495.jpg21 Кб, 400x274
156 300679
>>300667
Пока тут спорят, я бампну свой реквест.
157 300680
>>300679

нужно прочитать в дадашите про регистры управления и уметь в продвинутое битоёбство, но как может ардуинщек в такое?
158 300683
>>300680

>в дадашите про регистры управления


Ну таки здравствуйте, АВРщик приплыл. не референс мануал, не?
Мне обработчик написать надо. Вот я и спрашивал. А пока ты хамил уже сам нашел. Спасибо тебе огроменное, надеюсь сдохнешь от рака яиц. А вы тут и дальше загнивайте и называйте друг друга быдлоардуинщиками, благо сами от них далеко не ушли.
ITC.PNG105 Кб, 1266x865
159 300684
>>300679
Используй ASM
160 300685
>>300683

> А вы тут и дальше загнивайте


Нахуя ты пригорел от одного дауна?
161 300687
>>300650
интересно у тебя HAL_Delay превратилась в авровскую _delay_ms
лол
162 300688
>>300678
Сделай мне задержку на 15 мкс.
wZrV3RiA0.jpg48 Кб, 815x648
163 300690
>>300685
У меня всегда печёт от этой хуйни. Везде, абсолютно везде найдутся хуева гора просто умники, которые мало того, что не ответят тебе, так еще и обосрут с ног до головы, причем сделают это с таким снисходительным видом, будто великое знание тебе дают.
164 300691
>>300687

> HAL_Delay


> STM8


Что же вы творите-то?
165 300692
>>300683

пригар защитан
166 300693
>>300688
И мне, только не 15, а 12,5. А то заебало уже циклы с NOPами юзать.
167 300694
>>300690

это двощь образовательный, тут только самые охуенные советы от гуру
168 300695
>>300690

> всегда печёт от этой хуйни


Не обращай внимания. Посмотри хоть на того же DiHalt-а. Нихуя не зазвездел, отвечает на вопросы, а тут ни одного вменяемого ответа, только траллинг "ардуинщегами". По факту и blink не осилил.
169 300697
>>300693

а мне сделайте задержку 10нс
мхахаха

ардуинщиги с их недодевайсами всегда доставляют, что avr что stm8
170 300698
>>300697
Дай уже определение не ардуинщика
os_delau? Lol
171 300699
>>300695

ага спроси у уважаемых форумчан дихальта
кстати дихальт молодец, да, когдато был ардуинщеком но смог преодолеть
172 300700
>>300697

> 10нс


Не сделаешь, у тебя такт на 16МГц = 6.25нс
173 300702
>>300697
Хорошо, тогда сделай мне прием/передачу по ГОСТ 18977-79.
174 300704
>>300702

>ГОСТ 18977-79



запрасто

1586ИН2АУ, 1586ИН2АУ1
175 300708
>>300698

быть не ардуинщегом, это в первую очередь не задавать тупых вопросов, не использовать 8ми битное дерьмо без необходимости, не делать интерфейсные устройства на микроконтролерах
176 300709
>>300708

> не делать интерфейсные устройства на микроконтролерах


На спецмикрухах, что ли, делать?
177 300713
>>300709

ну или на FPGA
178 300714
>>300704
Вот тут ты обосрался, это преобразователь уровней всего лишь.
Правильный ответ - использовать DMA в STM32 или брать 1986ВЕ1Т.

>>300709
Можно на CPLD, например. Но зачем это нужно если микроконтроллер тянет?
179 300717
>>300708

> не использовать 8ми битное дерьмо без необходимости


Везде буду ставить stm32f429zit, мастер. Что бы мы без твоих советов делали.
180 300719
>>300714

ну подловил злодей, со своими ибаными гостами
кстати 1986ВЕ1Т заебись выглядит, зачипительный

>Но зачем это нужно если микроконтроллер тянет



вот типичный тупой вопрос ардуинщега
181 300721
>>300717

>stm32f429zit



ну охуенно же
182 300726
>>300714

вот нахуя в 1986ВЕ1Т засунули RISC ядро с тактовой частотой до 144 МГц? зачем металлокерамический корпус? зачем диапазон температур от -60 до 125, все тоже самое можно было собрать на ардуине и скочать прошивку от вована
183 300728
>>300714

>использовать DMA в STM32



keil уже скачал? чем крякал?
кейл.PNG20 Кб, 667x290
184 300729
>>300728

> чем крякал?


Уткой.
185 300730
>>300729
Запили вебм с музыкой, я ее коллекционирую
186 300731
>>300730
Я не умею такую хуйню творить.
187 300732
>>300728
Зачем? Я и без микроконтроллера могу светодиодом мигать.
188 300734
>>300732

кстати когда небыло микроконтролеров ардуинщики использовали NE555 вместо транзистора
d9cfae806280fe3e7944b5c8f0213d89.jpg80 Кб, 794x798
189 300737
>>300677

>настоящие системные программисты это называют спинлоками


ардуинщик и пидор тут явно только ты, потому что называешь обычную блокировку процесса тремином, который никакого отношения к этому не имеет и применяется для обозначения флага блокировки в вытесняющих RTOS, конечных автоматах с семаформами и тому подобных структурах управления потоками программы.
190 300738
>>300691
Видишь как чувак ужом извивается от avr-овского названия - уже и HAL приплёл для STM8
192 300748
>>300737

в викепедии прочитал?

переключи на английский язык и там написано:

the use of such a lock is a kind of busy waiting
то есть спинлок является разновидностью бузивейта
в свою очередь на странице busy_waiting написано:
Spinning can also be used to generate an arbitrary time delay
спины могут использоваться для генерации задержек

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

так что пидор и ардуинщег это только ты
193 300750
>>300688
void DelayUs(uint16_t us)
{
TIM4->ARR = us - 1;
HAL_TIM_Base_Start(&htim4);
while ((TIM4->CR1 & TIM_CR1_CEN) != 0);
}
15053186586940.jpg56 Кб, 567x561
194 300755
>>300737

>Spinning can also be used to generate an arbitrary time delay


>can also be used


>can be


Ебать ты воннаби программист НЕардуины, начитался гайдов как диодом поморгать без delay, а как он работает, так и не понял.
Могут быть, не значит что они используюся для реализации delay в той или иной стандартной либе для периферии МК.

avr-libc, в зависимости от значения макроса в заголовочном файле, делает задержки непосредственно на NOPах:

void __builtin_avr_nops (unsigned count)
Insert count NOP instructions. The number of instructions must be a compile-time integer constant.

либо на счетчике с использованием правильно, все тех же NOPов в while цикле, можешь убедиться, заглянув в исходники:

void __builtin_avr_delay_cycles (unsigned long ticks)
Delay execution for ticks cycles. Note that this built-in does not take into account the effect of interrupts that might increase delay time. ticks must be a compile-time integer constant; delays with a variable number of cycles are not supported.

И каким боком это имеет отношение к реализации спинлок задержек с использованием флага блокировки?
195 300756
196 300760
Е
197 300765
>>300737
>>300755
Ебать туцт псевдопогроммиистов набежало. Катитесь в /ga/ отседова.
198 300776
>>300765

большинство ардуинщеков из /ga/ сюда и поналезла
199 300793
>>300750
Есть нидостаток -- твоя задержка будет сильно заисеть от того, как компилятор раскидает код на асм-инструкции. А ищо накладные расходы на вызов функций. HAL_TIM_Base_Start(&htim4);
200 300794
>>300793

ардуинщикам невозможно объяснить что существует компилятор и стандарт пророк его
201 300804
>>300794
Ебашь в машинных кодах тогда, манька узнавшая слово ардуинщег.

>>300793
Можно переписать всё на работу с регистрами, вместо трёх строчек будет четыре.
202 300808
>>300804

>Ебашь в машинных кодах тогда



всегда так делаю, там где это нужно
203 300810
>>300804

>>Ебашь в машинных кодах тогда, манька узнавшая слово ардуинщег.



А почему не на ассемблере? Написанный в машкодах намного быстрее выполняется?
tr1.png4 Кб, 196x257
204 300811
>>300810

в машиных кодах быстрее транслируются
205 300815
>>300793
>>300750

Оба мудаки.

Что случится с вашей задержкой, когда мк поймает прерывание, а то и не одно, а то и мегажирное, а? У ардуинобыдла - сразу же полный фейл. У неардуинонебыдла - фейл случится когда прерывание прыгнет в конце - но в любом случае меньший, нежели у ардуинобыдлы.

Правильный подход - запускаем таймер, вешаем прерывание на срабатывание, продолжаем заниматься дальше процессором другими полезными делами,а не жрем лепестричество. Ну и не забываем правильно разрешать-запрещать прерывания, ессно.
mfj550l.gif31 Кб, 550x205
206 300816
>>300811
Нахуй эти ваши трансляторы-компиляторы хуевы, мне работать надо, а не джать. Вот инструмент, который используют настоящие профи.
207 300817
>>300815
Всему есть пределы применения. И если мне нужно лишь подождать 40 мс при инициализации лсд-дисплея, то мне похуй на возникшее прерывание (оно всё равно не больше 200 мкс будет). А дрочить таймер не всегда представляется возможным. У меня он почти всегда тикает и выдаёт прерывание каждую мс, а в этом прерывании я опрашиваю кнопки/вывожу на семисегментник, отмеряю время и выставляю флаги окончания.
208 300818
>>300817

> Всему есть пределы применения. И если мне нужно лишь подождать 40 мс при инициализации лсд-дисплея, то мне похуй на возникшее прерывание (оно всё равно не больше 200 мкс будет). А дрочить таймер не всегда представляется возможным. У меня он почти всегда тикает и выдаёт прерывание каждую мс, а в этом прерывании я опрашиваю кнопки/вывожу на семисегментник, отмеряю время и выставляю флаги окончания.



А если тебе нужно прыснуть форсункой в мотор? То хуй там, перельешь - детон, рука дружбы, кровища кишки мотор распидорасило, развернуло, въехал в грузовик, пизда блядь. Если это дело управляет системой АБС/ТЦС- то все еще хуже - передержал тормоз - вместо выравнивания жоповозки - пизда кювет трупы.
209 300819
У кого нибудь i2c на stm8s003 работает?
С sdcc не взлетает чот пока.
1120consolehires.pjp902 Кб, 3084x1426
210 300820
>>300816

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



Если убрать школошутку, то ты недалек от истины (пикрил).

На всех машинах того времени при включении машины ты должен каждый раз был руками побитно впердоливать машинными словами в память загрузчик с перфоленты/магнитной ленты/дискет/харда. То есть не "включил комп-винда загрузилась" и даже хуй там "бейсик загрузился". А пришел утром на работу, включил машину, и сидишь такой тумблерами пердолишь байты в память, причем сначала натыкиваешь адрес куда писать, затем тумблером переключаешь на ввод данных, вводишь значение и дальше пишешь.
211 300821
>>300818

>А если тебе нужно прыснуть форсункой в мотор



прыснул тебе FPGA в лицо
212 300822
>>300816

ну если ты такой практик то

1. бери STM32
2. скачивай кеил, крякай
??? proit

все ардуинщики рано или поздно переходят на это дерьмо, даже я
213 300826
>>300821

>прыснул тебе FPGA в лицо



FPGA не выпускаются в automotive исполнении. И никто в здравом уме их не использует - у FPGA оче все хуево с помехозащищенностью - не забываем, что в машине куча электродвигателей разного назначения (вентилятор радиатора, печки, мотор дворников и.т.д., генератор, и, самое главное, системы зажигания и впрыска.

Любой перегрев или помеха, как по питанию так и по выводам - и прошивке пизда.
214 300827
>>300819
Там есть некотороя хитрость с и2ц. Что оно нормально работало, нужно прочитать эррату и согласно эррате написать код.

Вот тебе материал для размышлений
https://pastebin.com/sKDzZHER
shizo.jpg52 Кб, 425x237
215 300829
>>300826

>FPGA не выпускаются в automotive исполнении


>все хуево с помехозащищенностью


>мотор дворников и.т.д.


>и прошивке пизда



мхаха

да братан это фиаско
216 300830
>>300822

>2. скачивай кеил, крякай



А нахуя, если есть arm-gcc-none-eabi под шинду и попенсорсный stlink-gdb? Берешь хоть вижуалстудию, хоть кодблокс, хоть эклипс, хоть вим с емаксом, настраиваешь под себя и хуячишь.
217 300831
>>300829

>мхаха



Хуйха. Ни один уважающий себя производитель ЭБУ плисы не использует.
218 300832
>>300818
Для начала я бы узнал, какие требования к таймингам, ибо понятия не имею даже о порядках (мс, мкс, нс ?).

Что в таком случае ты предлагаешь делать? Задержки на таймере? Распиши подробно.
219 300833
>>300820
К счастью, эти времена прошли. Чем меньше тебе нужно выполнять действий для выполнения задачи — тем лучше.
220 300834
>>300822

>> Ебись с установкой и кряканьем кейла.



А потом ебись с кейлом, когда эта штука тебе выделит маленький стек, а твоя гениальная мигалка диодом через изернет ебанётся в корку.
221 300835
>>300831

конечно не используют, наиболее адекватные используют ASIC
222 300836
>>300831
Уж не потому ли, что дораха (за плис в некоммерческом исполнении)?
223 300837
>>300835

>наиболее адекватные используют ASIC



Хуясик, дятел. Используют они, что бош, что сименс, что AEM, что Motec, что Blitz - промышленные микроконтроллеры. Причем в основном старые проверенные семейства, как правило - это наследие от мотороллы, инфинеона или ST. А хуясики ваши биткоены майнят.
225 300841
>>300827
Спасибо, анон.
IMG20171028200946.jpg3,2 Мб, 2368x3200
226 300842
>>300837
Канеш.
227 300844
>>300841
Отпишись, как заработает твоя махарайка. Может какие траблы выловишь.
228 300848
Как работает input capture в STM8 на TIM1?
229 300850
>>300848
Как и написано в реф манауле. Что за вопрос? Поступил на ногу фронт(спад), в регистр CCR записалось текщее значение из CNTR.
230 300871
>>300844
Завтра доберусь до нее.
Тот девайс уже закончен, и2ц не стал реализовывать, а отладки под рукой нет проверить
231 300872
>>300848
МОЧЕРАТООООООР!!! ЦоПээээээ!!!!
232 300873
>>300872
Не цопе, а детская мода. Чини детектор, манька.
233 300935
есть куча выпаянных stm32, надо их обнулить, проверить и продать. чем и как это сделать, шоб быстро и дешева?
234 300938
>>300935
STлинком китайским. Потом шьёшь его в Jlink, обнуляешь свои термометры на атмегах и не размазываешься по всем тредам.
235 300962
>>300873
И нахуй это в стм8 треде?
236 300980
>>300962
Что ты к пикрилу доебался?
237 301015
>>300980
Я мамкин борцун за правду и правильность.
238 301042
>>298779 (OP)
Завидуйте, STM8-дауны!!
239 301043
>>301042
Я давно хочу накупить в qfn like корпусе стм32, но пока запас в LQFP48 не израсходовал.
Куэфэн сука паять проще и удобнее, чем выводняк, и компактнее
240 301044
>>301042

>Завидуйте, STM8-дауны!!


>L100


Говна набрал и доволен. То ли дело L152.
241 301047
>>301042
Точно так же я могу сфотографировать свою видеокарту и написать: "завидуйте, STM32-дауны!!".
242 301049
>>301047

> свою видеокарту


При чем тут готовое изделие?
243 301050
>>301044

>То ли дело L152


ты про этих малышек?
244 301051
>>301049
Микроконтроллер тоже готовое изделие, или ты хочешь сказать что микроконтроллер требуется как-то дорабатывать? Видеокарта имеет не меньшее отношение к радиотехнике, чем микроконтроллер. Видеокарта, например, быстрее БПФ или свертку считает.
245 301052
>>298779 (OP)
Итак, залогинился и выхожу из ридонли. Есть датчик влажности HTS221. Эта тварь работает по SPI и по I2C. Какой стул выбрать? Хочу скрестить его с STM8S003F3U6TR на малюсенькой платке и хуярить данные по UART-у по витой паре метра на 4. Кстати. Приемопередатчики RS-485 нужно ставить или так потянет?
246 301054
>>301052
Выше писали(мне), и2ц на s003 работает криво и с костылями. Листни тред на пару десятков постов
247 301059
>>301054
А UART можно прямиком по витухе хуячить?
248 301070
>>301059
да, должен на 4 метра завестись без проблем.
ну, если че, еще можешь max232 с двух сторон витухи прихуячить, чтобы уровни повыше были. или вообще хоть на полевиках согласовывай
249 301085
>>301042
Ты такой классный, все тян хотят от тебя детей.

>>301052
И2ц удобен, когда у тебя есть несколько устройств на этой шине. В остальных случаях спи всегда проще как протокол. Длинные провода на юарт должны работать, хотя сам не тестировал. Скорость только выставить пониже, например 9600. А по хорошему следовало б поставить терминаторы и защиту от звона на концах линии передачи. Например, небольшие резисторы и супрессоры, поищи в сети как это делается.
0000000000000.jpg31 Кб, 500x480
250 301088
>>301051
что за хуйню я сейчас прочитал
251 301112
>>301088
непереживай майнеры полезли
думаеш по лету почему такой облом с видюшками случился?
каждый дауненок решал что он бог крипто всякой хуйни...
этож хайп - https://youtu.be/PFuHj5RbKds
252 301123
>>301088
Википедия пишет:

>Радиотехника — наука, изучающая электромагнитные колебания и волны радиодиапазона, методы генерации, усиления, преобразования, излучения и приёма, а также применение их для передачи информации, часть электротехники, включающая в себя технику радиопередачи и радиоприёма, обработку сигналов, проектирование и изготовление радиоаппаратуры.


Кое-что из этого определения подходит для микроконтроллеров, но это же подходит и для видеокарт. Однако попробуй сделать всю цифровую обработку в SDR приемнике на STM32, а на видеокарте это делается запросто. Вот и получается, что видеокарты имеют большее отношение к радиоприему и радиопередаче, чем микроконтроллеры.
Определение с википедии разумеется не истина, но в любом случае радиоприем и радиопередача имеют большее отношение к радиотехнике, чем мигание светодиодом на микроконтроллере.
15005846545830.jpg53 Кб, 800x434
253 301173
>>301123
Начнем с того хуесосина, что у тебя каша в голове, потмоу что ты не различаешь MCU, MPU, GPU и SOC. Нахуя ты приплел сюда свой высер про радиотехнику из википедии, вообще не ясно, потому что разработка цифровых устройств и их компонентов это электротехника.

>цифровую обработку в SDR приемнике


>видеокарты имеют большее отношение к радиоприему и радиопередаче


>радиоприем и радиопередача имеют большее отношение к радиотехнике, чем мигание светодиодом на микроконтроллере.


С этого я так орал, что чуть портки не обосрал. Ты совсем поехавший? Какое отношение имеет радиопередача к GPU видеокарты, а уебище? Она лишь обрабатывает принятый сигнал, с этим STM32 легко справится, вот первая же ссылка с гугла: https://www.youtube.com/watch?v=8EPFWKVx2Dk

Бля у меня просто нет слов чтоб такому ебанату что-то толковое ответить, могу лишь посоветовать никогда не заниматься радиотехникой/электротехникой, иди лучше пивасика с друзяшками попей в парке или в дотку несколько каток сыграй.
254 301177
>>301123
Неожидано, встретить адеквата в треде про STM8 где обычно радиозадроты байтоебы.
255 301182
>>301177

> где обычно


Треду 20 дней от роду. Ничего полезного в нем так и не натредили.
256 301183
>>298779 (OP)
RTOS на STM8 существует?
257 301184
>>301182
А как же выяснение петушков за видимокарты и радиотехнику? не говоря уже о том, что термин радиолюбитель сейчас использовать некорректно
258 301185
>>301183
Существует
259 301186
>>301184

>термин радиолюбитель сейчас использовать некорректно


Кто-то в треде до тебя писал про радиолюбителей?
260 301187
>>301173

>С этого я так орал


>проиграл


Что это означает? Уже не в первый раз такое замечаю, это откуда-то из /b/?

>вот первая же ссылка с гугла:


Плохой пример. Судя по видео там полоса 20...30 кГц. С такой полосой даже WFM демодулировать не получится. При этом можно на FPGA за те же деньги сделать куда больше.
261 301210
>>301182
Так и про ARM-тред тоже можно сказать. Всё таки хоть что-то есть, хоть какие-то крупицы инфы.
262 301219
>>301210

> хоть какие-то крупицы инфы.


Формат имиджборд не предназначен для таких дел. Мне лень перечитывать треды на 2000+ постов. Даже открывать их не хочется, лис охуевает и по паре минут подвисает. Если бы ОПы новых тредов не ленились, а первым постом делали бы выжимку предыдущих тредов, то еще нормально было бы.
263 301220
>>301219
ПыСы. И бамплимит сделать в 500 постов, чтоб не разрастался тред до состояния нечитаемости.
DSC6797.jpg319 Кб, 3872x2592
264 301243
>>298779 (OP)
Чего бы такого замутить?
Screenshot-2017-11-5 Фейл мелкомягких на презентации .png316 Кб, 1494x1547
265 301250
>>301187
Все-таки смог нагуглить это.
266 301256
>>301243
Убери в ящик, достань через год и еще раз подумай. И т.д.
Сам постоянно так делаю.
267 301448
>>301187

>Что это означает? Уже не в первый раз такое замечаю, это откуда-то из /b/?


Да, из /b/, дедуля. Заходи туда почаще.
268 301451
>>298779 (OP)
Есть два стула для измерения переменного тока. Один шунт точеный, а другой чип Аллегро дроченый. На чем лучше и проще замутить? Как измерить переменный ток контроллером, каждые 5нс замерять и высчитывать среднее?
270 301474
>>301451

>5нс



Значение знаешь?
271 301480
>>301474
Мега Герц.
272 301487
>>301474
Слишком редко? Чаще нужно опрашивать?
273 301489
>>301487
1/5нс = 200МГц. Как ты подключишь такой АЦП к STM8? И сколько такой АЦП будет стоить?
274 301494
>>301454
Хорошо, что оно еще шевелится.
Но вот надобности в нем, похоже, все меньше и меньше.
275 301495
>>301489
Чо вы тут такие серьезные? Шутканул слегка, - пол треда ответов. Я уже определился для себя, куплю аллегры и не буду париться с развязками и прочей хуергой.
276 301515
>>301489
600р,бро. 14 бит параллельный
277 301516
>>301515
Сорян, 8 бит.
14 бит адц на эту же частоту
278 301519
Или скупать у хачей обломки от БС.
Такая платка 50р вышла
279 301529
>>301519
Как гуглить такое?
IMG20171028200946.jpg3,2 Мб, 2368x3200
280 301531
>>301529
Ногами(с)
Ходи по радиорынкам и обрящешь
281 301538
>>301494

>Но вот надобности в нем, похоже, все меньше и меньше.



Да хуй там, современные блоки работают исключительно по адаптивным алгоритмам , которые даже не руками писались, а переносились компиляцией из какого-нибудь тамошнего сименско-бошевского аналога simulink. И по этой причине нихуя не настраиваются. А у них плата по цене, сопоставимой+- с январем (плюс у них наконец-то годный чел из украины наконец-то сделал норм цивильную плату
https://rusefi.com//forum/viewtopic.php?f=4&t=1215&sid=bf3d72c74e9d7eb711e7902e67e7b10e
).

Другая проблема, что в современных тачках там уже все по CAN рулится причем с взаимодействием с абс, коробкой-автоматом и прочими систеами, а с этим у них пока конь не особо валялся.
282 301550
>>301538
цивильные и недорогие платы -- это очень хорошо. также, как и число цилиндров больше 4.

когда я интересовался темой, про rusefi как-то совсем не слышно было. смотрел в сторону megasquirt и его авр адаптации, но как ни крутил намного проще выходило взять тот же январь. Сейчас тоже проблем с этим нет. Куча дешевого авто есть, скоторго можно снять весь комплект. В ближайшее время даже приоры в утилизацию пойдут - при желании можно выцепить.

Еще нужны двойные карты для lpg топлива, например, с переключением выхода, естественно, чтобы не плодить количество блоков на машинах с гбо.

По поводу can: тут да, здесь сложнее. Надо снифать шину, писать логи. Все это на разных машинах и в разных условиях.
283 301564
>>300820
Блядь, почему я не родился на 10 лет раньше.. Без механики нихуя не получается допереть что и как в этом ёбаном коде, сколько раз пытался и нихуя не понимаю.
284 301568
>>301564
Я тоже не вкуриваю.
Есть вариант собрать на коленке какой-нибудь спектрум или тут где-то рядом был тред "Homebrew Computers thread". Есть варианты, где все мигает и светится, адреса отображаются
285 301580
>>300820

>На всех машинах того времени при включении машины ты должен каждый раз был руками побитно впердоливать машинными словами в память загрузчик с перфоленты/магнитной ленты/дискет/харда.


Вот кому ты пиздишь, а?
286 301591
>>301580

Бутром появился штатно только в поздних моделях.
287 301593
>>301568

>Есть вариант собрать на коленке какой-нибудь спектрум или тут где-то рядом был тред "Homebrew Computers thread". Есть варианты, где все мигает и светится, адреса отображаются



Альтаир 8800 чтоле?
288 301595
>>301593
Да без разницы.
altair 8800 вообще интересный вариант
289 301597
>>301595
Nes
6502 запишите на STM8
290 301603
>>301597
Не выйдет
291 301615
267px-DennisRitchie2011.jpg25 Кб, 267x351
292 301627
>>301615
Охуенно. Прикинь, на этом компе Ритчи Си выдумывал, на котором тут Антоны пытаются свои горе-прошивки писать.
293 301648
>>301627

Ритчи вот на этом: >>300820 выдумывал. Альтаиры и прочее на 8080 - это уже нищебродская попса с билом гейцом и гей- спермой джобса.
294 301661
>>301627

если бы Деннис знал бы что появится быдло-интел и придётся скачивать кеил и крякать то он бы наверно забил бы и не стал выдумывать Си
295 301669
>>301661
Вроде бы почти все первые UNIX-ы были проприетарными. Так что не надо тут.
И кто тебя заставляет пользоваться кейлом вообще.
296 301671
>>301669

причом тут юникс вообще?

ну кейл это как следующая ступень деградации ардуинщика
297 301672
>>301671
сам-то ты из cli запускаешь gcc и Makefile ручками пишешь, ага?
298 301673
>>301671

>ну кейл это как следующая ступень деградации ардуинщика



То ли дело махараечный GCC на пару с каким-то там опенсосным драйвером стлинка под венду.
299 301679
>>301673
Я тут распиаренным говно-sdcc на пару с наколеночным stm8flash работаю. И да, мейкфайлы сам пишу просто правлю шаблон, написанный давно
300 301680
>>301679
В то время как всё просвещенное человечество течёт от HAL и пользуется Кейлом и EWARM, дебсы продолжают жрать говно и гордиться своей элитарностью.
301 301681
>>301680
Всё провсещённое человечество пишет digitalWrite(Pisos_PIN, HIGH);

У меня нет денег на покупку этих кейлов и эвармов которые тоже говно, подскажи, сколько стоит индивидуальная лицензия с правом использования в коммерческих целях?
302 301682
>>301680
Да и насмотрелся на "божественные" авр-студии и иароподелия. Говно то ещё.
303 301683
>>301681
Так он на торрентах продается. С профешшионал лицухойъ
304 301685
>>301671
При том, что создавался для юниксов, которые были огорожены не хуже кейла.

>>301673
>>301672
Но для STM8 нет gcc.

>>301680
А я взял https://github.com/ObKo/stm32-cmake и CLion. Как IDE, кейл уступает даже эклипсу. Но тред то не про STM32.
305 301692
>>301681
До 32 Мб кода бесплатно, насчёт коммерческого только не уверен. Можешь задать этот вопрос им на сайте.
306 301693
>>301683
Эх, когда уже люди начнут понимать, какое преимущество потребителям даёт opensource недостатки тоже есть, не спорю

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

Нравится тебе жрать что даёт кейл или иар — да на здоровье. Петушню свою только не разводи, ибо писатели на HAL это те же тупые ардуинщики, возомнившие себя богами ко-ко-ко, я пишу под 32-х битные серьёзные контроллеры, ко-ко-ко, не детская ордуина, а сами даже мануал на чип не читали. Достаточно зайти на любой профильный форум и посмотреть, какие вопросы задают эти "профи". А потом с гордостью строчат статьи "Осваиваем хуйня-нейм с нуля. Курс для нубов. Урок 1: Дрочим ножкой". А в самой статье в лучшем случае пересказ первых трёх-четырёх страниц референс мануала.
307 301697
>>301693
Ну и по поводу проприетарщины. Есть такая фирма Silicon Labs. Есть у неё несколько семейств микроконтроллеров и IDE для работы с ними, основанная на эклипс -- Simplicity Studio. Есть даже официальная версия под линукс. Скачиваем, запускаем — не работает. Шедеврально.
Альтера Квартус. Самобытное ide, написанное на Qt. Нормально устанавливается и запускается, вот только есть небольшой момент — вместо кириллицы выдим кракозяблы в интерфейсе. Найс. Они даже не думают, что их поделиями могут бользоваться люди с локалью, отличной от en_US.
А есть куча производителей, пишущих софт на жабе, но работающий только под windows.
308 301698
>>301682
Atmel Studio очень ок, тащемта!
309 301699
>>301685

>Но для STM8 нет gcc.


Знаешь почему? Потому что STM8 не нужОн!
310 301709
>>301699

> gcc


ASM жы есть!!!
311 301712
>>301693
Вся проблема опенсорщины в том, что она юзабельна чуть менее чем никак. Особенно все эти эклипсоклоны.
Алсо, все эти HAL достаточно сильно отвязаны от железа.
312 301716
>>301712
Да вы заебали, какой нахуй ХАЛ у СТМ8? Тут только стандартиш либрари и пиздец.
313 301720
>>301712
Девиз попенсорца: Не нравится? — DIY!
314 301735
>>301693

>HAL


Проигрываю с дебилов с отрицаниями. Я скозал хал нинужон, и все тут. Вот же говноглоты.
315 301741
>>301735
С себя проецируешь?
316 301759
>>301693
Дай ссылку на референс манула, а?

мимо с второй попыткой вкатиться в STM32
317 301762
>>301759
st.com
Screenshot2017-11-09-19-03-03.png76 Кб, 540x960
318 301765
>>301759
Ты вообще видел, что тут тред об стм8? Какие нах стм32, это совсем другое семейство контроллеров. Чип у тебя какой? В гугле вводишь полное название чипа, например, stm32f103c8, переходишь на сайт st.com, проверяешь, что находишь на странице нужного чипа, переходишь к секции документации и там находишь RM0008
319 301767
>>301712
Не знаю, как у других, но у ст все эти спл и халы лишь очередная обёртка над регистрами, которая отвязана от чипа чуть менее, чем никак. Единственное их преимущество в том, что не нужно заморачиваться с очерёдностью записи в регистры.
320 301769
Это теперь STM-тред, а не STM8?

>>301697

>Альтера Квартус.


Кириллица не работает лишь в старых версиях, которые впрочем приходится сейчас использовать для воронежских ПЛИС.

>пишущих софт на жабе, но работающий только под windows.


В КТЦ электроника ухитрились написать синтезатор (для серии 5578) на питоне, причем так, что он работает только под линуксом.

>>301767
Низкоуровневая часть HAL - безусловно. Но в высокоуровневой части все-таки не совсем так.
321 301771
>>301769
Quartus Prime version 15.1.1. Lite Edition. А всё потому, что эти надмозги при запуске кватруса принудительно выставляют LC_CTYPE="en_US". Я это грязно хакнул на ru_RU.UTF-8, квартус запустился без кракозябл. Может чёи сломал, ибо я так ничего в нём не налабал ни разу.

Написать софт под одну платформу как нефиг ссать, я так со своими наколеночными поделками всегда делаю. Но ведь есть разница между недоучкой и сириус бузинесс компани?
322 301794
>>301767

>Единственное их преимущество в том, что не нужно заморачиваться с очерёдностью записи в регистры.


Ну да, поэтому все расписывают инициализацию связанной периферии поштучно, хотя можно запихать в одну строку включение сразу всего нужного.
323 301811
>>301794

>хотя можно запихать в одну строку включение сразу всего нужного


Можно, а можно поштучно. Какая разница?
324 301901
>>301794

>поэтому все расписывают инициализацию связанной периферии поштучно, хотя можно запихать в одну строку включение сразу всего нужного.


Ебанашка хоть видел, какой ассемблерный код генерируется??? Ты погляди, там интересно...
325 302087
Итак, хватит в своем говне вариться. Я тут от умных людей услыхал, что STM8 это выкидыш от ST. Предлагаю потихоньку пилить гайды для ньюфагов вроде меня т.к. меня заебло читать поеботу что на ее, что на остальных сайтах. Все обрывочно, неопрятно и однобоко. Все гайды перечитал, а в голове пусто даже не понял нахуя нужна функция DeInit в SPL, пока сам с этим не столкнулся. Сначала, допустим, инициализация. Можно использовать SPLовские библиотеки, но это тупо тому що у меня прошивка заняла 7 килобайт, хотя я сделал то же самое без SPL с регистрами и получил 2 килобайта ведь как железо работает остается неясным.
Короче, с инициализацией GPIO всё ясно - просто записываем значения в регистры DDR, ODR, CR1, CR2, а как быть с тактированием? Я просто собезъянничал и скопировал из SPLовских фуннкций и у меня не взлетело - контроллер просто зависал. И в результате я не понял, как эта хуита работает. Как правильно инициализировать клок? В какой очередности записывать параметры в регистры?
326 302102
>>302087
RM0016
Reference manual
/тред
image.png38 Кб, 576x133
327 302177
>>302102
Что и требовалось доказать. "Альтфаки", едва осилившие описания регистров в RM, отправляют читать RM. Что я там увиже? Конкретно про инициализацию клока? Там есть диаграмма инициализации HSE, а мне перед этим надо сбросить все параметры по умолчанию, чтобы не от XXX отталкиваться, а от какого-то известного состояния. Просто по очереди все регистры сбрасывать в reset state не получится - контроллер перезагрузится. Алсо пикрил - наглый пиздеж. Регистры какого-то хуя сохраняют свое текущее значение и если у меня была программа, где я поставил делитель HSI 1, то после перепрошивки контроллер все равно работает на HSI/1. Если у меня были настроены GPIO, то они сохраняют свои настройки просле перепрошивки и после resetа.
328 302181
>>302177

>Что и требовалось доказать. "Альтфаки", едва осилившие описания регистров в RM, отправляют читать RM.


Ткнуть в документацию мог любой анон, даже не державший в руках эти STM8.

>то они сохраняют свои настройки просле перепрошивки и после resetа.


Какого именно резета? Подачи сигнала на соответствующий вывод микроконтроллера или сброса счетчика команд через отладчик?

Если в документации нет всего необходимого и тем более если она врет, то зачем вообще такие микроконтроллеры нужны? Не лучше ли взять микроконтроллеры с нормальной документацией в таком случае?
329 302216
>>302181
Нормальные это какие? Чтобы и цена не кусалась и энергопотребление было небольшим. MSP430?
330 302217
>>302181

>и тем более если она врет,


Просто ардуинщики не умеют ее читать
331 302246
>>302217
Давай, научи нас.
алсо хули ты тут делаешь тогда, умник? если у тебя есть необходимость самоутверждаться за счет других - у меня для тебя плохие новости.
332 302249
>>302246

а за счёт кого нужно утверждаться если не за счёт других?
333 302265
>>302216
Мне все-таки интересно, ты проверил какой именно резет делаешь? Замыкать вывод резета на землю не пробовал?

>>302217
Errata не просто так появляется, иногда документация врет.
334 302276
>>302177
Переключал клок на внешний кварц на 8s003, никаких проблем не было. Всё делал по референс мануалу. Вот тебе код для затравки

enum ClockSource {CLK_HSI = 0xE1, CLK_HSE = 0xB4, CLK_LSI = 0xD2};

void CLK_select(enum ClockSource clk_source)
{
// uint32_t loop = 0xFFFFF;

CLK->CKDIVR = 0x00; // Set F_CPU = 16MHz

if (clk_source == CLK->CMSR)
{return;}

LCD_Clear();
LCD_SetXY(0,0);
LCD_PrintString("No Ext Clock");

/ Switch to external clock. Manual mode /
CLK->SWR = clk_source;
while (!(CLK->SWCR & CLK_SWCR_SWIF))
{
// insert here code to exit if waiting too long
// if (loop > 0)
// {loop--;}
// else
// {break;}
}
CLK->SWCR &= ~CLK_SWCR_SWIF;
CLK->SWCR |= CLK_SWCR_SWEN;
}
334 302276
>>302177
Переключал клок на внешний кварц на 8s003, никаких проблем не было. Всё делал по референс мануалу. Вот тебе код для затравки

enum ClockSource {CLK_HSI = 0xE1, CLK_HSE = 0xB4, CLK_LSI = 0xD2};

void CLK_select(enum ClockSource clk_source)
{
// uint32_t loop = 0xFFFFF;

CLK->CKDIVR = 0x00; // Set F_CPU = 16MHz

if (clk_source == CLK->CMSR)
{return;}

LCD_Clear();
LCD_SetXY(0,0);
LCD_PrintString("No Ext Clock");

/ Switch to external clock. Manual mode /
CLK->SWR = clk_source;
while (!(CLK->SWCR & CLK_SWCR_SWIF))
{
// insert here code to exit if waiting too long
// if (loop > 0)
// {loop--;}
// else
// {break;}
}
CLK->SWCR &= ~CLK_SWCR_SWIF;
CLK->SWCR |= CLK_SWCR_SWEN;
}
335 302277
>>302276
С другой стороны, были проблемы с выключением функции CCO.
336 302282
>>302265
reset замыканием nrst на землю.
337 302291
>>302282
А какой у тебя чип мы должны догадаться? Ты вообще в курсе, что семейства S и L отличаются?
338 302293
>>302291
работал с stm8s003, stm8l151 и stm8l152 и такая хуйня была.
339 302296
>>302293
Тогда возможен баг. Я у себя никогда ресет не выводил, обычно работал от внутреннего генератора. Лишь в одном проекте потребовалось использовать кварц (код приводил выше), и всё переключалось как надо.

Очень часто проверял делитель клока (при тактировании от HSI) таким образом:

CLK->CKDIVR = 0x00; // Set F_CPU = 16MHz

Смотрим что светоид мигает. Комментируем эту строку, перепрошиваемся -- светодиод моргает медленней. Чип s003.
340 302297
>>302296
Причем, что примечательно, этот косяк сохраняется И при работе с SPLна случай если я идиот, и при работе напрямую с регистрами. Тащемта не просто так в SPL есть функция DeInit на всей периферии.
341 302299
>>302297
Покажи схему, как реализован ресет и какова длительность импульса
342 302301
>>302299
Ну и простенький тестовый код для проверки скинь.
343 302302
>>302299
ресет на кнопке висит. проинициализируй GPIO и после ресета прочитай значения регистров. запиши в eeprom флаг, по которому и будет производиться инициализация (чтобы она проводилась один раз) и отправь значения по uart. может быть это мои 12 чипов, на которых я пробовал, оказались бракованные.
344 302315
>>302302
Сделал 3 сброса кнопкой на ноге ресета. В еепром ничего не сохранял, ибо с ней у меня были проблемы. Вот результаты:

01 02 03 04 Reset value (stm8s.h)
ICKR = 0x13 0x13 0x13 0x13 | 0x01
ECKR = 0x00 0x00 0x00 0x00 | 0x00
RESERVED = 0x00 0x00 0x00 0x00 | -x--
CMSR = 0xE1 0xE1 0xE1 0xE1 | 0xE1
SWR = 0xE1 0xE1 0xE1 0xE1 | 0xE1
SWCR = 0x00 0x00 0x00 0x00 | 0x00
CKDIVR = 0x18 0x18 0x18 0x18 | 0x18
PCKENR1 = 0xFF 0xFF 0xFF 0xFF | 0xFF
CSSR = 0x00 0x00 0x00 0x00 | 0x00
CCOR = 0x00 0x00 0x00 0x00 | 0x00
PCKENR2 = 0xFF 0xFF 0xFF 0xFF | 0xFF
RESERVED1 = 0x00 0x00 0x00 0x00 | -x--
HSITRIMR = 0x00 0x00 0x00 0x00 | 0x00
SWIMCCR = 0x00 0x00 0x00 0x00 | 0x00
Initialization complete.

А вот кусочек кода:

void main(void)
{
// UART TX pin
GPIOD->ODR = 0x00;
GPIOD->DDR |= GPIO_PIN_5;
GPIOD->CR1 |= GPIO_PIN_5;
GPIOD->CR2 |= GPIO_PIN_5;

for (uint8_t i = 0; i < sizeof(clk_regs_values); i++)
{
clk_regs_values = ((uint8_t )(clk_start +i));
}

// Disable clock prescaler. F_CPU = 16 MHz
CLK->CKDIVR = 0x00;

UART1_init();

uart_tx_byte('\n');
for (uint8_t i = 0; i < sizeof(clk_regs_names)/sizeof(clk_regs_names[0]); i++)
{
sprintf(out_str, "%-s 0x%02X\n", clk_regs_names, clk_regs_values);
uart_tx_string(out_str);
}

uart_tx_string("Initialization complete.\n");

while(1)
{
}
}
344 302315
>>302302
Сделал 3 сброса кнопкой на ноге ресета. В еепром ничего не сохранял, ибо с ней у меня были проблемы. Вот результаты:

01 02 03 04 Reset value (stm8s.h)
ICKR = 0x13 0x13 0x13 0x13 | 0x01
ECKR = 0x00 0x00 0x00 0x00 | 0x00
RESERVED = 0x00 0x00 0x00 0x00 | -x--
CMSR = 0xE1 0xE1 0xE1 0xE1 | 0xE1
SWR = 0xE1 0xE1 0xE1 0xE1 | 0xE1
SWCR = 0x00 0x00 0x00 0x00 | 0x00
CKDIVR = 0x18 0x18 0x18 0x18 | 0x18
PCKENR1 = 0xFF 0xFF 0xFF 0xFF | 0xFF
CSSR = 0x00 0x00 0x00 0x00 | 0x00
CCOR = 0x00 0x00 0x00 0x00 | 0x00
PCKENR2 = 0xFF 0xFF 0xFF 0xFF | 0xFF
RESERVED1 = 0x00 0x00 0x00 0x00 | -x--
HSITRIMR = 0x00 0x00 0x00 0x00 | 0x00
SWIMCCR = 0x00 0x00 0x00 0x00 | 0x00
Initialization complete.

А вот кусочек кода:

void main(void)
{
// UART TX pin
GPIOD->ODR = 0x00;
GPIOD->DDR |= GPIO_PIN_5;
GPIOD->CR1 |= GPIO_PIN_5;
GPIOD->CR2 |= GPIO_PIN_5;

for (uint8_t i = 0; i < sizeof(clk_regs_values); i++)
{
clk_regs_values = ((uint8_t )(clk_start +i));
}

// Disable clock prescaler. F_CPU = 16 MHz
CLK->CKDIVR = 0x00;

UART1_init();

uart_tx_byte('\n');
for (uint8_t i = 0; i < sizeof(clk_regs_names)/sizeof(clk_regs_names[0]); i++)
{
sprintf(out_str, "%-s 0x%02X\n", clk_regs_names, clk_regs_values);
uart_tx_string(out_str);
}

uart_tx_string("Initialization complete.\n");

while(1)
{
}
}
345 302317
>>302315
Блядь, сука ебучая. Форматирование (пробелами, пробелами, блядь!) по пизде, охуеть.

https://pastebin.com/LCZSafxs
https://pastebin.com/vW0TP8dR
346 302318
>>302317
Чип 8s003k3 на плате discovery
347 302551
Влияет ли на энергопотребление кварц? Будет ли разница, если, допустим я подключу 16 МГц кварц и через делитель получу 1 МГц или сразу подключу кварц на 1 МГц?
348 302609
>>302551
Скорее всего нет. Но ты сравни результаты и отпишись здесь. Я думаю, заметной будет разница между кварцем и внутренним rc
349 303044
>>298779 (OP)
Решыл навести порядок в своем говнокоде. Поставил git, doxygen. Либы хранить локально или тоже закинуть в облако?
350 303118
>>303044

>Решыл навести порядок в своем говнокоде. Поставил git, doxygen.


>doxygen


>порядок в своем говнокоде


>Поставил


Ну ты артист!
351 303133
>>303118

>Ну ты артист!


Чому? Реально устроил пиздец на ноуте. Каждый раз начинал свое говнописательство копированием каталога со стандартной либой, немного говнокода, попробовал, забил, забыл. Хочу наконец навести порядок. Хранить на гитхабе на случай атомной войны и смерти хдд. Правда уже лососнул с шаблоном проекта в SVDT+Cosmic, я уже заебался искать где там пути прописываются, при билде лезут кучи ошибок про ненайденный файл.
nxpfreescale[1].png33 Кб, 600x372
Теперь это 8-бит контроллеров тред 352 303197
Спрошу тут.
Тоже хочу попробовать вкатиться в серьезное портабл железо, но, конечно, не в барахло типа стм8.
В серьезных и дорогих девайсах из одной сферы деятельности, которые я имею возможность ковырять, часто используют мк freescale'овской HC08/HCS08 архитектуры.
https://www.nxp.com/docs/en/reference-manual/HCS08RMV1.pdf
Более конкретно, имею такие чипы:
https://www.nxp.com/docs/en/data-sheet/MC9S08JM60.pdf
Есть ли тут те, кто работал с таким?
Какие подводные камни, обоснованная критика, преимущества/недостатки МК этой архитектуры?
Реквестую любую годную инфу.
Литературу (рус/англ), годные недорогие девборды, программаторы, инфу по средам разработки и т.д.
353 303226
>>303197

иди нахуй отсюда, ардуинщек 8ми битный
354 303239
>>303197

>серьезное портабл железо


Трудно догадаться что ты под этим понимаешь, но непонятно почему это для тебя именно восьмибитные микроконтроллеры, а не кортексы, 16-битные микроконтроллеры, CPLD и даже просто любые маложручие микросхемы.

>не в барахло типа стм8.


>HC08/HCS08 архитектуры.


По классификации предложенной >>299838 это такое же барахло. А этот >>298987 анон считает что в HC08 слишком много всего напихано, чтобы они были подходящими для серьезного железа, они вообще восьмибитные а не четырехбитные.

>преимущества/недостатки МК этой архитектуры?


Если пишешь на Си, то какая разница до системы команд микроконтроллера?
355 303257
>>303197
Катись отсюда, петушок с "серьёзным портабл железом".
356 303299
>>303239

>Трудно догадаться что ты под этим понимаешь


Переносная спец. измериловка. Причем, дорогая и made in EU.

>почему это для тебя именно восьмибитные микроконтроллеры, а не кортексы, 16-битные микроконтроллеры, CPLD и даже просто любые маложручие микросхемы.


В данном случае оно не зашкварено китайцами, стоит не абы где. В Китае это семейство не встретишь, используется только в EU и USA аппаратуре.

>По классификации предложенной...


>Микроконтроллеры семейства HC08 имеют архитектуру неймановского типа, тактовую частоту на шине 8МГц и полнофункциональную систему команд. Передовая технология производства Flash-памяти позволила компании Motorola одной из первых предложить Flash-микроконтроллеры для работы в автомобильном температурном диапазоне. Наличие режима "монитор" впервые обеспечило разработчиков возможностью вести отладку конечного приложения в системе без использования дорогостоящих внутрисхемных эмуляторов.


>>303226
>>303257
Это вы тут китайское ширпотребное барахло обсуждаете. Я вам принес редкий случай, когда оно нетронуто китайцами и используется только белыми людьми в дорогом и серьезном железе. И стОят такие мк, как у меня, недешево, загуглите.
357 303301
>>298779 (OP)
Стм-боги, пилю прохладную
сам я далек от железа, все мои знания о технике закончились лабами по с++, поэтому заранее не бейте нуба ногами

Недавно затеял сделать что-то типа дешевого осциллографа, для проверки монитора на ШИМ (в том числе и высокочастотного). Первая идея была взять фотоэлемент из калькулятора и просто подвести контакты на микрофон в ноут, записать wavку и смотреть уже ее. Но потом сильно забоялся за свою звуковую карту (мало ли спалю от "супервысокого" напряжения фотоэлемента), да и частота дискретизации в 44 кгц не сильно радовала.
Следующая идея была в поиске дешевого внешнего и мощного АЦП и само собой я нагуглил... адруинку. Внутри у них АЦП слабенький (около 15 кгц, что меньше аудиокарты в ноуте), но можно, как я понял, подключать внешний на 30 МГц, например этот: TDA8708A. Да и вообще я как-то загорелся темой адруино: крутая штука даже в отрыве от моих потребностей, все довольно интересно и захватывающе, даже не понял, почему меня эта тема раньше обходила стороной.
Уже было хотел бежать заказывать nano, начал смотреть параллельно примеры и что-то как-то не особо понравилось их какое-то неявное влияние: например вместо main, я должен использовать setup и loop, сразу думал, что это чисто аппаратная потребность, но вроде не все так плохо, где-то в закромах оказвается есть main, в котором явно вызывается, setup и loop в бесконечном цикле, но ребзя, разве это нормально, когда вхолостую напрягаем бесполезностью все 16 МГц? И эту стратегию оффициально поддерживают, не думаю, что это хорошо. И как-то случайно я наткнулся в интернете на...
STM32. И тут я удивился: если взять плату, например STM32F103C8T6, то она по спекам 72МГц, вместо жалких 16, 20 кб sramа, вместо двух, ДЖВА АЦП, которые еще и по 1 МГц примерно, вроде как обещают еще и ЦАП, которого нет в адруино вообще, ну и плюс мелкие плюшечки как контроллер DMA и градусник. И все это счастье за 2 бакса на али, ну и плюс программатор (внутри которых, что бы вы подумали? - stm, как говорят) 3 доллара, но это ж дешевле всяких nano, одни из самых дешевых адруин. И плюс они не навязывают, как я понял, эти "эффективные" бесконечные циклы. Теперь не понимаю: чем адруины так популярны, если они дороже, а ттх хуже?

Но поскольку я нуб в stm (да и вообще в бегающих электронах), у меня такие вопросы:

1) Какую именно выбрать плату по вольтажу? 3,6 или 5 и что от этого зависит, и смоги ли я питать что-то через пины выше этого вольтажа? и вообще что это значит?
2) Что мне брать кроме платы (например STM32F103C8T6, и ей подобной), и программатора, чтоб я мог сразу начать пользоваться платой как белый человек?
3) Зависит ли выбор переферии от вольтажа конкретно это платы?
4) Можно ли к этой плате подключить внешний ацп на 30 МГц? например тот же TDA8708A? или для stm своя перифирия? или вообще нельзя?
5) Что будет, если я подам на входной пин большой вольтаж? сгорит нахер вся моя плата? а какие ограничения по силе тока? то есть если на входной пин я подам 1в, и ток 1А, то что, заискриться? А что будет с моим юсб портом на ноуте? он тоже накроется или есть какая-то защита?
6) Какие возможности по прерываваниям? то есть я вот не хочу писать бесконечные циклы, как мне предлагает адруино, но понимаю, что реагировать на внешние сигналы он должен. В большом x86 брате для этого есть прерывания - тут точно так же или другие костыли?

Заранее спасибо, надеюсь, адекватному сообществу stm на дваче
357 303301
>>298779 (OP)
Стм-боги, пилю прохладную
сам я далек от железа, все мои знания о технике закончились лабами по с++, поэтому заранее не бейте нуба ногами

Недавно затеял сделать что-то типа дешевого осциллографа, для проверки монитора на ШИМ (в том числе и высокочастотного). Первая идея была взять фотоэлемент из калькулятора и просто подвести контакты на микрофон в ноут, записать wavку и смотреть уже ее. Но потом сильно забоялся за свою звуковую карту (мало ли спалю от "супервысокого" напряжения фотоэлемента), да и частота дискретизации в 44 кгц не сильно радовала.
Следующая идея была в поиске дешевого внешнего и мощного АЦП и само собой я нагуглил... адруинку. Внутри у них АЦП слабенький (около 15 кгц, что меньше аудиокарты в ноуте), но можно, как я понял, подключать внешний на 30 МГц, например этот: TDA8708A. Да и вообще я как-то загорелся темой адруино: крутая штука даже в отрыве от моих потребностей, все довольно интересно и захватывающе, даже не понял, почему меня эта тема раньше обходила стороной.
Уже было хотел бежать заказывать nano, начал смотреть параллельно примеры и что-то как-то не особо понравилось их какое-то неявное влияние: например вместо main, я должен использовать setup и loop, сразу думал, что это чисто аппаратная потребность, но вроде не все так плохо, где-то в закромах оказвается есть main, в котором явно вызывается, setup и loop в бесконечном цикле, но ребзя, разве это нормально, когда вхолостую напрягаем бесполезностью все 16 МГц? И эту стратегию оффициально поддерживают, не думаю, что это хорошо. И как-то случайно я наткнулся в интернете на...
STM32. И тут я удивился: если взять плату, например STM32F103C8T6, то она по спекам 72МГц, вместо жалких 16, 20 кб sramа, вместо двух, ДЖВА АЦП, которые еще и по 1 МГц примерно, вроде как обещают еще и ЦАП, которого нет в адруино вообще, ну и плюс мелкие плюшечки как контроллер DMA и градусник. И все это счастье за 2 бакса на али, ну и плюс программатор (внутри которых, что бы вы подумали? - stm, как говорят) 3 доллара, но это ж дешевле всяких nano, одни из самых дешевых адруин. И плюс они не навязывают, как я понял, эти "эффективные" бесконечные циклы. Теперь не понимаю: чем адруины так популярны, если они дороже, а ттх хуже?

Но поскольку я нуб в stm (да и вообще в бегающих электронах), у меня такие вопросы:

1) Какую именно выбрать плату по вольтажу? 3,6 или 5 и что от этого зависит, и смоги ли я питать что-то через пины выше этого вольтажа? и вообще что это значит?
2) Что мне брать кроме платы (например STM32F103C8T6, и ей подобной), и программатора, чтоб я мог сразу начать пользоваться платой как белый человек?
3) Зависит ли выбор переферии от вольтажа конкретно это платы?
4) Можно ли к этой плате подключить внешний ацп на 30 МГц? например тот же TDA8708A? или для stm своя перифирия? или вообще нельзя?
5) Что будет, если я подам на входной пин большой вольтаж? сгорит нахер вся моя плата? а какие ограничения по силе тока? то есть если на входной пин я подам 1в, и ток 1А, то что, заискриться? А что будет с моим юсб портом на ноуте? он тоже накроется или есть какая-то защита?
6) Какие возможности по прерываваниям? то есть я вот не хочу писать бесконечные циклы, как мне предлагает адруино, но понимаю, что реагировать на внешние сигналы он должен. В большом x86 брате для этого есть прерывания - тут точно так же или другие костыли?

Заранее спасибо, надеюсь, адекватному сообществу stm на дваче
358 303308
>>303301
6) так он всё равно должен крутиться в бесконечном цикле и ждать сигнала прерывания. только в самом цикле никаких команд не будет
359 303317
>>303308
что будет с платой, если я напишу что то типа
void main {ledOn();}
и залью?
360 303323
>>303299

>Переносная спец. измериловка.


Будто характеристики этой измериловки будут существенно зависеть от микроконтроллера. Тем более что если более-менее вменяемо писать на Си, то все элементарно переносится на другой микроконтроллер.

>оно не зашкварено китайцами


Китайцы много чего используют, что с того? Резисторы например используют, теперь резисторы не использовать?

>Микроконтроллеры семейства HC08...


И к чему это? i8080 тоже один из первых в своем в своем роде был, теперь то что?

>В Китае это семейство не встретишь, используется только в EU и USA аппаратуре.


Точно так же китайцы много чего практически не используют. Хотя бы силабовские кортексы, а ты выбрал практически те же STM8.
361 303327
>>303301

>Первая идея была взять фотоэлемент из калькулятора


Фотоэлементы нелинейные и полоса пропускания у них может быть мизерная. И вообще зачем фотоэлемент? Может ты про оптроны не знаешь?

>но можно, как я понял, подключать внешний на 30 МГц


Не знаю что следует называть ардуиной, но обычно этим называют отладки с AVR. К микроконтроллерам AVR и STM32 такие АЦП не подключить. В микроконтроллерах вообще обычно нет средств для подключения таких АЦП напрямую.

1) Микроконтроллер все равно питается от 3,3 В. На платах обычно ставят стабилизатор.
2) Для мигания светодиодом этого хватит, большее все равно не осилишь.
3) см. 1. Нет, не зависит.
4) Можно, но не напрямую.
5) Многие выводы допускают подачу 5 В.

>то есть если на входной пин я подам 1в, и ток 1А


Иди читать в школьном учебнике по физике про закон Ома.
6) В AVR (ардуине) тоже есть прерывания.

Вся затея идиотская. Просто найди готовую конструкцию и повтори. Например DSO203.

>>303308
Не совсем так. На кортексах можно использовать __WFI() и __WFE()
15081852671550.jpg80 Кб, 500x667
sage 362 303333
>>303301
1) Вольтаж зависит не от платы, а от МК (некоторые пины у 3.3в МК совместимы с 5в). На самих платах стоит стаб с 5 на 3.3 и запаяны гребенки на оба напряжения.
2) Датчики, дисплеи, моторы, все что тебе интересно и на что хватит бюджета.
3) Как писалось выше - зависит от МК, если вход расчитанный на 3.3в и используется не как open-drain, его легко убить сигналом 5в.
4) Очевидно что микросхему с каким-либо цифровым выходом можно подключить абсолютно к любому МК, если ног хватит.
5) Тут все будет зависеть от длительности импульса и силы тока - может только логика пина отгореть, а может и вся микруха по пизде пойти.
6) Прерывания есть и в AVR (это то, что недалекие называют ардуинами), просто их использование ограничено убогой надстройкой над С для ардуино среды и говеными либами.

Я б советовал эти 4 микрухи взять:
STM32F103C8T6 - хороший выбор, если тебе нужны часы реального времени (с внешним питанием) и USB.
STM32F030C8T6 - нету USB и питания для часов, зато больше таймеров и цена в 2 раза ниже.
STM32F030F4P6 - минимальная обвязка, есть все необходимые интерфейсы для простых задач, стоит пздц дешево.
STM32F103RGT6 - 16шт 12-битных АЦП на 3 канала, 14 (!) независимых таймеров, 1024kB флеша и 96kB оперативы.

У самых простых STM32 частота АЦП 14-16 МГц, у специализированных на АЦП (F303 например) - 72МГц и выше, время семплирования задаешь сам в зависимости от сопротивления.
sage 363 303338
>>303327

>В микроконтроллерах вообще обычно нет средств для подключения таких АЦП напрямую.


Цифру к цифре нельзя подрубить - вот это кек канешн.
http://www.stanson.ch/index.php?page=proj&proj=USB-oscope
364 303343
>>303301

>2) Что мне брать кроме платы


DS3231 - часы реального времени с температурной компенсацией (бери плату на которой запаяна еще и внешняя память - разница в цене маленькая). СТМовские часы имеют некоторые нюансы в виде отсутствия сохранения календаря при отключении питания МК (сохраняется только время) + они сильно спешат/отстают если неправильно подобраны емкости для часового кварца (китацы лепят какие попало на свои платы) и при этом все равно требуют калибровку с записью коррекции ppm в соответствующие регистры.

SI7021 - датчик температуры и влажности. Сравнивал BME280, SI7021, HTU21D, DS18B20 и NTC3950: SI7021 был ближе всего по точности к BME280 и он имеет большой плюс в виде мембраны (Kapton KPPD-1/8), предоставляющей степень защиты IP67 и выступающей в роли сглаживающего фильтра (не будет скачков от малейшего дуновения ветерка при частом измерении). Поэтому если не нужно мерять атмосферное давление (а обычно оно нахуй не нужно), то возьми таких.

LCD дисплей 128x64 с контроллером ST7920, его можно подключать по SPI - это огромный плюс. Такие, кстати, стоят на панельках для ramps 3д-принтеров.

Если не хочешь бугуртить от непонимания, почему криво работает передача по UART/SPI/I2C купи самый дешевый китайский клон анализатора Saleae Logic, он меня не раз выручал от подрыва жеппы.
365 303344
>>303333

>4) Очевидно что микросхему с каким-либо цифровым выходом можно подключить абсолютно к любому МК, если ног хватит.


Только работать оно возможно не будет, а так можно и в 220 В напрямую подключать.

>У самых простых STM32 частота АЦП 14-16 МГц, у специализированных на АЦП (F303 например) - 72МГц


Это не так. Для STM32F103 - 1 MSPS, для STM32F303 - 5 MSPS. Наверное самые быстрые АЦП в микроконтроллерах у NXP, так в LPC4370 АЦП с частотой дискретизации 80 мГц.

>>303338
Как ты получишь частоту дискретизации 30 МГц?

>>303343

>что-то типа дешевого осциллографа


Часы реального времени, датчик влажности и слишком мелкий для осциллографа дисплей.
Безусловно, все это необходимо для осциллографа.
366 303346
>>303344

>80 мГц.


МГц, опечатался.
367 303347
>>303344

>Только работать оно возможно не будет


Почему? Приведи хоть один пример, когда одно простое устройство с цифровым интерфесом не будет работать с другим.
368 303352
>>303344

>Как ты получишь частоту дискретизации 30 МГц?


Алло проснись, речь шла о том будет работать или нет, в статье написано, что в схеме он работает на 12 МГц из-за ссаного пика, с stm32 можно и на 30 запускать спокойно.

>Это не так. Для STM32F103 - 1 MSPS, для STM32F303 - 5 MSPS


Он вроде говорил о тактировании АЦП периферии, частота семплирования будет зависеть от времени семплирования, которое задается в циклах (начиная с 1.5 цикла) + время преобразования 12 циклов. А так да, в MSPS это около 1 и 5.
369 303355
>>303352

>Алло проснись, речь шла о том будет работать или нет, в статье написано, что в схеме он работает на 12 МГц из-за ссаного пика, с stm32 можно и на 30 запускать спокойно.


Ну рассказывай тогда как это сделать. Сколько тактов требует одна пересылка ПДП?

>>303352

>Он вроде говорил о тактировании АЦП периферии


Это немного странно в контексте АЦП, т.к. частота самого микроконтроллера для осциллографа не столь важна.
370 303366
>>303327

>Фотоэлементы нелинейные и полоса пропускания у них может быть мизерная.


>>303327

>Может ты про оптроны не знаешь?


Не знаю, почитал - какая-то ебала для передачи энергии через свет. А для меня зачем?
что значит нелинейные? может? от чего зависит?
>>303327

>К микроконтроллерам AVR и STM32 такие АЦП не подключить


http://arduino.ru/forum/programmirovanie/parallelnyi-atsp-i-arduino - вот тут люди прикручивают, вроде
>>303327

>1) Микроконтроллер все равно питается от 3,3 В. На платах обычно ставят стабилизатор.


так и в чем разница у них? могу любой брать и все будет работать одинаково? зачем тогда разные вообще делать?
>>303327

>4) Можно, но не напрямую.


а как?
>>303327

>5) Многие выводы допускают подачу 5 В.


а выше? вдруг я где-то ошибусь и влетит 15 В?
>>303327

>Иди читать в школьном учебнике по физике про закон Ома.


почитал. не понял подвоха. Вроде один вольт и один ампер никак друг другу не противоречит. Че там читать-то? подсчитать что один Ом получится или что?

Я просто у мамы дурачок, паяльник в жизни не держал, проявите милосердие
371 303367
>>303327

>Фотоэлементы нелинейные и полоса пропускания у них может быть мизерная.


что значит нелинейные? может мизерная? а отчего это "может" зависит?
372 303369
>>303333

>1) Вольтаж зависит не от платы, а от МК (некоторые пины у 3.3в МК совместимы с 5в). На самих платах стоит стаб с 5 на 3.3 и запаяны гребенки на оба напряжения.


что за гребенки? пишите будто общаетесь с дебилом, пожалуйста. И все равно не ясно: в чем их отличие? ведь не просто так делали две разные версии: 3В и 5В? В двух версиях на вход на пины можно подавать одинаковое напряжение? а выдают тоже одинаковое?

>>303333

>3) Как писалось выше - зависит от МК, если вход расчитанный на 3.3в и используется не как open-drain, его легко убить сигналом 5в.


а, таки если я куплю микруху на 3.3В, то на пин подавать лучше не больше 3.3? я правильно понял? а выход с пина какой будет?
>>303333

>4) Очевидно что микросхему с каким-либо цифровым выходом можно подключить абсолютно к любому МК, если ног хватит.


Выше писали, что нет, так что пока что не очевидно(
>>303333

> а может и вся микруха по пизде пойти


а если плата была подключена к юнайтед секси бойс? она тоже прогневается и сгорит или мой ноут в любом случае в безопасности?
>>303333

>У самых простых STM32 частота АЦП 14-16 МГц, у специализированных на АЦП (F303 например) - 72МГц и выше, время семплирования задаешь сам в зависимости от сопротивления.


а можно спеки, чтоб было видно, что аж на 72МГц ацп? а то не нашел, и как-то звучит уххх, аж ноги подкашиваются?
373 303370
>>303343

> анализатора Saleae Logic


что за анализатор? что делает и для чего? как спасал?
попроще, на пальцах, для аутистов, пожалуйста
374 303372
>>303366

>почитал. не понял подвоха. Вроде один вольт и один ампер никак друг другу не противоречит. Че там читать-то? подсчитать что один Ом получится или что?


Ну ептваймать. Где вас таких делают то? Как ты вкачаешь 1 ампер в сотню килоом? Ты бы для справки почитал параметры входов у контроллера. А лучше почитай что такое вольт и что такое ампер, как они друг с другом кореллируют через ом и почему блять нельзя вкачать силу тока больше, чем положено. А вообще настоятельно рекомендую забыть про контроллеры на пару месяцев и поинтересоваться в ньюфаготреде с чего тебе, инвалиду микроцефалу, начать. Возможно это просто блажь и ты не то что не хочешь, а даже неспособен заниматься электроникой. мне колу и большую картошку, да поживее
375 303373
>>303344

>NXP, так в LPC4370


за такую цену можно и оссцилограф купить
376 303376
>>303372

>Как ты вкачаешь 1 ампер в сотню килоом?


откуда эти цифры? там же один Ом получается>>303372

>Ты бы для справки почитал параметры входов у контроллера


я ж спрашивал где почитать про ограничение на пины
>>303372

>А лучше почитай что такое вольт и что такое ампер


на вики почитал
>>303372

>как они друг с другом кореллируют через ом


u=ir, про это?
>>303372

>почему блять нельзя вкачать силу тока больше, чем положено


и почему? можно же ответить, я думаю, чем писать стены с негодованием
>>303372

>инвалиду микроцефалу


какой токсичный( самоутверждаешься что ли?
вот было бы намного продуктивнее, если бы вместо простыни негатива и ручья текста написать объяснение

на это сообщение тоже будешь гиперкомпенсировать?
377 303377
>>303369
1) Штырьки на плате будут 5В и 3.3В, чтоб ты мог питать любые датчики если что.

3) Да, лучше больше 3.3 не подавать (вообще есть нюансы в виде диапазона напряжения для питания около вольта, например у F030 2.4-3.6, и пределы для GPIO, у того же F030 4В). Выход с пина будет 3.3.

4) Любую приблуду со стандартными интерфейсами (I2C, SPI, UART, 1-Wire, PWM) ты сможешь подключить к чему угодно, у чего хватит ног для этого, даже если там не будет аппаратной поддержки этих интерфесов. С нестандартными цифровыми интерфейсами типа параллельных шын данных с кучей ног дела обстоят так же - ты просто считываешь/передаешь импульсы по таймингу МК либо подключенного устройства (если частота позволяет).

>сгорит или мой ноут в любом случае в безопасности?


Смотря что произойдет, если нужна 100% безопасность (например твое устройство работает напрямую с 220 и МК запитан через импульсный блок питания) - ставь гальваническую развязку. От сильной статики точно не защитит, если нету отвода заряда. Кароч защиту USB нужно самому делать.

>а можно спеки, чтоб было видно, что аж на 72МГц ацп?


104 стр, первая строка колонки ADC clock frequency. Но это частота самого блока АЦП, при 12-битной точности ты получишь максимум 5.14 MSPS, при 8-битной 9 MSPS. MSPS = Fadc / (Tconv + Tsample). Время преобразованя вроде 12 циклов, а время семплирования сам задаешь для определенного входного сопротивления (все это есть в даташите).
http://www.st.com/content/ccc/resource/technical/document/datasheet/f2/1f/e1/41/ef/59/4d/50/DM00058181.pdf/files/DM00058181.pdf/jcr:content/translations/en.DM00058181.pdf
378 303378
>>303370
С помощью него ты можешь мониторить что у тебя там реально передается (частота, длительность импульсов, вывод передаваемых данных в разных форматах типа Hex, ASCII и т.д.). В дешевых китайских только цифра, есть еще и с аналоговыми входами, но они уже значительно дороже стоят, про оригинальные анализаторы этой фирмы я вообще молчу, но софт бесплатный и прекрасно работает с китайскими поделками.
379 303379
>>303366

>а выше? вдруг я где-то ошибусь и влетит 15 В?


Ну сгорит, чего еще ожидать, просто возьми за правило смотреть в раздел даташита с предельными значениями для МК и не выходить за их пределы, потому что даже если не сгорит, то все равно внутри что-то перегрется и перестанет работать как надо.
380 303380
>>303379

>возьми за правило смотреть в раздел даташита с предельными значениями для МК


а там только по вольтажу ограничение? или есть еще по силе тока?
а вообще: можно пример такого даташита с утыканием носа в нужное место? желательно на stm32
381 303381
>>303377

>при 12-битной точности ты получишь максимум 5.14 MSPS


почему именно 5.14? откуда эта цифра?
burnt-circuit-board-E21JFY.jpg273 Кб, 1300x953
382 303382
>>303366

>Вроде один вольт и один ампер никак друг другу не противоречит. Че там читать-то? подсчитать что один Ом получится или что?


ну почти, тебе нужно не сопротивление а мощность (P=I*U), потроха микросхемы преобразуют избыток мощности в тепло, из-за чего она греется и чем больше мощность, тем сильнее греется, пока что-то не расплавится внутри.
383 303383
>>303382
типа 1 Вт это много? про это тоже в даташите можно почитать?
а при чем тогда закон Ома и откуда сотни кОм - сверху анон писал? или это тролль?
15053186586940.jpg56 Кб, 567x561
384 303384
>>303380
Да, и по току тоже, вообще по всему, что тебе нужно знать, чтоб не убить микросхему.
В даташите целый раздел Electrical characteristics на 20 страниц с кучей подразделов для всей начинки (стр 66-69 - АЦП, к примеру), стр 42-43 - абсолютные пределы.
http://www.st.com/content/ccc/resource/technical/document/datasheet/a4/5d/0b/0e/87/c4/4d/71/DM00088500.pdf/files/DM00088500.pdf/jcr:content/translations/en.DM00088500.pdf

>>303381
Ты совсем поехавший или как? Я тебе даже формулу написал там и объяснил что значат переменные.
385 303385
>>303384
что такое Tconv и Tsample?
386 303387
>>303383

>про это тоже в даташите можно почитать?


достаточно знать максимальные напряжения и токи для питания (вроде нельзя пропускать в общей сумме больше 100 с чем-то mA через большинство МК), ацп и gpio. можешь перемножить их и получишь мощность, если тебе так интересно
flat,800x800,075,t.jpg25 Кб, 800x800
387 303388
>>303385

>Время преобразованя вроде 12 циклов, а время семплирования сам задаешь для определенного входного сопротивления (все это есть в даташите).



Давай, ты сможешь построить логическую цепочку, я верю в тебя.
388 303389
>>303388
хоспаде какие токсичные. Типа в первый день вы все понимали
Может я не понимаю что это за это такое, зато я точно знаю сколько кусочков мяса в гамбургере и сколько разбавлено моей кончи в твоем соусе
15109341468800.jpg47 Кб, 564x559
389 303390
>>303389
Ну а чего ты хотел с такими глупыми вопросами, если совсем нихуя не знаешь и хочешь разобраться в таких тонкостях - садись читай книги/статьи/гайды по stm32 и cortex. А лучше начни с 8-битных МК, тех же AVR (без ардуино хуйни), по ним уже все разжевано десяток лет, есть ответы на все вопросы, вкатиться проще простого, их можно изучать тупо по даташиту, он описывает весь механизм работы МК лучше любой статьи.
390 303391
>>303387
так мне надо знать мощность или нет?
а то выше писали
>>303382

>ну почти, тебе нужно не сопротивление а мощность (P=I*U)

391 303392
>>303390
ахуенно, почему сразу нельзя было это написать?
типа акт самоутверждение ценнее?
15090052024530.jpg28 Кб, 540x540
392 303393
>>303389
ЗАДАЕТ ВОПРОСЫ ПО МК
@
ОТВЕЧАЮТ
@
ЗАДАЕТ ЕЩЕ ВОПРОСЫ И СПРАШИВАЕТ ЕСТЬ ЛИ ОТВЕТЫ В ДАТАШИТЕ
@
ОТВЕЧАЮТ ЧТО В ДАТАШИТЕ ЕСТЬ ОТВЕТЫ НА ВСЕ ВОПРОСЫ
@
НАЧИНАЕТ ЗАДАВАТЬ ТУПЫЕ ВОПРОСЫ
@
ОТВЕЧАЮТ УЖЕ ССЫЛАЯСЬ НА ДАТАШИТ
@
ПРОДОЛЖАЕТ ЗАДАВАТЬ ВОПРОСЫ ОТВЕТЫ НА КОТОРЫЕ ЕСТЬ В ДАТАШИТЕ
@
ПОДРОБНО ОТВЕЧАЮТ И ПРИВОДЯТ ФОРМУЛУ
@
НЕ МОЖЕТ ПОНЯТЬ ФОРМУЛУ С 2-Я АРИФМЕТИЧЕСКИМИ ДЕЙСТВИЯМИ
@
ХОСПАДЕ КАКИЕ ТОКСИЧНЫЕ
393 303394
Кто еще пояснит за оптроны, которые мне предлагали?
и чем фотоэлемент плох?
394 303395
>>303393
завтра двойная порция кончи в соус, видит Аллах - я не хотел
395 303396
>>303393

>ОТВЕЧАЮТ


АХАХАХАХАХААХА, порвался
396 303397
>>303396
точнее, некоторые реально стараются объяснить, отвечают, но почему-то только ты пытаются гиперкомпенсировать свой маленький 29,7486 с погрешностью 0,00002% самоутверждением. Мне тебя не жаль
397 303398
>>303397
пытаешься*
398 303399
>>303377

>при 8-битной 9 MSPS


вроде как при 8 бит максимум получается 7.2 MSPS, так что ты не прав
399 303401
Дай телегу, поясню все.
Тут тебя обоссут и задрищут.
400 303457
>>303401
нет телеги(
давай на фейкопочте договоримся о скайпе
401 303480
>>303457
>>303457
эй пидоры, тред знакомств в ga
402 303533
>>303347
Если не вдаваться во всякую экзотику, то все современные цифровые микросхемы легко подключать одну к другой при согласовании:
а) Уровней сигнала (1.2В, 3.3В, 5В)
б) Временны´х характеристик (нарастание фронта/спада, частота сигнала, длительность импульсов)

В случае подключения скоростных АЦП к мк стоит смотреть на согласованность интерфейсов: колчитество ног, управляющие сигналы, протокол обмена данными. Дальше смотришь, можешь ли ты реализовать это на своём мк. Изи же когда немного поваришься в этой теме
403 303535
>>303367
Гугли люкс-амперная характеристика а есть ещё и вольт-амперная
404 303550
>>303533
Ну я же и говорю, что напрямую считай подключается к чему угодно (при условии достаточного количества ног и соблюдения таймингов, уровень не в счет, потому что преобразователи - херня уровня резисторов), а не как к примеру датчики с аналоговым выходом, которые не подключишь напрямую к МК, у которого нет АЦП блока.
405 303578
>>303550

>соблюдения таймингов


Сам же пишешь почему оно может не работать. AVR явно не сможет забирать данные с порта с частотой 30 МГц и с соблюдением таймингов. Это даже всякие STM32 толком не смогут.

>преобразователи - херня уровня резисторов


Я бы так не сказал. Попробуй найти подходящий преобразователь для подключения быстрого (в районе 100 МГц) АЦП с уровнями 1,8 к чему-то с уровнями 3,3В.
406 303614
>>303578

>AVR явно не сможет забирать данные с порта с частотой 30 МГц и с соблюдением таймингов. Это даже всякие STM32 толком не смогут.


Тем не менее ту микруху АЦП 32 МГц подключали к АВР без проблем, потому что это частота сэмплирования, забирать же данные по параллельному порту можно и на низкой частоте.
407 303632
>>303614

>АЦП 32 МГц


>это частота сэмплирования


>забирать же данные можно и на низкой частоте



Ебанулся там?
408 303677
>>303632

>Ебанулся там?


Разве что ты.

https://www.linux-mips.org/~ladis/vino/doc/TDA8708A_5.pdf

>The TDA8708A is an analog input interface for video signal


>processing. It includes a video amplifier with clamp and


>gain control, an 8-bit analog-to-digital converter (ADC)


>with a sampling rate of 32 MHz and an input selector.



Несколькими постами выше были ссылки с подключением этого древнего говна мамонта к АВР и ПИК с тактированием параллельной шины на 16 и 12 МГц
409 303678
>>303677
Ну и как ты будешь собирать данные мк с частотой 20МГц при выборке ацп в 32*10^6 выборок/секунду?
Ясен хуй, что это можно сделать при меньшем samplerate
410 304120
тредик не тони
411 304635
>>298779 (OP)
STM32CubeL4 - 1.8Гб Что там внутре? Качать ажно страшно.
412 304661
>>304635
8 == 32 ?
413 304663
>>304661
Бля, прастите, попутал.
414 304675
>>304663
не обращай внимания, это псевдоэлиторетроградынитакиекаквсе стм8 задроты, которые не могут в скорость развития технологий
WP20171202145137Pro.mp49,5 Мб, mp4,
1920x1080, 0:04
415 304679
>>298779 (OP)
Gays!! Я повторил подвиг того чувака и модернизировал драйвер дисплея от STM8S для STM8L. Было трудно но я смог.
416 304694
>>304679
Какой драйвер, какого дисплея?
417 304695
>>304679
Ты бы хоть исходники показал, а то даже обоссать не за что.
418 304699
>>304694

>Какой драйвер, какого дисплея?


Вот тут анон писал >>298829
419 304701
>>304695

>Ты бы хоть исходники показал


GitHUB изучу скоро и буду выкладывать спешиал фор /ра/диач
420 304747
>>304679
А у меня дошли руки заняться давней хотелкой: точное время по всему дому. На подоконнике будет лежать коробок, копить пыль, получать время по GPS и вещать его по радиоканалу на всю квартиру. В 3-4 шт часов будут вкорячены микро приемники с мозгами на тини13, которая будет получать время и дергать внутренности для выставления точного времени. Сейчас у меня уже есть подобный выкидыш, на есп8266, берущий время с интернета, с нтп серверов, но всего у 1 шт часов, развития не получило из-за оверкилла и недостатков еспшки.
Учись, вот что было сделано за вечер:
1) своя мини-библиотека для дисплея на ht1621, практически с нуля (дисплей из телефона с мусорки)
2) полностью свой парсер сообщений с gps модуля (дергает время и дату)
3) передача сообщения с полученным временем по 433 МГц, каждую секунду (свой формат, с контрольной суммой)
на пикче 02 дек потому что в гпс модуле заводская конфа, время утц, его скорректировал +3 в мк, дату не трогал, надо будет поменять таймзону в модуле, но дата не важна, идет только на дисплей
Далее план такой:
1) аналогично написать и отладить код приемника, добавить в пердатчик функцию летнее/зимнее время по кнопке (только щас вспомнил)
2) спаять нормальные макеты, вкорячить приемник в 1 шт часов, протестить 1-2 недели что все стабильно
3) вытравить норм плату, вкорячить пердатчик в норм корпус
МК - атмега88, никаких ордуин
Коды опубликую когда полностью закончу данный прожект, и только в случае если сам буду удовлетворен результатом.
421 304757
>>304747

>А у меня дошли руки


Ты уничтожил меня как начинающего. Пойду выпиливаться с Двача. :(
422 304808
>>304757
А чего тут такого-то?
Я вчера планировал только на дисплей что-нибудь вывести.
Но процесс ведь творческий же. Вот меня и понесло, до часу ночи пропердолился.
Интерфейс у дисплея достаточно простой. Гпс модуль высирает в порт готовые данные, распарсить одни лишь время-дату - ерунда делов. Трансмиттер - вообще тупой побитовый ногодрыг через одну ногу.
А сегодня походу рождением кода приемника так и не займусь, что-то лениво. В общем, как пойдет. Задавай вопросцы.
423 304814
>>304808
Какой компилятор? SPL используешь?
424 304824
>>304814
Практически стоковая атмел студия (да да, можете обоссать, но мне пох), соот-но, родной гцц
425 304827
>>304824

> stm


> avr studio


Psssss....psssssss
426 304828
test
427 304832
>>304827

>stm тред


>за 1.5+ месяца вывели на дисплей hello world


>Psssss....psssssss

428 304873
>>304832

>за 1.5+


Можно подумать, что в Пердуино-треде, после двадцатого бамплимита, собрали микро-федора для унижения кота.
429 304874
>>304873
Ну что за бинарное мышление, либо arduino, либо helloworld на stm. Странное у тебя мерило.
IMG20171203211229.jpg1,8 Мб, 2368x3200
430 304876
>>300844
Заебись. Заработало. Спасибо.
Код немного причесал, не закоммитил.
Но базово и то что есть заработало почти сразу.

Уляля, нужна кому разводка отладки на стм8с003 для однослойки домашней?
431 304877
>>304874
Что сейчас называется ардуиной? Если кто-нибудь портирует ардуинолибы под винду, то станет ли ПК от этого ардуиной, особенно если при этом писать в ардуино "IDE"?
432 304878
>>304877
Так уже.
Processing.org
433 304883
>>304876
Что за qfn корпус, cp2102?
434 304933
>>298779 (OP)
Кто из STM8-бояр может вразумительно рассказать про правильное заполнение тысяч полей в конпиляторе Cosmic? Что значат эти хуиллиарды -i -o ../../?
435 304938
>>304933
красноглазый?
установи STVD и не еби мозгов.
436 304939
>>304933
С космиком должны идти доки, почитай их.
437 304944
>>304876
На программатор что, насрали и переехали ассенизатором?
Гребенки б/у с материнок что ли?
438 304969
>>304939

>должны идти доки, почитай их.


>>304938

>установи STVD и не еби мозгов.


Так я установил + Cosmic с бесплатной лицухой на 32кБ. Читаю доки. СЛОЖНА, нахуй. Не удивлен, что все прут в Ардуину. ДигиталРайт и все дела.
439 304971
>>304969

>лицухой на 32кБ.


эмм. компилятор от космик без ограничений для stm8.
чем мне нравится STVD - ничего не адо настраивать, всё уже сделано, просто добавляешь в проект либы и всё.

> СЛОЖНА


ох лол. открою секрет, есть кривые библиотеки spl, где прямо в h файлах есть названия функций и аргументы к ним для всего, что есть в конкретной либе.
лично мне не понравилась spl из-за того, что она кривая, и чипы stm8 по той же причине легенды о нерабочем i2c не легенды
440 304973
>>304944
Гребёнки покупаются на ебэе
>>304883
Она самая
441 304984
>>304971

>эмм. компилятор от космик без ограничений для stm8.


Бля. А я чот по диагонали прочитал, увидел 32кБ. фри компилер. И только после твоего ответа полез вдумчиво читать и дочитал, шо 32кБ для стм32. А я подбираю себе контроллеры с флешем не больше 32кБ. Йоб.
442 304985
>>304969
Так, блеать. Ты не можешь разобраться с опциями компилятора или не можешь настроить периферию чипа? Если первое, то зачем они тебе понадобились?
443 304989
>>304985

>Если первое


Ага. Ебанное ST в каждом примере или демопроекте по разному прописывает эти опции. Пытаюсь захуярить проект с StdPeriphTemplate, а воно компилироваться не хочет, ругается на всяку хуйню. Хочу замутить чистый шаблон, чтобы просто скопировав и переименовав папку, хуярить дальше.
444 304993
>>304989
Ну хз. Там по идее должно быть просто. Смотришь на опции в мейкфайле, читаешь их описание в доке на компилятор. Тебе править нужно только пути. А ещё у стм есть говносайт с комьюнити, поспрашивай там, как тебе правильно добиться цели. Я использую sdcc и самодельный мейкфайл, с космиком дел не имел по тем причнам, с которыми столкнулся ты
445 304997
>>304989

>Хочу замутить чистый шаблон, чтобы просто скопировав и переименовав папку, хуярить дальше.


Пошёл ты нахуй, мерзкий недоумок. Всё нормально работает. Проблема в том, что нужно один раз разобраться. ОДИН РАЗ! Разберёшься -- всё у тебя будет. Не разберёшься -- иди нахуй. И я буду рад, что ты туда идёшь, ибо я буду работать в этой сфере, а ты -- нет. Просто потому, что там нужно немного разобраться, а у тебя нет на это потенции... Ты не способен это пройти...
446 305003
>>304997

>Проблема в том, что нужно один раз разобраться. ОДИН РАЗ!


Капитан в треде
15118552226250.jpg51 Кб, 687x700
447 305006
>>304989
Перекатывайся на STM32, там попроще будет наверное, дунно, че у вас там на 8ке за трешак.
448 305007
>>304997

>я буду работать в этой сфере, а ты -- нет


Но я не собираюсь работать в этой сфере. Я хочу на старости лет автоматизировать свой полоумный дом. Поздновато мне перекатываться в программеры.
449 305069
>>304993
Анон, покажи свой Makefile
image.png126 Кб, 800x329
450 305072
451 305096
>>305069
https://pastebin.com/4MiFwnRS

Сохранить и назвать Makefile (без .txt). Написан для работы с GNU Make, с другими не тестировалось. Рабочий проект представляет собой директорию, в которой находятся поддиректории с сорцами, инклудами, сам Makefile и main.c
+Project_dir
|->inc/
|->src/
|->build/
|->Makefile
`->main.c

В inc/ кладём .h файлы, в src/ -- .c файлы, build/ создастся автоматически при первой сборке. Причём файлы исходников могут лежать в поддиректориях.

Из недостатков -- в системе должен быть установлен sed, который из gnu binutils. Виндузятникам придётся его установить отдельно (или продолжить пользоваться "божественным"фекальным проприетарным иаром).

Могу в принципе скинуть тестовый проект как готовый шаблон, только не знаю куда (архивчик). Спрашивай свои ответы.
452 305229
>>305096
Да мне, впринципе, понятно все. подход хороший, но мне пока этого даже с исбытком будет.

ps на sed пофиг, он и так стоит. а то как его называть лишняя инфа.

да, хотел спросить --max-allocs-per-node помогает?
453 305264
>>305229

>да, хотел спросить --max-allocs-per-node помогает?



Отожрать память и увеличить время компиляции. Я подбирал так, чтобы в асм-листинге были слова "register assignment is optimal". Можно смело ставить 10000 у меня стоит 100к.
454 306969
Бамп махарайкой. некробамп
455 307965
>>298880

>SPL сильно рекомендую.


Ловите наркомана!

>Ещё плюс SPL — переносимость, чип можно будет поменять на другой из того же семейства (их два — S/A и L) без изменений в коде.



Пиздеж!
x5114bb36.jpg54 Кб, 604x604
456 307966
Список RTOS для stm8.
458 307968
>>307967

> калекавижн


лiл
459 308003
>>298779 (OP)
Поцчему тред про такие козырные контроллеры не висит в топе, а всплывает раз в пол года из клоаки радача?
460 308008
>>308003
потому что при всей своей козырности эти контроллеры представляют собой наивные косячные амбиции STmicro.
461 308009
Потому, что для них нет задач.

Тормозное cisc ядро.

Там нет ,USB, Ethernet, etc. Там нет поддердки внешней памяти.

Там нет GCC, LLVM. Только проприетарное говно и проприетарно,
И кастрат SDCC.
462 308015
>>308009
Но в конце концов освоение всё равно проще, чем у АВР. Плюс оче удобно после стм8 вкатываться в стм32 - периферия работает точно так же.
463 308164
>>308009
USB есть, по-моему в APC UPS стояли ст8 с юсб
464 308169
>>308164
Нету USB у STM8, программно эмулировать если только
465 308265
>>308003
Потому что это не ондурино и не стм32
466 308266
>>308009
И чем это cisc ядро стм8 тормозное по сравнению с risk-аналогами какими, например?
467 308315
>>308266
Попробуй портиовать VUSB на STM8 с AVR, - узнаешь.
468 308384
>>308315
1) Не вижу никакого смысла в этом. Чипы с аппаратным юсб стоят почти по цене тех мег, на которых vusb работал.
2) Насколько я помню, портированием vusb занимался чувак с ником ZiB, и проблема была не в производительности ядра, а в непредсказуемых таймингах из-за конвейера и ширины шины.

Ну так, где проявляется тормознутость cisc ядра stm8?
469 308389
>>308384
В том, что на AVR VUSB работает от 8МГц, а на STM8 даже те костыли, которые были написаны, работали при частотах от 16.
470 308391
>>308389
просто в силу требуемого количества инструкций.
и на нормальный порт там тупо не хватило частоты и плотности кода.
471 308393
>>308391
Звучит разумно, хоть я и не знаком ни с кодом vusb ни с usb -стеком как таковым. Но есть один момент. Как я понимаю, всё это писалось на C. При этом здесь запросто решающую роль могло сыграть способность/неспособность компилятора генерировать эффективный код.
Я считаю, что сравнивать производительность ядер стоит на ассемблерных реализациях и на нескольких задачах.
472 308414
>>308393

>, всё это писалось на C.


Почитал бы для начала. Низкоуровневая часть была написана на Ассемблере.
473 308430
Короче, вот вам интересная задачка.
Для деления 32бит числа на 10 с остатком си компилятор генерит код, занимающий 98 байт флеша.
Запилите мне на си/асме функцию деления на 10 с остатком, которая занимала бы меньше места. Т.е. должна вернуть результат + остаток от деления. Цель - сэкономить место во флеше. На быстродействие такого решения - похуй.
В сети можно найти функции БЫСТРОГО деления на 10 с помощью сдвигов и сложений. Занимает оно, к слову, около 200 байт во флеше. Мне нужно наоборот, изврат с минимумом флеша, насколько он будет тормозной - похуй.
474 308436
475 308549
>>308436

>Support for languages other than C is untested


>There is a bug in the handling of volatile in the cbe

476 308551
>>308389

>VUSB


>Can be clocked with 12 MHz, 15 MHz, 16 MHz 18 MHz or 20 MHz crystal or from a 12.8 MHz or 16.5 MHz internal RC oscillator.



https://github.com/rikka0w0/STM8-VUSB
12MHz

Да норм там все со скоростью, хотя...
Если там норм со скоростью, что почему таки не сделали нормальный стек USB...
477 311286
Не тонем. На днях буду паять стм8 в qfn-корпусе 3х3 и пытаться ее программировать. Буду тут спрашивать советов мудрых.
478 311294
>>308551
Если даже на AVR реализовали USB с 12 МГц (например, USBASP на древней восьмой меге), то не вижу проблем для STM8.
Да что там авр, я в каком-то ИБП видел USB порт, реализованный на куда более древнем PIC'е, по-моему с такой же частотой.
479 311514
>>311294

На AVR сделали стек, который проходит тесты на совместимость, на стм8 - какое-то кастрированное говно.

При том, что делали его этак 3-5 лет.
480 311567
>>311514
Это очень странно. Значит, стм8 имеют какие-то серьезные ограничения.
Сам планирую как-нибудь лениво вкатиться в арм, в рамках личного махарайстроя, но пока не решил с чего начинать: с стм8 или младших стм32. Ассемблер дрочить не буду, не вижу смысла, скорее всего предпочту чистый си, как привык на авр.
481 311578
>>311567
Не по теме, но.
В рот я ебал, если честно, этот стм8. Серьёзно. Непредсказуемая работа из-за конвейера, как оказалось, усложняет отладку.
482 311612
>>311578
Можешь объяснить, в каком месте работа становится непредсказуемой? Как оно усложняет отладку? Ну, мигать с помощью nop-ов может и сложнее, но часто ли это нужно?
И где ты нашел современные, т.е. еще производящиеся, микроконтроллеры без хотя бы двухуровневого конвейера?
p0001.jpg325 Кб, 1024x1419
483 312402
>>298779 (OP)
Этому треду не хватает литературы
https://yadi.sk/i/UKHpE-p53SJypb
484 312406
>>312402
Бегло полистал. Это что, тупо перевод официальных файлов с сайта stm? Но нафига он нужен?
485 312407
>>312406

>Но нафига он нужен?


>>312406

>перевод


Вот потому и нужен. У меня еще хуево с даташитовским англецким
486 312420
>>312407

>англецким


Расовые пиндосы тоже не понимают, ибо индусами писано, но все равно лучше этого перевода.
487 312427
>>312420

>но все равно лучше этого перевода.


Бля, ну чо ты в позу встал? Тебя заставляют штоле ее читать? Человек хоть начать сможет, а дальше и даташиты с референс-манулами будет читать
488 312488
>>312427
Начать с этого невозможно. Это не полный Reference Manual в котором около 700 страниц
489 312497
>>312488

>Начать с этого невозможно


Ты или траль или интернетный сверхпогроммист 300ккк/сек. Нахуя мне референс-мануал, чтобы первоначально мигнуть светодиодом ШИМ-ом?
490 312500
>>312497

>пук

491 312576
>>298779 (OP)
ST-Link встроенный в stm8l-discovery может программировать stm8s?
492 312594
>>312576
Разумеется может, интерфейсы SWD и SWIM абсолютно одинаковые на всех контроллерах.
493 312604
>>312594

>Разумеется может


Оказалось что нет. Шьют только свою серию. L только L. На STM32F4 не видит STM32F1, нужна STM32VL-DISCOVERY. Отака хуйня малята, налутил уже печатку, буду паять st-link.v2
494 312611
>>312604
Ты вставил/убрал нужные перемычки и все правильно подключил к SWIM коннектору?

http://we.easyelectronics.ru/STM8/obzor-stm8l-discovery.html

>Здесь у нас обрубок отладчика ST-Link. Прошивать он может только STM8L и STM8S. Для этого его надо отключить от МК на дискавери.

495 312612
>>312604

> На STM32F4 не видит STM32F1


Тоже хуйню написал, я со своей отладочной платы STM32F429i-DISCO прошивал F0, F1 и F3 контроллеры без проблем.
496 312639
>>312612

>я со своей отладочной платы STM32F429i-DISCO прошивал F0, F1 и F3


А у меня - хуй.
Спаял уже ст-линк, он даже заработал со старта и обновил прошивку. Ща буду пробовать погроммировать все контроллеры.
497 312649
>>312639
Ну вот, с клона все заработало, а с 8L, нихуа.
498 312662
>>298779 (OP)
Я вам яростно поморгал светодиодом с помощью контроллера свежезапрограммированного клоном ст-линк. А qfn-печатка так и не завелась. Либо китайца левак прислал, либо я его пережарил феном, либо еще руки не выпрямились для таких мелочей.
499 312667
>>312662

>А qfn-печатка так и не завелась


Однако завелась, заменил Vcap с 2,2мкФ на 1мкФ и усё заработало.
500 312669
>>298779 (OP)
Пояните за STM8CubeMX, эта падла нихуя не генерит код?
501 312671
>>312669
Более того, stшники им даже не занимаются. Он не обновлялся уже очень долго. Сравни с 32 кубом, который каждый день обновления тянет
502 312678
>>298779 (OP)
Я тут теперь заебывать буду хуже ардуинщега.
1.Альтернативная функция пина врубается только в OPTION BYTE или еще и программно нужно переназначать?
2. При работе с таймерами, порты тоже необходимо конфигурировать или оно само?
503 312681
>>298896

>нормальная отладка


Он настолько маленький, что код для него, небось, умещается на одной печатной странице А4. Хуле там отлаживать-то?
504 312682
>>312681

>умещается на одной печатной странице А4


Даже если брать в машинных кодах, то на А4 уместится 2,5кБ если без пробелов, а в ебучем stm8s003f3u6tr (размером с мышиный глаз) - 8кБ
delay.PNG19 Кб, 404x485
505 312702
>>298779 (OP)
Парни, у меня затык. Что в этом коде может не работать?
506 312703
Бля, да этот ваш стм - тот же самый ардуино. Поглядел StdPeriphLibrary - лютое оверкилл говнищще, как и библиотеки ардуины, код раздувается и теряет производительность. Зато писать просто, заебись. Ну в чем смысл-то? Вся ардуино параша хотя бы изначально подается как инструмент для ленивых хоббистов-ньюфагов и их "умных" домов, а тут, ёб вашу мать, позиционируется как сириус бизнес для разрабов с зп 999к/сек, делающих коммерческие продукты. Днище просто! А писать свой лоу-левел код под стм, дабы не пользовать говнолибы - боль и унижение, как оказалось. Регистры, периферия - все очень всрато документировано, читаешь и чувствуешь себя словно индусом. И те, кто писали те пафосные либы, походу чувствовали себя так же. Короче, если будете вкатываться в эту яму, то будьте морально готовы к танцам с бубном и поклонению Будде.
507 312704
>>312703

>20!8


>StdPeriphLibrary


мда хех...
508 312705
>>312703
Тебя никто не заставляет обмазываться абстрактным говном вместо анального дрочева регистров - на каждый STM есть даташит, читай и ебош свой божественный говнокод. Тем более этот прав >>312704 все уже давно перешли на HAL и радуются жизни, если тебя и в HAL что-то не устраивает, качай LL драйвера от STM и еби себе мозг с ними.
509 312709
>>312704

>мда хех...


Что не так? Ты уже HAL написал под стм8? Или с регистрами пердолиться предлагаешь?
510 312710
>>312703

>код раздувается и теряет производительность.


Каким образом? Пердолинг с регистрами обернут более читаемой хуйней, как это отражается на производительности?
511 312715
>>312710
Да так же как в ардуине, миллион лишних проверок для защиты от дурака, и тому подобное. Жрется лишний флеш, производительность падает в разы, а то и на порядок. Но это проблема всех универсальных библиотек. Алсо, куча подводных камней, например, надо знать и помнить какие таймеры и прочую периферию использует библиотека в своих недрах, т.к. если одновременно попытаться переконфигурировать и использовать их еще и самому, то сам знаешь, какое веселье начнется.
512 312732
>>312702
bump же! Почему delay на прерываниях от таймера4 работает, а без прерываний нет?
513 312747
>>312732
Сук, оно оказывается работало. Это я с тактированием начудил. Надо покупать осциллограф. Это пиздец. День убить на поиски проблемы неморгания светодиода.
delay.PNG54 Кб, 1106x688
514 312767
есть тут жывые? Поясните почему столь прекрасный код работает через жеппу? Должен тактироваться 16махами и считать микросекундные задержки, а по факту я увидел что это работает только подав 2МГц на вход и один хуй мигает в 2 раза чаще чем нужно?
оп хуй1.jpg225 Кб, 1000x750
515 312789
Есть какой-нибудь готовый код для этого говна под stm8s?

Существует код для stm32, но чёт мне кажется что там необходимо сделать больше чем заменить стандартные библиотеки с одного контроллера на другой.
516 312797
>>312789

>Есть какой-нибудь готовый код для этого говна под stm8s?


Пссс, парень, тебе отсыпать кода под stm8s?
517 312814
>>312662
Собирался на этой стм-ке замутить датчик влажности с передачей данных по RS-485. Накопал драйвер датчика влажности на сайте ST, охуел от размера и чот приуныл. Не поместится моя задумка в 8кБ кажысь. Ассемблер штоле учить начинать?
WP20180216231907Pro.webm2,2 Мб, webm,
1920x1080, 0:05
518 312820
Все парни, заработали у меня таймеры, задержки, можно и спать валить.
030.PNG19 Кб, 1310x128
519 313070
>>312820
Всё. Буду перекатываться в stm32. Даже минимальный камень ебет восьмибитник по всем фронтам.
520 313076
>>313070
Поздравляю с прозрением.
Алсо, стм32 совместим с ардуино, так что ты теперь ардуинщик.
521 313085
>>313076

>стм32 совместим с ардуино


WUT? Нахуя мне нужно совмещаться с ардуиной? Сами там сидите в своем говноIDE.
522 313090
>>313085
Все совмещаются, и ты совместишься, дурь выйдет, поймешь что экономия времени с библиотеками на все случаи жизни превыше всего, пусть даже с иде в виде блокнота. Ведь ты ж понтовался-кривлялся что будешь пилить сириус дерьмо на стм8, а в итоге с стм32 совместился. Так что это лишь дело времени. Дозревай, мы тебя ждем.
523 313093
>>313090

>Ведь ты ж понтовался-кривлялся что будешь пилить сириус дерьмо на стм8


где это я так себя вел?
524 313101
>>313093
Ну, вообще говоря, все, кто связываются с стм8, изначально думают как ОП. Потом либо дропают и тайком возвращаются в мир авр, либо перекатываются на стм32.
525 313104
>>313101

>Потом либо дропают и тайком возвращаются в мир авр, либо перекатываются на стм32.


Не, ну я не то чтобы совсем дропать. У меня пару десятков восьмибитных камней лежит. Я даже усердно буду пытаться запихнуть связку UART+I2C в 8кБ флеша, зря я штоле ЛУТил плату и паял как не в себя? Просто дальнейшие поделки буду рассчитывать на использование стм32. Ну зачем превозмогать если за даже меньшие деньги получаешь лучший камень? Я правда не знаю, может там страшный HAL пожрет вдвое большую память быстрее чем SPL?
32Л.PNG89 Кб, 778x818
526 313107
>>313104

>страшный HAL пожрет вдвое большую память быстрее чем SPL?


Поискал. Похуй.
527 313112
>>313104

>там страшный HAL


можно подумать, что кто-то тебя заставляет использовать HAL насильно
528 313134
>>313112

>кто-то тебя заставляет


Я только вкатываюсь. Вернее в сопливом детстве паял МП42 и рисовал печатки цапонлаком и вот спустя n-лет решил встряхнуть старину и вкатиться в контроллеры. Я только и успел раздуплиться с двумя таймерами и тактированием. На UART-е соснул и уже третий день не вдуплю чому он не отправляет букву "хуй" в терминал. Охуеваю от отсутствия русскоязычного сообщества по стм-кам. Везде одни обрывочные примеры, написанные с различным подходом, в космике, иар-е, с использованием SPL, без него, на асме. Пиздец. Пока нашел только вменяемую буржуйскую пдф-ку Starting STM8 Microcontrollers И тут тред только для красоты, шоб було.
stvd.PNG26 Кб, 768x269
529 313142
>>313134

>И тут тред только для красоты, шоб було.


Вот кто может пояснить, нахуя конпилятор пихает в контроллер эту хуйню? Байт 200 занято хуй пойми чем.
530 313153
>>313142
Ты уверен, что это окажется в памяти микроконтроллера? Может быть ты вообще ELF открыл. Если это все-таки в памяти микроконтроллера, то смотри флаги компилятора.

>>313070
Какой-нибудь intel atom или TMS320 точно также превосходит STM32. Ну и что с того? Или в микроконтроллерах LPC, АЦП имеют намного большую частоту дискретизации, чем во всех STM32. Также в 32-битных микроконтроллерах обычно нет EEPROM.
Микроконтроллер нужно выбирать под задачу, а не потому что один микроконтроллер в чем-то превосходит другой.
531 313155
>>313153

>Ты уверен, что это окажется в памяти микроконтроллера?


Это окно PROGRAM MEMORY у STVP. Я так понял, что тут отображается то что пишется в контроллер. Флаги перешерстил и нихуя не нашел какой отключает эту муйню.
532 313156
>>313153

>Ну и что с того?


То что при цене равной минимальному stm8s003f, получаем втрое большую частоту, больше памяти и таймеров. Единственно непонятно как высокоуровневые HALы сожрут это преимущество.
533 313160
>>313155
Для начала можешь посмотреть в какой секции это оказалось, для этого включи генерацию map-файла.

>>313156
А если много таймеров и большая частота не нужны, а нужен EEPROM? И стоимость микроконтроллера - вообще не аргумент для радиолюбителя.
534 313161
>>313160

>включи генерацию map-файла.


>start 00008080 end 0000814e length 206 segment .const


Это что, константы? Это надо рыть стандартную либу и искать где криворукое мудило прописало пути константами?
535 313166
>>313161
По моему это может быть из-за ассертов. Они должны каким-то дефайном отключаться.
UART.PNG20 Кб, 864x582
536 313261
>>298779 (OP)

>На UART-е соснул и уже третий день не вдуплю чому он не отправляет букву "хуй" в терминал.


Ебать я у мамы долбоеб. Включил ардуиновский монитор порта и неделю нихуя на нем не вижу, грешу на свои кривые недопрограммистские руки, а качнув старый-добрый HyperTerminal прекрасно все увидел. Блядь, как же я ненавижу пердуиновские кривые поделки.
537 313265
>>313261
Батюшка, если вы не осилили переключить на нужный порт в пердуино, то я даже и не знаю, как тебя назвать. Ты прям-таки дно пробил.
538 313267
>>313265
Переключил, только этот монитор хуй его выводил. Вообще ничего не выводил. Конвертер мигал светодиодами, типа данные шлются, а на компе - хуй.
UART1.PNG10 Кб, 843x352
539 313327
>>298779 (OP)
Поясните еще по UART-у. Пока не вставил задержку после UART1_SendData8, в терминал приходил какой-то хлам. Рандомные символы из строки, выхваченные непонятным образом. Может проверку какого флага надо мутить или и так сойдет?
540 313334
>>313327
Сам спросил, сам ответил.
Изучая приложенный к SPL файл помощи, обнаружил в нем флаг ТС (трансмит комплит), вставил цикл с его проверкой и все завертелось шустрее.
Спасибо пацаны!
541 313335
>>313334
А теперь сделай отправку по прерыванию, чтобы микроконтроллер мог делать что-то еще, пока данные передаются. И не вздумай вставлять подобный код в прерывания.

>>313161
Ассерты убрал?
542 313337
>>313335

>И не вздумай вставлять подобный код в прерывания.


А что с ним не так?
>>313335

>Ассерты убрал?


Не нашел ничего подобного. Включаю дебаг, в этой области памяти совсем другие значения. Полазил в настройках компилятора и линковщика, тоже нихуя такого не нашел. Сейчас добавил массив с тестом для UART-а, смотрю он появился в этой области, пути наполовину вытеснились оттуда.
543 313338
>>313337

>А что с ним не так?


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

>Не нашел ничего подобного.


В начале любой функции SPL есть что-то вроде assert_param(какой_то_макрос(параметр)). За assert_param обычно скрывается какой-то макрос, в котором используется __FILE__ для того чтобы ассерт мог выдать имя файла в сообщении об ошибке. У STM8 макрос assert_param вроде бы определен в stm8s_conf.h. Лучше почитай про ассерты, гугл должен знать. Ругаться на криворуких разработчиков SPL в этом случае не надо, ассерты при правильном использовании не создают избыточности и даже могут быть полезными при отладке.

>>313334
Добавлю еще, что:

>Изучая приложенный к SPL файл помощи


Это пиздец. Референс мануал принципиально не читаешь? Как тогда сможешь узнать максимально возможную скорость того же UART-а?
544 313339
>>313338

>Референс мануал принципиально не читаешь?


Читаю и то и то. Просто я вкатываться начал неделю назад, вспоминая Бейсик изучашийся на информатике на Robotrone1715 и школьный английский, с которого помню - май нэйм.
Задержки это я просто вставил, чтоб помедленнее
545 313341
>>313338
Как российскою мовою его заставить говорить? Типа таких конструкций - "0х950х930х89"?
546 313342
>>313341
Если кратко, то нормального способа нет. В стандартах языка Си ничего нет про кодировку исходных файлов. Там вроде бы только набор используемых символов указан, даже про ASCII ничего не написано.
Однако на практике можно использовать однобайтные кодировки, такие как KOI-8, cp1251, cp866 (само собой переключив кодировку в терминале). Но для этого надо убедиться в том, что компилятор использует необходимую кодировку. Например в GCC: https://gcc.gnu.org/onlinedocs/cpp/Character-sets.html
ирк.PNG13 Кб, 608x226
547 313754
>>298779 (OP)
Залез в дебри прерываний. Я правильно понимаю, что этот код в прерывании сам вызывает прерывание пока не отправится весь буфер? Просто в майн.с нет ни строчки кода с такими переменными
548 313778
>>313754

>код в прерывании сам вызывает прерывание


Я бы так не говорил, а то возможна путаница. Прерывание срабатывает при опустошении буфера передатчика (судя по всему). Но это же прерывание может быть можно вызвать, установив флаг в каком-то регистре, не дожидаясь окончания передачи.
549 313779
>>313754

>Просто в майн.с нет ни строчки кода с такими переменными


Попробовал найти этот пример, но нашлись одни китайцы. Ты китайский пример разбираешь?
Не надо так делать, у китайцев мозги работают иначе, человеческая логика к ним не всегда применима. На гитхабе хватает более нормальных примеров.
550 313782
>>313779

>Ты китайский пример разбираешь?


Нет, HyperTerminal_Interrupt из SPL. Примерно понял, после перезагрузки буфер пустой, контроллер сваливается в прерывание и отсылается в UART байт, в конфигурации включено прерывание при опустошении буфера, прерывается и отсылает следующий байт, пока не дойдет до конца массива.
Слажна нахуй. Я не могу так со старта мозги искривить. Хуево на старости лет вкатываться.
551 313783
>>313782
ПС. Есть какой-нибудь софт для простого рисования алгоритмов? Лениво в тетрадках черкать тысячи листов пока вдупляю.
552 313785
>>313782
Нашел. Странно, что гугл ничего не выдавал.
Да, ты все правильно понял.

>>313783
Лучшее из того что я знаю — microsoft visio.
WP20180227144724Pro (2).jpg538 Кб, 1203x1033
553 314031
>>298779 (OP)
Я снова выхожу на связь. Есть датчик влажности со включенным хардварно интерфейсом I2C и запаянный моими кривыми ручонками на плату. Ввиду моих хуевых познаний программирования я кое-как настроил I2C и попытался прочитать в нем регистр WHO_AM_I со значением 0xBC и вывести его в UART. Итак пара вопросов:
1. Я правильно понимаю, что если бы я его криво запаял, то при отсутствии ответа ACK от него, все мои потуги связаться с ним заканчивались бы неизменным значением переменной в которую я пишу значение считанного регистра?
2. Если что-то читается, то в хардварной части можно не ковырять больше и искать ошибки только в софте? Я просто охуенно боюсь его пережать и убить к хуям.
554 314033
>>314031
С питанием все в порядке?
Ну и да, обзаведись копеечным лог анализатором, много нервов сэкономит
HLGA-6.PNG21 Кб, 555x523
555 314042
>>314033

>С питанием все в порядке?


На дорожках есть. КЗ нет. Проконтролироваль припаянность не могу ввиду ебанутого корпуса.
hum.PNG3 Кб, 818x97
556 314048
>>314033
Вроде работает, когда дыхну на него, меняются данные в регистре. Осталось разобраться со всеми регистрами и запихать это + ModBus в 8кБ
557 314091
>>314031
I2C в стм8 это одна большая ошибка. Читай errata.
558 314094
>>314091

>Читай errata.


Читал. Я там половины не понял. Ввиду хуевого владения С, написал взаимодействие с датчиком посредством записи/чтения по одному байту. Никаких последовательных чтений и хитрожопых вариантов связи не использовал. Вроде работает. Занял этот мой говнокод пока примерно 5кБ флеша. Сейчас раздупляюсь с ModBus и буду пытаться его вкорячить в оставшиеся 3кБ
559 314115
>>314094

>Вроде работает


Сговнял по скоряку функцию преобразования двоичного значения в двоично десятичное, вывел в терминал и приуныл. Температуру показывает примерно на 6 градусов меньше реальной, влажность как в пустыне 37-38% При касании пальцем, температура начиная с 24.5 начинает расти и показывать более достоверные данные, а влажность скачет то 31, то 74. В общем показометр сговнял.
560 314123
>>314115

> В общем показометр сговнял.


Паrни!!! Проверяйте типы переменных!! Это пиздец, у меня в фунции чтения регистра есть переменная х типа uint8_t, а при чтении младшего и старшего байта, она писалась в переменные x_L&x_H типа int8_t (проебал я u), потом это хитро задвигалось в переменную типа int16_t.
Так вот, стоило изменить тип на правильный и всё захуярило нормально. Влажность правда 41%, но грешу на зиму и отопление. Завтра соберу на пердуине и Si7021 и сверю показания.
ПС. Дякую тобi Б-же, шо я не программист!. Я бы ебанулся на такую работу ходить.
561 314131
>>314115

>влажность как в пустыне 37-38%


>как в пустыне


ты дебил?
пустыня.PNG31 Кб, 703x289
562 314132
>>314131

>ты дебил?


Нет, а ты?
563 314133
>>314123
Если у тебя есть спиртовой градусник, то можешь с его помощью точно измерить влажность.
564 314137
>>314133
Нету. Вернее есть, но он с рождения показывает температуру на Марсе. Сейчас на нём -7, хотя по ощущениям -30. Все никак не соберусь с духом сваять метеостанцию, которая просто обязана быть у каждого ардуинщика.
565 314163
>>314137
Сверил с Si7021. Температура отличается на 0.5 градуса, влажность на 0.7-1.2% Так что, вроде всё нормально.
566 314221
>>314163
Nice work.
567 314222
>>314091
Используйте программный I2C.
Это проще и не зависает.
568 314533
Проверяли на стенде наносекудных помех контролёры STM8 , STM32 и AVR8 , KINETIS KEAZ . У STM32 перезагрузки выгорел пин , у авр непредсказуемое поведение и слет прошивки при том в нормальной плате . STM8 и КЕАZ просто перезагрузки . И таки выходит STM8 простой , дешёвый , легкий в освоении , надёжный . Для простых задач вполне .
569 314535
>>314533

>у авр непредсказуемое поведение и слет прошивки


Поставил пердуину включать-выключать освещение на стеллаже с рассадой. Двадцать ламп дневного света, тремя группами по очереди. Слетала прошивка при включении второй группы, заменил на стм8 и уже третий год к ней не касаюсь.
570 314541
У нас на говнозаде в мухосраске 1000 изделий в месяц на AVR8 , непредсказуемое поведение порой порой ведет к глюкам , убытки на сотни тысяч в год . В топку AVR8 . До покупки стенда , я не знал такой прикольной особенности AVR8 .
571 314564
>>314541

А убирали SELFPRGEN?
572 314571
>>314564
На память не скажу . Но это не спасёт от глюков , по тому что сами фьюзы тоже улетают . Лучше убрать AVR8 как не надёжный без 10500 развязок и фильтров . STM8 и дешевле и крепче , ещё и специальный флаг сброса от помех имеет . Конечно в идеале в производстве нужны двухъядерные контроллеры с параллельным исполнением кода , но они дорогие и геморройные .
573 314576
>>314541
>>314571
Если у вас даже аврки глючат, то вас уже ничто не спасет. Стм8 в ваших руках будут дохнуть сразу же, при первом же включении, лол. Боюсь представить ваш уровень схемотехники и кода.

>Конечно в идеале в производстве нужны двухъядерные контроллеры с параллельным исполнением кода , но они дорогие и геморройные .


Откуда только таких шизиков берут?
В общем, попробуйте что-нибудь из 8051, судя по всему только они выживут в ваших кривых руках.
574 314585
>>314576
При чем тут шизики ? Мы провели тесты >>314576
ололо при чем тут шизики? . Как сделать что бы AVR8 работал четко я знаю . Но для этого нужна себестоимость большая . И с фигали 8051 будет крепче стм8 ? Атмеловский будет точно хреновей , наверное какой-нибудь из древней ракеты и будет крепче , но такой ни кто не продаст.
575 314586
>>314585
Если бы вас парила себестоимость, вы бы не использовали ни авр, ни стм. Подумай над этим.
Вы хоть конкурентов изучите для начала.
576 314587
>>314576
Нормальная у нас схемотехника и код . Одно дело ардуино подводные поделки работающие на столе в единичном экземпляре . Другое дело серия которая может встречать разные условия эксплуатации и у которой критична себестоимость . Вот я провел тесты на генераторе помех и сделал выводы . Насчет шизиков почему это тогда в аирбэгах , абсе и пр. контроллеры двухъядерные ? Во всем мировом автопроме шизики сидят , и нормальным пацам запрещают атмелку поставить ?
577 314588
>>314586
STM копеечные , авр копеечные . Развязка и норм фильтры больше 1000 рушлей . Ну будет конкурент на 20 рушлей дешевле и ни на что не повлияет.
578 314592
>>314587
>>314588
Вот кому ты рассказываешь, а? Я держал в руках тонны пром. железа, и знаю что использует тот же сименс и другие топовые конторы в своих девайсах, работающих в действительно жестких условиях помех на разнообразных производствах. В том числе разнообразные приборы безопасности. В том числе и оборудование для работы во взрывоопасной среде. И ты, если такой "продвинутый", то тоже знаешь и видел все это. Но в этом случае получается, что

>Нормальная у нас схемотехника и код


- это пиздишь не кому-нибудь, а сам себе.
579 314601
>>314592
Ахаха и конечно там авр8 . Таки жеж ведь факт есть факт , авр без кучи защит дохнет куда быстрее чем стм8 и быстрее чем stm32 , а чемпион пока Kinetis . в серьёзных пром системах на сам контроллер не особо доходят помехи , там гальваничаская развязка и зачастую у цифровых цепей отдельная плата . Чего сравнивать жопу с пальцем ?А ты именно это делаешь .
580 314604
>>314601
Ты удивишься, но встречаются и авр, но, конечно же, не авр8.
Алсо, открою тебе страшную тайну: чемпионы по помехоустойчивости - древние автоматы на высокопороговой дубовой ДТЛ и ТТЛ логике, типа совковой 511 серии. Там для ложного срабатывания нужна помеха с нереальным уровнем и током.
581 314630
>>314604
Ни какого секрета тут нету , в том что логику углючить сложнее чем контроллер . Чего ты вообще перешёл на личности , не понравились результаты моего теста ? Я покусился на швятый для ардуинщиков авр8 ?
582 314681
>>314630
Напротив, 8 битные аврки в евро пром. железе уже лет 8 никто не использует. А вот 8051 и пики - до сих пор. Стм32 встречаются, но только дорогие индастриал серии. При этом, на защитах и экранировании особо не экономят. Делай выводы.
583 314692
>>314681

>При этом, на защитах и экранировании особо не экономят


Мы же в Рашке живём. Лол
584 314708
>>314692
Не представляю себе, кто у вас покупает глючные поделия. По-моему все нормальные предприятия давно подсажены на евро аппаратуру. Нередко даже оплачивают дорогу, проживание и жирный тариф спецов из Германии, особенно на этапах монтажа и пуско-наладки. Как раз таки из-за того, что связываться с отечественным производителем и васянами-спецами - себе дороже выйдет.
585 314723
>>314708
Я сам бы конечно , на месте покупателей её не купил . Но блин дело в россиянском менталитете - урвать по больше здесь и сейчас , а не строить порядочный бизнес с качеством и меньшей прибылью.Но по теме то STM8 , как раз хорошо , для дешманных изделий, по тому как он больше издевательств электромагнитных терпит , без нормальной защиты.
586 314758
>>314708
Ну как в любой стране третьего мира , белые господа придумают ,поставят и наладят все , а дикари на всем готов шлепают серию . Ура перемога.
587 315393
>>298779 (OP)
Что нового на осьмибитном фронте?
588 315581
>>298779 (OP)
https://yadi.sk/i/sYIJcHCF3TLvrw
Учебно-тренировочное пособие по STM8
589 315621
>>315581
И зачем оно нужно?
590 315628
>>315621
шоб було
591 315655
>>315581
Спасибо, анон, выручаешь.
stm8s003f3u6.PNG524 Кб, 1208x580
592 315809
>>298779 (OP)
Ебанистически сверхдешевые контроллеры. АВР-дети просто рвут волосы на жеппе.
STM8.png197 Кб, 1622x806
593 315813
>>315809
Это хорошо, но что ты будешь на нем делать? Корпус, печатная плата, батарейка, еще какие-нибудь детали не потребуются? Сколько сэкономишь от стоимости остальных деталей?

А потерять можно время, необходимое на освоение этого микроконтроллера.
594 316362
>>315809
stm8 не нужен при наличии stm32
595 316363
>>316362

>pooque

596 316405
Пока всякая петушня тут кукарекает, попробую объяснить ньюфагам что такое и нахуя эти ваши STM8.
Ардуинодети могут сразу проходить мимо, т.к. это не для вас. Эти микроконтроллеры совершенно не годятся для программирования всяких любительских штук, просто потому, что нет таких применений для них. По факту отличие в цене с atmega эфемерное, потому что тратится до ебене матери времени на освоение (хотя по моему мнению STM8 даже проще атмеловских поделий) и паяние. Более того, цена контроллера в единичном устройстве не сильно влияет на итоговую стоимость. Причина проста - время и ручной труд стоят намного дороже всех компонентов вместе взятых. Идём дальше: STM8 это прежде всего промышленный контроллер. Он очень дешёвый и, ко всему прочему, помехоусточивый, что делает его отличным инструментом для устройств, выпускаемых большой серией и работающих в непростых условиях.
В итоге имеем, что атмега - говно мамонта, привет из девяностых; STM8 - отличный контроллер для большой серии ПРОСТЫХ устройств, а STM32 - лучший выбор для радиолюбителей.
Сорян за сумбур - подорвался пердачино от вскукареков местной петушни в тренде. Если надо - приведу в упорядоченный вид и вброшу сюда.
597 316417
>>316405
Тебе не кажется, что твои критерии ЭМС односторонние? Ты все смотрел влияние помех на микроконтроллер, а ведь часто важнее наоборот - шумы от самого микроконтроллера.
598 316418
>>316417
Да он просто долбоеб. Подвергать не предназначенные для этого мк тесту устойчивости к жестким помехам - идиотизм. Помехоустойчивые версии мк делают в металлизованных корпусах, а-ля военка. Кроме того, есть специальные дорогие индастриал серии, где доработана топология.
Про "стм8 - промышленный мк" вообще ржал в голос. Для копеечных детских игрушек самое оно, да. А всякие сименсы по-прежнему лепят в пром. железо 8051, атмелы и пики (родом из 70х годов, кстати!), армы тоже ставят, но не такое дно как стм8. Короче, пусть клептоман дрочит на свои ширпотребные копеечные стм8 дальше, никому не нужные, кроме китайцев, экономящих каждую копейку.
599 316435
>>316418
Опять выдумки про якобы живучесть аврок и 8051 .
600 316446
>>316418
Господин АСУник ,а может быть вообще киповец или наладчик , сначала разработайте чего-нибудь , пройдите испытания на ЭМС успешно , а потом других жизни учите .
601 316450
>>316418
Хорошо ведь на анонимной доске писать, правда? Можно всем ссать в ебало и даже себе, лол, и оставаться дартаньяном комнатным. Ждём ваших промышленных девайсов на 8051 в металлокерамике, а то пока я вижу лишь вскукареки вида

>я не долбоеб, это он долбоеб, а Сименс кукареку

602 321068
Анон, помоги проинициализировать таймер. В каком порядке настраивать регистры? Допустим у меня tim2 и я хочу запилить ШИМ на втором канале, при этом надо, чтобы он считал 160 тактов, а не 2^16.
603 321207
>>316418
Двачая адеквату
604 321214
>>321068

>В каком порядке настраивать регистры?


Включить тактирование таймера.
В любом порядке настроить другие регистры.
Последним поднять бит включения таймера.
Всё.
15322414296670.jpg60 Кб, 750x1000
605 332243
Есть поделие российской анало-говнетной промышленности под названием "Кситал". К нему можно подключить до 6 датчиков на вражеских DS18B20 с максимальной измеряемой температурой 125С.
Есть поделие буржуйского сумрачного гения под названием - термомаслянный котел и температурой масла в контуре - 160С
Есть контроллер управления котлом, созданный еще более сумрачными гениями. Без вменяемой документации и прочих радостей жизни. Имеется только таблица с адресами и значениями модбас-регистров.
Нужно мерять температуры 150-200С и отправлять их по GSM. Не придумал ничего лучше, попытаться написать эмульгатор шести термодатчиков на стм-ке, читать по модбасу данные с контроллера котла и передавать по 1-варе в Кситал. Это законно вообще?
606 332273
>>332243
Стой, остановись, не жри гавно!
Поищи у максима микросхемы интерфейсные для термопар и терморезисторов. Есть даже такие, что эмулируют 18б20. Возможно твой кейс
4357867.png15 Кб, 573x363
607 332533
Как же я проигрываю над ущербными петушками, использующие delay_ms() для задержек везде где только можно.
608 332581
>>332243 Все уже написано.
https://github.com/orgua/OneWireHub
609 332598
>>332581

>https://github.com/orgua/OneWireHub


Ох и спасибо Анон, буду изучать как переделать для stm8l152 и прикрутить modbus для опроса котлового контроллера с термопарами.
610 332609
>>332598 Что жопу рвать? Возьми ардуинку, esp8266, bluepill или еще что совместимое с дуино иде.
Для модбаса тоже есть библиотека.
Можно еще взять малинку, usb модем, usb rs485, впс для reverse-ssh и поставить homeassistant.
https://www.home-assistant.io/components/modbus/
А то слать смсочки кситалом в 2к18 тот еще зашквар.
611 333830
Аноны, хочу запилить оптическую мышь на стм8/атмеге, куда копать, что нужно в обвзяку?
612 333831
>>333830
Оптический датчик с выходом не юсб. Как вариант купить китайскую беспроводную мышку за 100р и отреверсить протокол
613 333832
>>333831
Ну допустим я хочу запилить её на PMW3360/3366. И зочем реверсить протокол?
614 334036
>>333832
Тогда берешь обвязку из даташина на сенсор и датащита на камень и:
1. вкуриваешь юсб протокол. Норм описание здесь http://microsin.ru/content/view/1107/44/.
2. вкуриваешь либу юсб на свой камень
3. кодишь прошивку
615 335499
>>300272
там написать не могу но суть в том что пиндосы просто захотели сырцы тойотовские пиздануть
а вся статья полное фуфло, прям на первой картинке стрелкой показана qfp sram а выдана за процессор да и в целом показанный блок чуть ли не единственный на рынке который не ломается, не теряет флешь и ставят их с середины 90х по настоящее время
например чё то ни кого не смущает что в ниссанах повально пробивает полевик реле дросселя что вызывает полный газ, или ваговские рейки рулевые с глючным софтом который на 180км\ч может порулить за водятла или вообще залочится
15351349354400.jpg58 Кб, 630x449
616 335576
Поскольку этот тред всплыл, продублирую из пердуино-треда еще сюда, а то там всем пофиг.
https://www.microchip.com/wwwproducts/en/ATmegaS128
Оказывается можно сделать радиационно-стойкую ардуину. А я и не знал, что такие атмеги существуют. Еще и в металлокерамическом корпусе.
617 335577
>>335576

Вот вам радиационно-стойкая микросхема, но мы вам её не продадим потому что санкции.
618 335578
>>335577
Это вообще к комментариям о низкой живучести атмег.
Тем более что такой ерунды отечественной хватает. И к тому же продают пока еще.
619 336112
>>298779 (OP)

>арм-подросткам


>STM8


проснись, ты обосрался
620 336156
>>336112

>НИПИЧОТ!!!! ПОВТОРЯЮ, МНЕ НИПИЧООООТ!!!

621 338162
>>300719

>вот типичный тупой вопрос ардуинщега


Вот типичный ответ STM-дауна, не учитывающего стоимость. Пофиг, что специализированный контроллер или CPLD будет стоить в несколько раз дороже, зато так "правильнее".
Извините, не удержался.
622 343537
Кто нибудь подымал на stm8s I2C, встрял с чтением регистров из памяти 24с02. Весь день туплю уже.
623 343538
>>343537

>Кто нибудь подымал на stm8s I2C


>314031 зови этого парня.

624 343539
>>343538
>>314031
Проебался
Снимок.PNG41 Кб, 896x712
625 343540
С записью данных разобрался, все ок.
Вот прочитать не могу.

Залипает на самом первом цикле, при проверке бита busy. Хотя при записи - проходит через этот бит и идет по коду дальше.
626 343543
>>343540

>при проверке бита busy.


Не знаю как в данном случае, но мне кажется что нужно ждать обнуления бита. А у тебя наоборот.
627 343547
>>343540
А ты не пользуешься StdPeriphLib? Меня чота конструкции вида HUI->PIZDA =Dzhigurda ввергают в пучины уныния.
мимонесостоявшийсяардуинщик
628 343549
>>343547

>Меня чота конструкции вида HUI->PIZDA =Dzhigurda ввергают в пучины уныния.


>мимонесостоявшийсяардуинщик


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

Но с регистрами сложнее, за-то один раз и навсегда.
Снимок.PNG45 Кб, 1408x353
629 343585
>>343543

>но мне кажется что нужно ждать обнуления бита. А у тебя наоборот.



Ты был прав. Исправил, заработало. Но после чтения регистра наглухо, залипало в функции. Методом эксперимента, нашел где не хватало задержки, добавил - все заработало как надо.
630 356605
с чего можно начать?
631 356609
>>356605
Вздрочнуть можно.
632 356610
>>343537
С подключением. Errata читал или только собираешься?
633 356612
>>356605
Лучше не начинать. ARM начинай.
634 356736
>>298779 (OP)
Начал вникать в суть микроконтроллеров этой Божественной серии. Есть вменяемвя литература по программированию на Ассемблере на них? Хочу писать реактивные программы.
635 356748
>>356736
Описание набора команд самого микроконтроллера есть в документации. Описание всяких директив конкретного ассемблера есть в справке к этому ассемблеру.
Какая еще литература тебе требуется? Ну можешь почитать что-нибудь общеобразовательное, о том что такое процессор, какие они бывают, какие у них бывают виды адресации.

>Хочу писать реактивные программы.


Вот это как-то глупо. Что ускорять то будешь? А даже если будет какой-то полезный эффект, то что толку? Эффективнее брать более подходящие под задачи микросхемы.
636 356789
>>356612
почему нет?
другой анон
637 356816
Про PADAUK слышали что нибудь? 8 центов за восьмилапого АДК.

https://www.youtube.com/watch?v=VYhAGnsnO7w
638 356832
>>356789
Говно без задач. Даже специальных применений нет. L серия была бы интересной, если бы не STM32L. Таким образом не имеем вообще никаких преимуществ перед ARM. Дешевизна не аргумент. Если так уж хочется поебаться с дешёвыми МК то бери сразу китайские BJ8P509FNB/FGA за 5 центов штука. Или PADAUK, тут где-то тред был.
639 356849
>>356832
Есть в автомобильном исполнении .
Есть на температуры до 150 градусов.
Устойчив к помехам .
В этом смысл STM8.
640 356856
>>356832

>Дешевизна


STM32F0 стоит дешевле восьмой серии, но уже во всю 32-битные.
641 356989
>>356849
В этом треде уже был срач о том, что stm8 говно без задач.
642 357014
>>356832
Но зачем мне 32 битный контроллер, где 8 битного за глаза?
643 357040
>>356989
Да какой то тупой мудак киповец кукарекал, кстати нес откровенную ерунду , а мы на работе тестили STM8 на стенде. Так вот они надежные и не дорогие . Под задачи не требующие 100500 интерфейсов и производительности вполне подходят .
644 357128
Классические срачи.
Первые МК с которыми познакомился были PICи, но как-то MPLAB да и прочее неуютно было. В универе начальных курсов были атмеги, писали на ассемблере, программировали, работало. Практического применения не нашел. На курсах постарше те же атмеги + IAR, это уже практичнее, но дебага нет.
СТМ8 + IAR - крайне уютная вещь, нормальный дебаг, около года на них побыл, очень полезно для перехода на СТМ32 (по крайней мере мне так показалось)
Ну СТМ32 + IAR думаю и так понятно.

Так к чему я писал этот высер - СТМ8 - крайне приятная в пользовании серия, не слишком увесистые мануалы, интуитивно понятные. Если бы у меня спрашивали что посоветовать новичку - не задумываясь сказал бы СТМ8, наверное самые простые МК с нормальным отладчиком. Вы можете включать светодиоды вообще без кода, просто изменяя значения битов регистров в режиме дебага.
SPL, HAL и прочую индусовщину не использовал, библиотеки только стандартные Си ну и ARM_MATH естественно.
Ну а в целом, хуй вас знает, все МК +- одинаковые, главное чтоб устройство работало надежно
Pictoblox-UI-Annoted-Low-Res.png73 Кб, 1000x520
645 357129
>>357128

>Если бы у меня спрашивали что посоветовать новичку


Какому именно "новичку"?
Нынче ардуйня дошла до степени, когда даже 5-8 летние дети пишут программы для мк на адаптированном ЛОГО, с красочными визуализациями, и делают роботов.
И тут ты со своими отладчиками, регистрами-хуистрами и байтоебством. Подавляющее большинство новичков выберет именно ардуйню, хоть ты тресни.
646 357204
>>357129

>Какому именно "новичку"?


Человеку, который осознает, что "байтоебство" и регистры это базовые знания, без которых стоит идти нахуй в менеджеры.
647 357217
>>357204
И да, пожалуй я сформулировал наконец - человеку который хочет уметь программировать оффлайн
648 357218
>>299073

>port_name->odr &= ~gpio_pin;


Ха, ну ты и лох. Нормальные люди делают так:
PORTA_Pin1=1;
PORTA_Pin1=0;
для атмеги, преобразующиеся в ассемблерные команды sbi/cbi и выполняющиеся за один такт, и
GPIOA->BSSR=gpio_pin;
GPIOA->BSSR=gpio_pin<<16;
соответственно для СТМок.
Собственно, функции типа GPIO_SetBits(LCDPwrPort, LCDPwrPin); или HAL_WritePin это и делают. Последжняя ещё и проверяет внутри, правильно ли всё с пином. Но, любые функции работают медленнее, чем напрямую работать с пином.
А то что ты написал, или конструкции вроде этой #define PIN_LOW(X) X##_PORT->ODR &= ~X вместо - хуйня для быдлокодеров, и если состояние пинов в порте меняется ещё и в прерывании например, то вы рискуете заработать ещё и глюки.
649 357928
>>357128
Палю годноту: освоивший ассемблер (или хотя бы способный прогать без обёрток и HAL) для STM8 и STM32 рискует получить стабильную работу с годной зарплатой.
650 357930
>>357928
Чем ассемблер для STM32 отличается от ассемблера для LPC например?
651 358031
>>298790
Двачую.
652 358261
>>357930
степенью шизойдности
653 358287
>>358261
Правильный ответ - среди LPC есть более древние ядра чем среди STM32. Вот они отличаются, но в среднем там те же кортексы м0/м3/м4, с тем же самым набором команд что в STM32.
Ты бы еще написал что там Си отличается. Ассемблер для STM32 звучит почти как "карандаши для седьмого класса".
654 358303
>>357928
>>357930
>>358287
А что, в 2к19 есть люди, которые верят, что смогут родить код лучше, чем получится у современного компилятора, со всеми его оптимизациями? Нынче для МК везде все пишут на Си и его вариациях, не видел чтобы кто-то ебался с ассемблером, ну, кроме студентов, которых до сих пор пытают снятыми с производства 8051, авр-мегой8 и древними пиками.
333.PNG131 Кб, 706x962
655 358310
>>358303
>в 2к19
Сразу видно тупого человека
А по факту - да, ассемблер нужен. У ядер процессора (если говорить о кортекс да и любых других) есть специфические операции, например перестановки битов, байтов, и прочего, чем компилятор пользоваться просто не умеет, ДА, некоторые ASM команды имеют функции CMSIS, например синхронизация, прерывания, те же битовые реверсы, но собственно и все. Смотри пик.
При этом команд специфических команд АСМа гораздо больше и как воспользоваться той или иной в данном случае решать компетентному разработчику, а не компилятору, ну кроме очевидных решений.
Таким образом, любой, кто говорит "аряря АСМ пережидок прошлого, ряя студенты" - с 95% вероятностью некомпетентное ардуинобыдло которое дальше глубже (не выше, а ниже) Си никогда и не заглядывала. Продукт вашей работы - ГОВНОКОД
656 358314
>>358303
Это смотря как программировать. Ассемблер это не обязательно длинные стены текста, в которых можно самому заблудиться. У программы можно сделать чтото типа архитектуры, и довести программирование до копипаст кусков кода, внося небольшие правки, или использовать один и тот же код, для разных нужд, сокращая общий объём всего кода в разы. Это с опытом приходит, в начале пути всё в кучу, вперемешку с говнокодом.
657 358341
>>358303

>пытают


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

>>358314

>можно сделать чтото типа архитектуры


Как ни делай, все равно будет облом при переходе на другую архитектуру. Даже если кортекс M0 поменяешь на M3 или наоборот. Значительных трудностей при переходе не будет только если на макросах сделать подобие форта, но по скорости это явно будет хуже Си. Писать все на ассемблере это невероятно глупо.

>>358310

>ардуинобыдло


Многие СТМ32-дауны ничем не лучше.
658 358350
>>358341

>Писать все на ассемблере это невероятно глупо.


Да. Я Си не отвергаю.
но мне незачем заморачиваться этим, я же для себя.
659 358353
>>358341

>ардуинобыдло


>Многие СТМ32-дауны ничем не лучше.



Ну, это уже нарицательное, не зависимо от микроконтроллера.
Если человек без SPL/HAL/LL ничего руками сделать не может, как в треде stm32 последние посты (учитывая довольно простую и хорошо описанную архитектуру), то никак иначе как ардуинобыдло его назвать не получится. Дело не в АСМе, Си, библиотеках и прочим, а в том, что они не способны даже сами включить тактирование МК без CubeMX, это печально, товарищи.
660 358455
>>357128

>Ну а в целом, хуй вас знает, все МК +- одинаковые, главное чтоб устройство работало надежно


Ну ты сравнил хуй с жопой. Одно дело - атмеги и пики, совсем другое - кортексы на архитектуре ARM, типо STM32.
661 358480
>>358455
Ну вот сделаю я тебе, не знаю, регулятор температуры, или какой-то измеритель какой-то там важной величины, ты ведь даже не отличишь, какой МК там стоит, да и зачем тебе это вообще знать? Всегда веселило название на китайских магазинах, например "солдеринг стейшон STM32", это даже смешно ведь, она для пайки только стм32? или при наличии внутри этого процессора она паяет без флюса и припой, или силой мысли?
Это позор такого же уровня как писать на печатной плате свои какие-то данные типа @Petrovich_nihuasebe_devices
Поглядите отзывы у китайцев с фотками, как выглядят платы, рукалицо
662 358482
>>358480

>солдеринг стейшон STM32


Ты немного не прав. Разумеется какой именно там микроконтроллер не важно, но важен алгоритм регулировки. Сложилось так, что вроде бы у паяльников на STM32 прошивка заметно лучше. Вот китайцы и пишут на чем оно, чтобы их как-то отличать. Или в случае тестера транзисторов Маркуса, от объема памяти в атмеге зависит количество функций, шрифт, язык.

Но в остальном с тобой согласен. Ладно еще писать что какие-нибудь DSP, у которых еще и байт не из 8 бит, это совсем другое. Но кортекcы только лишь несколько шустрее и периферия более развесистая.

>>358455

>кортексы на архитектуре ARM


Масло масляное. Это название семейства ARM ядер.
15191428679151.png136 Кб, 500x484
663 358724
>>358482

>DSP, у которых еще и байт не из 8 бит


Байт везде одинаков. И на Земле, и на Луне он равен 8 бит.
664 358725
>>358482

> Но кортекcы только лишь несколько шустрее и периферия более развесистая.


И память побольше.
665 358728
>>358480

>Ну вот сделаю я тебе, не знаю, регулятор температуры, или какой-то измеритель какой-то там важной величины, ты ведь даже не отличишь, какой МК там стоит, да и зачем тебе это вообще знать? Всегда веселило название на китайских магазинах, например "солдеринг стейшон STM32", это даже смешно ведь, она для пайки только стм32? или при наличии внутри этого процессора она паяет без флюса и припой, или силой мысли?


Ну не зря же за программирование ARM(STM-8, STM-32) платят намного больше, чем за программирование обычных микроконтроллеров. Они намного мощнее и производительнее.
666 358736
>>358724
Если только применительно к протоколам передачи данных, а не процессорам. Ты хоть википедию почитай, прежде чем писать бред.

>И память побольше.


Далеко не всегда.

>>358728

>STM-8


>ARM


Еще и через дефис.

>обычных микроконтроллеров


А это значит необыкновенные микроконтроллеры?
667 358795
>>358736

>Если только применительно к протоколам передачи данных, а не процессорам. Ты хоть википедию почитай, прежде чем писать бред.


Маня обиделась.
https://ru.wikipedia.org/wiki/Байт
Байт (англ. byte) (русское обозначение: байт и Б; международное: B, byte)[1] — единица хранения и обработки цифровой информации; совокупность битов, обрабатываемая компьютером одномоментно. В современных вычислительных системах байт состоит из восьми битов и, соответственно, может принимать одно из 256 (28) различных значений (состояний, кодов).
668 358796
>>358736

>А это значит необыкновенные микроконтроллеры?


Да, они на архитектуре ARM, это намного сложнее обычных.
669 358806
>>358796

>они на архитектуре ARM


>STM8


Аспирина обнюхался пока наушники паял?
670 358811
>>358795
Например TMS320 многие с 16-битным байтом. Потом в этом треде вспоминали четырехбитные микроконтроллеры.

>>358796
А если MIPS, то значит "обыкновенные" и соответственно более "простые"?
671 358860
>>298779 (OP)
Есть подобные лекции по STM8? На русском.
https://www.youtube.com/watch?v=YBOtHj4jtTI
672 358874
>>298779 (OP)
Нужно ли МК и ПЛИС программистам пруфать свой опыт работы проектами на гитхабе?
673 358875
>>358874
Конечно нет, братюнь, всех на честном слове берут
674 358880
>>358874
Нет, только на собеседовании спросят: "Есть два стула..." Ну ты понял. Примерно как недавно у анона, который писал в прикрепленном треде >>358855
И почему вдруг гитхаб а не гитлаб? А может кто-то пользуется кроме гита другими системами контроля версий? Что мешает использовать свой сервер или просто не использовать сервер?
675 358891
>>358875
Ну я думал, что стажа в трудовой с релевантным опытом достаточно. Не знал, что для эмбеддеров тоже нужно вести гитхаб.
676 358892
>>358880

>или просто не использовать сервер?


Принести все свои проекты на флешки или харде?
677 358927
>>358891
В трудовом кодексе теперь прописано, что работодателям нельзя брать эмбеддеров без проектов на гитхабе?

>>358892
Но это будет уже не гитхаб.
678 359234
>>358728

>ARM(STM-8



Нет, STM8 не arm, клоун.
679 359235
>>358880

>почему вдруг гитхаб а не гитлаб



Лучше битбакет — там хоть меркуриал есть.
680 359261
>>359235
Меркуриал это хорошо, у него команды более адекватные. Но bitbucket это как-то не очень, периодически радужным раскрашивается.
681 359268
>>359261

>Но bitbucket это как-то не очень, периодически радужным раскрашивается.


Шта?
7ba16yK.png18 Кб, 245x153
682 359271
изображение.png1,2 Мб, 1200x628
683 359275
684 359326
>>359271
Into trash it goes. Иронична даже, ведь иконка то у них - мусорная корзина.
685 373207
>>298779 (OP)
Слушайте, ща с новым поделием хочу закатится туда, т.к. дешевизна нужна пиздец и стоит выбор тня848 или стм8

Помню несколько лет назад уебался, что нет нормальной среды, а сейчас чего?

Гуглить впадлу, вдруг анон чего дельного посоветует.

>>358353
Всегда охуевал с количества говна высираемого HAL.
686 373222
687 373242
>>359271
Вполне красиво зато
688 373838
>>298834
Что это за плата? И как писать такой код?
15081732423500.jpg28 Кб, 101x601
689 373840
>>373838
Написано же.
690 373842
>>298834
Древняя пикча ещё с кнопочным телефоном
691 373843
Ностальгия пробила по тому легендарному стм-8 треду
692 374117
>>373843

>по тому легендарному стм-8 треду


Чего там было легендарного?
693 374254
>>298779 (OP)
Купил китайский ST-LINK, а у него Target VCC никуда не распаян. Как дальше жить-то?
694 374453
>>374254
Собери сам, могу прислать голую плату
Rl7xgjCiHKI.jpg1,4 Мб, 2560x1920
695 374515
Сегодня пришли, 4е штуки.
Акромя очевидных даташитов чего есть с литературой по этим микрухам?
696 374518
>>374515
Хз, а че к ним надо? Они простые как 2 пальца. Сам вот выучил за тройку дней, считай всю периферию - брал для проекта где его ресурс на 99% используется, рай перфекциониста в общем.

На самом деле даже не хватило - у S003 нет опорника для АЦП, сидишь меряешь попугаи блядь.

В кратце о семействе:
1) Хрупкие, спалил один (правда переполюсовкой, лол, но все же, атмеги держут дай боже).
2) SWIM - уебанский, по факту лучше вообще забыть про совместное использование этой ноги + спец обвяз нужен.
И даже так, чуть что - глючит и не коннектится.
Постоянно рандомные резеты, при подключенном дебагере.
3) Нет вменяемой среды, хотя это для всех МК, окромя AVR свойственно. (Вот ща микрочип запилит поддержку пиков в Atmel Studio и все остальные производители уйдут на невероятно далекий хуй).
Ага конечно запилят, уебанство в сфере IDE для MCU уже давно традиция, AVR уже переносят на уебанский MPLAB X
4) Очень поганая errata. Прям пиздец поганая, на S003 больше половины EXT IRQ могут теряться при одновременной работе прерываний другой периферии.
А что самое пиздатое - при некоторых условиях, прерывание этой периферии срабатывает дважды.
Фикс не планируется.
5) В традициях STM - reference manual писал двачер-корзина, не умеющий понятно выражаться.
6) Вот эти все сука STMовские регистры, которые хуй адекватно поиспользуешь без хуман-леера. А его блядь нет, есть уебищные STDLIB и CUBE, которые блядь еще из-за косяка в регистре не совместимы с между S и L.
Красота.

Хуй знает, они даже для микросерийки на хуй не нужны вот с этим всем. Мне зашло, только по причине, что люблю на чем-то максимально дешевым работать, используя максимум ресурсов.
697 374553
>>374515
Нахуя ты их настаиваешь и в чём?
мимо
698 374555
А как сгенировать случайное число на стм8?
699 374560
>>374555
Считать значение висящего в воздухе аналогового входа? Или подать на него сигнал с генератора бурой ноты?
700 374561
>>374555
Сделать блядь любой замер из АЦП, сука блядская даже 8бит точности осилить не может.
701 374646
>>374553 в спирту промываю после того как ноги припаял. Паял спировым раствором канифоли, засрал всё что только можно.
Настойка радиолюбительская, на stm8s103f3p6
крепость 90%, со вкусом канифоли
702 374647
>>374518 вопросы вот:
Какой компилятор использовать? Живу на пингине. IDE не использую, в лом разбираться со всей этой хуевертью, мне на всё про всё мейкфайлов хватает, пока.
Какие к ней идут либы, у 32 которую тоже ковыряю, там есть CMSIS, где тупо адреса регистров поименованы и два варианта абстракций с верху с функциями инициализации. Что с этим у восьмёрки?
703 374679
>>374647
Поебать на компиляторы, ты же не про или гик, используй те инструменты, которые нужны. А сейчас тебе нужны, те, которым быстро обучится и легко использовать.

> Живу на пингине.


Ну ты уже легких путей не ищешь.

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

Я без либ ковыряю, особенно первые разы, что бы разобратся в системе.
Но пижу, STDLIB использовал для GPIO, т.к. там все и так понятно, а свои функции долго писать.
704 374704
>>374647
Мне вот этот нравится, там все у него
https://lujji.github.io/blog/bare-metal-programming-stm8/
Компилятор на пингине SDCC,отладка gdb + OpenOCD
705 374732
Что скажете о n76e003? Такая же параша с закрытыми программаторами и прочим?
image.png8 Кб, 113x277
706 374733
>>374732
Че сказать, один из миллион C51. Это все промышленные контроллеры, когда надо экономить центы и влезать в 99% периферии.

Они тебе не нужны. Если уж на то пошло, то считаю, что для домашнего пользования, ничего кроме AVR и SAM нинужна.
Т.к. цена не так сильно различается, а вот кач-во инструментов решает.

Хотя есть конечно вот такие индивиды >>374704 >>374647
Которым есть не давай - дай попердолится.
707 374739
n76e003 говно по сравнению с стм8, сравни команды ассемлера например деление (авр то же говно)
Винда нужна для n76e003.
708 374970
>>374733
Почему вдруг AVR8 удобен для домашнего использования?
Отладчик джитаг неудобен.
фъюзы неудобно .
709 374975
>>374970

>фъюзы неудобно


Да хз, это просто фича, она есть или нет. С одной стороны - хуй тебе динамический конфиг, с другой - да похуй, все равно ты им не пользуешься.
Зато код инициализации уменьшается.

>Почему вдруг AVR8 удобен для домашнего использования


Среда. Не требуется тебе работать в кривом и неудобном говне, типо иаров и кейлов.
Ни в одном из них, нету нормальной подсветки кода.

>Отладчик джитаг неудобен.


Ну он скорее дорог. Вот это действительно недостаток.
710 374989
>>374975

>типо иаров и кейлов


У STM8 STVD же. С Космиком бесплатным.
711 374991
>>374989
Так он же не менее уебищный. Я бы сказал более.
712 374992
>>374991

>Я бы сказал более.


А что в твоем понимании НЕ УЕБИЩНОЕ?
713 374993
>>374992
Атемль студия же, на базе MVS.
714 376431
Стоит ли в 21 веке изучать mcs51?
И с чего начинать, будет ли n76e003 достаточно прост для вкатывания.
715 376433
>>376431

>Стоит ли в 21 веке изучать mcs51


Для чего? Создание светящихся унитазов - нет и на хуй не нужен.
Если профессиональной разработкой планируешь, не стоит, а обязательно, критически.

>И с чего начинать


Начни с атмелевских, на них больше всего доки в русском сегменте будет.
А так - почитай рефернс мануалы и начинай на том, чьи тебе больше понравились и понятнее оказались.
Стоит заметить, что C51 сейчас нигде нет, это подмножество разномастных процов, которые ПОХОЖИ, но имеют различия в ядре.
716 376463
>>376433
Cпасибо! С дуру вчера заказал на алике вот это n76e003
717 376470
>>376463
Вот второму анону уже говорю - попили тред-репорт, как начнешь.
Интересно на самом деле посмотреть ШО ТАМ У НЮВОТОН.
Да и самого будет мотивация - не прослыть на анонимной борде неосилятором.
718 376474
>>376463
А программатор?
719 376486
720 384696
Аноны, на работе приходится возиться с этой лабудой (STM32). Обычный инженегр-схемотехник. Что почитать, что поучить с самых нулей? Нашёл Carmine Noviello — Mastering STM32, хочется чего-то пониже, чтобы потом к ней вернуться. Помоги советом. В принципе я немного освоился там по референс мануалам копаться, но вот самой идеи и дизайна прошивки, с которой вожусь, до сих пор не могу понять. Хочется представлять целиком что она делает, а не по отдельным кусочкам. А для этого мой скилл, похоже, слабоват. В общем, посоветуйте литературу для вкатывальщика, можно на английском и русском языках.
721 384702
>>384696

>STM32


>пишет в тред про STM8


И как ты до инженера дорос то?
722 384709
>>384696
Изучай гамигучи .
Потом яростно дрочи .
И так постигнешь дзен написания прошивок под STM32 /
А так то можно особо и не вкатываться сгенерить в кубе инициализации переферии . Ну да получиться гомосятина , но поди прокатит .
723 384714
>>384696

>осоветуйте литературу для вкатывальщика


Да нету ее нихуя, блоги, форумы, тематические каналы на ютубе из которых ты до уровня

>Хочется представлять целиком что она делает, а не по отдельным кусочкам


врятли дойдешь. Потому-как "учителя"-мартышки.
724 384730
>>384702
Сори, не увидел треда про стм32. Пойду туда.
>>384709
Ну мне по факту "по работе" много и не надо, моих знаний достаточно для поставленной задачи "найди ненужные костыли, выпиши и обсуди с программистом, можно ли их поправить". Но научиться в любом случае хочется, как минимум ещё одна строка в резюме, раз уж мучаюсь с этим. А самый главный минус в том, что у меня самого изделия на руках нет, и я с ним работать не могу, только в самой прошивке в кейле и в кьубМХ вожусь.
>>384714
Потому я и пришёл к бывалому анону в надежде хоть что-то нарыть, литературы ноль, а на ютубе подпивасы за 40 рассказывают, как лампочками с помощью HAL поморгать.
725 384741
>>384730

>литературы ноль, а на ютубе подпивасы за 40 рассказывают


Да так оно и есть. Потом "Кситал" на восьмибитках собирают и продают как передовое изделие за 10к+ У меня стойкое ощущение, что в РФ все комьюнити заканчивается на паре ДиХальтов.
726 384742
>>384741
А в стране третьего мира , может быть иначе ?
727 384746
>>384730

>задачи "найди ненужные костыли, выпиши


>у меня самого изделия на руках нет, и я с ним работать не могу


>Обычный инженегр-схемотехник. Что почитать, что поучить с самых нулей?



Ты в курсе, что у тебя работодатель - долбоеб?
Как бы да, по идее в нынешних реалиях, цифру должен программист разводить, меньше геморроя будет.
Но вот схемотехника учить пограмированию, это как пограмиста учить схемотехнике ИИП или Аналоговой схемотехнике.
Выучить то можно, но блядь по хорошему к этому с азов подступать надо и времени занимает не неделю.
728 384747
>>384696
По теме, вряд-ли, если ты не имел дело с МК до этого, тебе что либо поможет.
В плане помимо тупого знания структуры, там надо знать "приемы" и типовые проблемы, что чем может быть вызвано.
Иначе можно обозвать тупым куском кода какой нибудь атомарный доступ и словить рандомные резеты раз 2 дня.

Изучать МК это изучить простое ядро в идеале, пописать на нем, побиться головой об стандартные и не очень ошибки, после чего лезть уже в другие.

STM32 не легкая архитектура, с кучей своих личных "приемчиков", которые я сам не знаю ибо с ней работал лишь в целях любительского ознакомления.
Даташиты от ST способствуют путаницу.

Если так хочешь строчку в резюме - я советую поизучать дома PIC, после чего перелезть на современный 8bit и потом уже смотреть на ARM.
729 384748
>>384747
Да всё это хуже пидарства .
730 384749
>>384748
Что?
731 384750
>>384749
Все эти контролеры схемки и пр.
По сути тот кто этим занимается в конторе это типа петуха на зоне .
Самая зашкварная работёнка , кабанчиком надо учиться подскакивать , а не это пидарство задротное изучать .
732 384752
>>384750
Макак иди колбек с кнопки напиши и не сри тут.
image.png29 Кб, 160x159
733 384756
Кто не умеет программировать вот этот чип, тот ребёнок.
734 384757
>>384756

>Кто не умеет программировать вот этот чип, тот ребёнок.


Ура!! Я большой ребенок!!!
735 384758
>>384757

Да ладно, это же старый добрый PDP11.
На нём при определённой сноровке можно было непосредственно в машинных кодах писать, без ассемблера.
736 384765
>>384758
При определенной сноровке ты на чем угодно можешь в машинных кодах писать.
Только считать это каким то неибаца умением - это тоже самое, что таскать кирпичи и угарать над тем какие водители грузовиков дети.
737 384768
>>384765
Речь не об умениях, а простоте, логичности и красоте системы команд. По сравненению с другим железом тоого времени.

Сравни с MOS 6502 и Intel 8080. Чуешь силу?
738 384783
>>384756
Даже если до этого не видел какой-то подобный процессор, то долго ли прочитать описание системы команд и начать писать на ассемблере?
И разве gcc для него нет? Или каких-то инструкций не хватает?
739 384816
>>384783

>И разве gcc для него нет?



На нём зародился язык Си.
Вот тут каноническая история языка Си - https://www.lysator.liu.se/c/chistory.ps
740 384820
>>384768
Нет, потому, что я не изучал эти МК и честно говоря не собираюсь. Это какое то бесполезное нерд-хобби, оно мне абсолютно неинтересно.

Вот этот прав >>384783
Проц это просто проц - прочитал даташит и начал писать, просто сраный инструмент, но даже тут люди начинают столбить кумиров и искать "силу".

Я хуй знает, ты же не восхищаешься ручками пассатиж ? Тебе могут они нравиться, ты можешь обсудить у кого лучше, но блядь нахуй мне выяснять ручки каких пассатиж 1920х годов лучше?
741 384821
>>384820
И что же ты написал? Если не секрет, конечно.
image.png327 Кб, 709x1024
742 384822
Где бы раздобыть программную реализацию IEEE 754 на С99 или более раннем стандарте?

Интересуют прежде всего сложение, вычитание, умножение и деление. Но тригонометрия и корни тоже не помещают. И желательно чтобы лицензия была демократичной.
743 384823
>>384821
На чем?
744 384824
>>384816
Только компилятор тех времен будет наверняка сложнее запустить, чем начать писать что-то на ассемблере. Помимо этого, там не то что С99 не будет, даже С89 наверное не будет.

>>384822
В исходниках glibc?
745 384835
>>384824
А лицензия статически линковать позволяет? И там же наверняка завязано на другие библиотки, в итоге придётся тянуть за собой половину glibc. А хочется странного - маленькую компактную платформонезависимую библиотеку. Не беда если она будет неоптимизированная и медленная, главное минимализм.
746 385793
>>384835
Неспешно ожидается информация о программной реализации IEEE754. Ладно, бог с ней, с тригонометрией - есть хотя бы компактная реализация на Си операций сложения, вычитания, умножения и деления? Разве я многого прошу?
747 385797
>>385793

>на Си операций сложения, вычитания, умножения и деления?


Может таки на асме?
сложение.PNG20 Кб, 459x328
748 385803
>>385793

>операций сложения

749 385855
>>385793
Тебе выше отвечали. Такие вещи входят в состав стандартной библиотеки. glibc, newlib и прочие. Зачем делать это вне стандартной библиотеки? Разве только в виде задания какому-то студенту.
Причем сомневаюсь, что там на сложение/вычитание будет много кода, максимум десяток макросов. Или ты макросы вручную раскрыть не сможешь?

>>385803
Но он про числа с плавающей запятой.
750 385858
>>385855

>на сложение/вычитание будет много кода


Бля, но он скорее всего будет не на С
751 385937
>>298783

>То-то везде по плису и кортексу напихано,


Везде пихают PIC и AVR.

> а не 8051,


Их уже не выпускают... Они старые.

>ти и стм.


Что за "ти"?
752 385948
>>385937
Ты отвечаешь на сообщение 17-ого года.

>Их уже не выпускают... Они старые.


Из относительно современного и часто использующегося в любительских целях есть nRF24 (nRF24LU1 и другие) и CY7C68013A.

>Что за "ти"?


Возможно он имел в виду 16-битные MSP430 от texas instruments. Однако у них есть много других микроконтроллеров, процессоров и DSP.
753 385970
>>385855

>Причем сомневаюсь, что там на сложение/вычитание будет много кода, максимум десяток макросов.



Сложение гуглится легко.

https://codereview.stackexchange.com/questions/139020/addition-of-two-ieee754-32bit-single-precision-floating-point-numbers-in-c
754 385981
>>385937

>Их уже не выпускают... Они старые.


Лол, это первый проц в мире по массовости и кол-ву выпускаемых и разрабатываемых устройств.

>Везде пихают PIC и AVR


Не везде. АВР в малосерийке или дорогом оборудовании, где цена комплектухи не важна.
По пикам хз, я их не видел, но как писал анон - у микрочипа 1ое место по объему.

>>385948
Вот 430 довольно популярные, от многих слышал признания в любви к ним. Думаю вот сам попробовать.
755 385984
>>385970

>Сложение гуглится легко.


И похоже что это мусор, ибо:

> your case will fail with number 1 = 1.9375 and number2 = 1.9375. in this case mantissa for both numbers is 7864320. output sum is 1.875 which is wrong



А вообще весёлые вы ребята - кто-то использует микроконтроллеры с математическим сопроцессором и не слышал о проблемах связанных с плавающей запятой, а кто-то использует копеечные примитивные чипы и ему нафиг не нужны вычисления с плавающей запятой.
756 385987
>>385984
А кто то использует копеечные чипы и умножает значения на несколько порядков, что бы избавиться от дробной доли.
757 385988
>>385987

> умножает значения на несколько порядков, что бы избавиться от дробной доли.



И это самый эффективный способ. И точность не теряется. Но не всегда такой способ подходит. Он чертовски хорош, но не универсален.
758 385991
>>385984

>о проблемах связанных с плавающей запятой


О каких ты проблемах? Типы данных с плавающей запятой входят в стандарт С98, С99.

>>385970
Но еще проще найти сложение и другие операции в исходниках glibc. Все, это решение. Что можно обсуждать дальше?
759 385992
>>385991

>О каких ты проблемах?


Удачи тебе считать флоты в контролле какого двигателя и еще чего "стандартными" методами.

Но я не утвержда, что проблема не надуманная. Есть куча способов обойти необходимость арифметики с float.
760 385994
>>385992
Естественно, что при вычисления с фиксированной запятой будут эффективнее, но речь шла о реализации IEEE 754. Ты утверждаешь, что IEEE 754 не нужно в принципе если нет аппаратной поддержки? Может и так, но это не относится к обсуждаемому вопросу.
Или ты утверждаешь, что в стандартных библиотеках вычисления реализованы ну очень неоптимально? Ну тогда давай, ткни пальцем в замеры разных софтовых реализаций IEEE 754.
40297833001446295292.jpg272 Кб, 1992x1494
761 385997
Лютая годнота
762 392744
>>374515
схоронил
изображение.png5 Кб, 455x255
763 392893
>>358811

>А если MIPS, то значит "обыкновенные" и соответственно более "простые"?



Ну а сам то как думаешь?
764 392934
>>385997
Не раз встречал высказывание, что у STM-8 ассемблер 6502. Разве это так?
765 393017
>>392893
Значит писать программы на брейнфаке для брейнфак-процессора будет еще проще, потому что команд еще меньше и они совсем простые.
766 393022
>>392934
Где ты мог встречать такие высказывания, учитывая то, что такого семейства микроконтроллеров как STM-8, просто не существует?
Может STM8 отдаленно похож на 6502, но различия начинаются уже с регистров процессора - у STM8 индексные регистры (X и Y) по 16 бит, а у 6502 только по 8.
767 393069
Антош, поясни за конвеер в сабже. Из-за него не известно время выполнения инструкций? Как вообще тут делают временные задержки типа как delay_us в АВР? В гугле попадаются какие-то лютые велосипеды на таймерах. Попроще никак нельзя?
768 393075
>>393069

>Из-за него не известно время выполнения инструкций?


Нет, не известно не из-за него, а из-за того что в документации все это дело не расписано. Конвейер есть и в AVR, только двухступенчатый. Ну и прерывания не будешь же запрещать.
769 393078
>>393075

>Ну и прерывания не будешь же запрещать.



Ну обычно так то кол-вом циклов интересуются именно для прерываний или каком-то очень узком, частовызываемом участке кода, где важна не разовая скорость, а средняя.
770 393096
>>393075

>в документации все это дело не расписано


http://www.count-zero.ru/2018/stm8_manual/
771 393109
>>393096

>Although the decode and/or execute stage of some instructions may take a different number of cycles, a simplified convention providing a good match with reality,


Листая документацию по диагонали, я это так понял, что все-таки нет. По этим сведениям можно посчитать только приблизительно.
772 393244
>>393078
>>393109
Так как всё-таки правильно задержки делать? На каждый микросекундный пук хардварный таймер дёргать?
773 393389
>>393244
От целей.

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

А если нужно, то уже от целей.

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

Вообще, обычно таймеры планируют с молоду, в простом приложении можно и на хардварных все сделать, че им простаивать.
774 393390
>>393389
И к слову ИМХО, с длительными задержками как с GOTO, скорее всего у тебя с архитектурной точки зрения что то не-то, раз тебе требуются они.
775 393394
>>393389
Вот всё по полочкам разложил, прояснил мозги. Благодарствую!
776 403953
>>298880

>системы от Матюшова


Кусок референс мануала криво переведенный. Никакого разбора там нет. С гугл транслейт можно 10 таких книг по ст написать.
777 404669
>>298779 (OP)
Извращенцы, решил вкатиться в погроммирование ваших контроллеров и соснул на этапе установки IDE. Есть для него чего-нибудь отличное от Cosmic_und_STVD? У меня эта ебала впала в грех требования лицензии, хотя я ей ее подсунул и Cosmic ее схомячил. А после установки STVD пошла жара. Я уже ебанулся нахуй. А хотел под кофиек нервосетки покодить на йоба-дешевых контроллерах
778 404678
>>404669
Моя срака раскалена до предела. Погуглив эту фичу у космика я понял, что меня спасет только полная переустановка винды. На такое я идти не собираюсь и поэтому пришлось мутить магию со встроенным гипервизором, ставить в гости вин7 и ставить космик туда. Теперь вот ебусь через шару. Где такое, блядь, видано?
779 404684
>>404669
Не пользуйся этим говном.

Ставь IAR. Он пустой почти, но не будет ебать мозги и летает.
Писать код можешь в другой студии.

Вообще, для вката СТМ8 не самые лучшие мк.
780 404687
>>404669
Для вкатывания изучай ассемблер, вот
https://shop-pdp.net/ashtml/asxxxx.php
781 404689
Ассемблер изучай, но не по ссылкам подобных понторезов >>404687
IMG20200303155335049.jpg484 Кб, 2511x1680
782 404729
>>298779 (OP)
PONESLAS'
783 404743
>>298779 (OP)
Для таймерв GPIO надо настраивать как в STM32 или нет? Чота я по примерам не вкурил
784 404785
>>404689
Чем плох ассемблер по ссылке?
Вот, например Форт https://github.com/TG9541/stm8ef.git
785 404786
>>404785
Тем что закатывальщику нужны максимально юзерфрендли гайды. С СМИШНЫми рисунками и картинками.

А не какая то херня, еще и стороняя. Я например даже в душе не ебал до недавнего времени, что ассемблеры бывают разные под один проц. Всегда вставки писал на языке вендора.
786 404799
>>404786

>закатывальщику


Да я "закатываюсь" уже шестой год в вялотекущем режиме. Только начал не с того конца (с стм32)
тим4.PNG51 Кб, 708x729
787 404897
>>298779 (OP)
Анчоусы, меня унижает TIM4 в STM8S003F3U. Просто задоминировал нахуй. Делаю на нем задержки как написано в откуда-то скачаной книжице, а он нихуя не работает нормально. Пришлось delay спиздить из примеров для STM8L. Нука погроммисты 30000ккк/фсек, поясните в чем дело?
*обведенная красным конструкция хуй работат. Пришлось ставить проверку как с примера:
while(us--) {
while((TIM4->SR1 & TIM4_SR1_UIF) == 0);
TIM4_ClearFlag(TIM4_FLAG_UPDATE);
};
788 404979
>>404897
Бамп! Требую пояснений!!
789 405030
>>404897
>>404979

СИНХРОННЫЙ DELAY
@
ЧЕРЕЗ ТАЙМЕР


Нехуй работать через SPL.
Я как то писал и напишу еще раз, из базовой периферии, таймеры - самая ебанутая и задроченная хуйня в STMах, что 8, что 32.

Если ты будешь их через спл изучать - ты соснешь. Изучай через регистры, я не ебу как эта хуйня работает через СПЛ.
Ну либо изучай как работает СПЛ, что в принципе одно и тоже.
790 405056
>>405030

>СИНХРОННЫЙ DELAY


>@


>ЧЕРЕЗ ТАЙМЕР



Ваши предложения, сударь? NOP-ами ебашить?
791 405061
>>405056
Всю жизнь так делалось.
Какая разница если оно синхронное?
792 405197
>>405061

>Всю жизнь так делалось.


И как вычислять длительность NOP-а?
793 405199
>>405197
Делишь 1 на тактовую частоту. Ваш кэп.
794 405208
>>405199

>Делишь 1 на тактовую частоту. Ваш кэп.


Но ведь там конвейер, предварительная выборка команд, вот это вот всё, не?
795 405209
>>405208
А симулятор тебе на что?
796 405213
>>405199
А если мне нужно на пару минут потупить? Это сколько охуиллиардов NOP-ов?
797 405216
>>405213
Ну, сделай цикл с 16 или 32-бит переменной, и если этого мало, то в нем такой же цикл. Количество итераций для необходимой задержки подбери экспериментально. В чем проблема-то? Отцы так делали, и ты сделай. Тем более что особая прецизионность тебе явно не нужна.
798 405217
>>405216

>Отцы так делали, и ты сделай.


А чем тебе тогда ТАЙМЕР не угодил? Не по ДЕДОВСКИ?
15316482797990.png29 Кб, 741x568
799 405219
>>298779 (OP)
Итак. Репортирую о силе вкатывания. На данный момент разобрался с GPIO, тактированием, таймерами и всяким PWM. Краем глаза коснулся ADC, но тут кончился флеш у stm8s003. 8кБ ушло на тактирование, таймер с 3 каналами PWM, кучу из 20-ти if-ов и TIM4 в качестве счетчика задержек. Это у меня говнокод такой и надо вкатываться в ассемблер или COSMIC чудит? Я только собрался погрузиться в пучины interrupt-ов
800 405223
>>405219
Выключил ли ты ассерты (если используешь SPL)? Уровень оптимизации менял? Без SPL пробовал?
8кБ это конечно маловато, хотя многое влезет. Смысла от STM8 в домашних поделках не много, вкатывался бы ты лучше с кортексов.

>вкатываться в ассемблер


Если это для настройки периферии, то сомнительно что будут какие-то улучшения от ассемблера. Настройка периферии это простая запись констант в регистры, там нечего оптимизировать. Хотя чего там вкатываться в ассемблер, за пару дней все можно освоить.
801 405225
>>405223

>за пару дней


А если ВООБЩЕ никогда не касался ассма? Пары недель хватит?
802 405227
>>405225
От человека зависит. Проблема может быть только в возможном отсутствии годных учебников. Если учебники отсутствуют, то стоит начать с 8080, AVR или еще чего-нибудь.
803 405233
>>405227

>стоит начать с 8080


Да пролистывал по диагонали для 286/386/486 процессора. Чота сильно заумно. Может начать с ассемблера под ARM?
804 405239
>>405233

>для 286/386/486 процессора.


8080 на порядки проще, он вообще мало чего имеет общего с этими. Не нравится 8080, можно с AVR начать или 6502. Тут главное не особенности конкретного процессора, а учебник по общим принципам.

>с ассемблера под ARM?


Он немного сложнее. Также по нему тоже наверное не найдешь учебник для начинающих. И вообще их много разных.

Самое главное что требуется понимать - не нужно трогать руками ассемблер, за крайне редкими исключениями.
product-86212.jpg53 Кб, 560x821
805 405243
>>405239
Я тут нашёл пару книг по ассемблеру от Acorn Archimedes, проще него ARM вряд ли будет. Впрочем, Acorn даже тут предлагает C/C++ и частично ASM для оптимизации.

http://www.riscos.com/support/developers/asm/
http://www.computinghistory.org.uk/cgi/archive.pl?type=Books&platform=Acorn Archimedes

Ещё MOS 6502 или Motorola 68000 можно посмотреть, это относительно простые процессоры, дальше начинается пиздец.
9780859341585-us.jpg32 Кб, 280x475
806 405244
807 405258
>>405213
Если бы добавил что в СНЕ, было бы оправдано да.

Но ты не сказал. А так да, дедовским лучше - код короче, проще, не задействует железо, которого мало.

>>405219
Не наебись как я.
Запись в ADC.EN включает питание ADC.
Что бы совершить конверсию, надо записать еще раз.

PS говнокод и ассемблер. Поставь иар.

>>405233
АРМ ассемблер очень сложный. Относительно других. Это больше ассемблер x86, чем всяких МК.
808 405259
>>405219
Говнокод. Специально поглядел сколько занимают древние поделия, всякие контроллеры печек, аналоговые датчики, контроллеры паялки,что-то с индикаторами, нигде больше 2кБ не было занято. IAR.
Не несите хуйни про ассемблер, если вы не знаете зачем он вам, значит он и не нужен. Хотите светодиоды, датчики-хуятчики, простые и сложные изделия, вам для всего этого более чем достаточно обычного си и компиляторных INLINE или intrinsic функций.
809 405261
>>405259

>intrinsic


Расскажи что это, первый раз слышу.
810 405266
>>405244
>>405243
Не открывал, но наверняка это не слишком хорошо пойдет для начала. Лучше взять что-то более общее по микропроцессорам, чтобы излагалось в таком виде: "Стек это..., используется он для того-то. В разных процессорах встречаются вот такие варианты организации стека, а в рассматриваемом процессоре применен вот этот вариант. Инструкции за это отвечают вот такие, которые работают вот так". А в твоих книгах, судя по их названиям, могут сразу писать особенности конкретных процессоров.

>>405259

>нигде больше 2кБ не было занято. IAR.


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

>>405261
В большинстве случаев так называют простые макросы вроде

>#define __NOP() __ASM volatile ("nop")


То есть просто вставляется в код одна отдельно взятая инструкция. Есть варианты чуть посложнее, с аргументами, значения которых передаются в регистры, которые использует инструкция.
Используются intrinsic, например, для того чтобы отправить микроконтроллер в спящий режим. Также бывает используется для примитивов синхронизации, но это уже сделали во всяких ОС. А еще для SIMD используют.
Короче все это тоже не нужно в 99% случаев.
811 405267
>>405217
Таймеру можно найти более полезное применение, чем реализовывать унылую задержку. Ну, если он у тебя не используется, то задействуй, конечно. Но ты же сам спросил про NOPы, тебе и ответили.
812 405269
F
15500482164240.jpg35 Кб, 369x387
813 405270
>>404678
Для честного освещения ситуации.
Когда мой пердак раскалился до пары тысяч градусов от скачков к компиляции в гипервизорной машине и заливке скомпилированного из хоста, я написал наигневнейшее письмо в COSMIC и отхуесосил их насколько позволил гуглопереводчик. Как ни странно, парни ответили на следующий день, запросили вывод ipcofig /ALL и прислали файл лицензии с которым все заработало. Ебать, как мне стало стыдно за мою несдержанность. Я просто заебался подбирать английские слова извинений и оправдываться.
814 405291
>>405266

>Лучше взять что-то более общее по микропроцессорам, чтобы излагалось в таком виде:



Ну тогда ему вот это нужно:

Joseph D. Dumas II. Computer Architecture: Fundamentals and Principles of Computer Design. — CRC Press, 2005. — ISBN 978-0-8493-2749-0.
David A. Patterson, John L. Hennessy. Computer Architecture: A Quantitative Approach, 5th Edition. — Morgan Kaufmann, 2011. — 856 p. — ISBN 012383872X. (англ.)
Дэвид Харрис, Сара Харрис. Цифровая схемотехника и архитектура компьютера, 2-е издание, перевод командой компаний и университетов России, Украины, США и Великобритании, Morgan Kaufman,2013
Таненбаум Э., Остин Т. Архитектура компьютера. 6-е изд. СПб.: Питер, 2014, ISBN 978-5-496-00337-7
815 405294
>>405270
Так вроде с 2016 года COSMIC бесплатен для STM8 c подачки ST, о какой лицензии идет речь вообще?
816 405301
>>405294
Один хуй надо запрашивать лицензию и указывать не местоположение менеджеру лицензий FlexLM
817 405430
>>298779 (OP)
И снова здравствуйте. Требую пояснений.
Дано:
0. Переменная xuy==0;
1. Прерывание меняет состояние переменной с "0" на "1" и обратно.
2. Если xuy == 1, то выполняем действие №1 и ждем в цикле вида while(xuy) пока при следующем прерывании xuy не станет равной "0" и цикл закончится и начнется выполняться действие №2

Так вот, какого-то хуя из цикла не выходит и действие №2 не выполняется. Какого?
818 405439
>>405430
Проблема в отсутствии volatile.
819 405445
>>405439

>volatile


Охуеть можно. Заработало. Море чаю, Анон.
820 405471
>>405439
Костыль.
Скорее всего написано криво.

Компилятор должен в коллграфе прерывания видеть изменение.

НЕ ПОЛЬЗУЕЙТЕСЬ ВОЛАТАЙЛАМИ БЕЗ КРАЙНЕЙ НА ТО НЕОБХОДИМОСТИ.

Пиздец, как я нажрался говна уебанов, которые КАЖДУЮ БЛЯДЬ ПЕРМЕННУЮ КАЖДУЮ СУКА, ДАЖЕ АРГУМЕНТЫ ФУНКЦИЙ ДЕЛАЛИ ВОЛАТИЛЬНЫМИ.

Просто пиздец, не будь таким анон.
821 405472
>>405430
Скинь код.
code.PNG29 Кб, 725x647
822 405476
IT.PNG18 Кб, 669x330
823 405477
>>405476
Прерывание отклеилось
824 405483
>>405477
>>405476
Попробуй it проинициаллизировать при входе в главный цикл.
И в while(it) добавить
NOP();

Не делай отступы так, я охуел даже это читать, посмотри C code style
825 405486
>>405471

>Компилятор должен


Кому он должен? Это в стандарте прописано?
826 405487
>>405486
Что в стандарте блядь прописано? Стандарте чего, компиляторов на 8битный контроллер?
Че ты несешь блядь?

Переменная явно изменяется, там не должен требоваться волатайл.
827 405489
>>405487

>Че ты несешь блядь?


Вот именно, что за бред ты несешь?
828 405491
>>405483

>__asm__("nop");


missing prototype

>перенос объявления переменной


нихуя не дал.
829 405493
>>405487
С каких пор volatile для констант? Для них const есть.
абупидор, сам ты 502
830 405495
>>405483

>C code style


Пожалуйста, не грузи меня. Я тут только во вкус погроммирования входить начал. Всё будет, но не сразу.
831 405503
>>405495
Если у тебя COSMIC, то _asm("nop\n");
Но все это бред, тут необходим volatile.
832 405504
>>405503
Не туда. Это было в ответ на >>405491
833 405523
>>405493
А где ты константу увидел?

>>405503
Я короче обгуглил этот вопросик. Это сорт действительно особенности поведения компиляторов на маленьких программах.
834 405525
>>405493
Const - не изменяется вообще, у тебя в гарвардской архитектуре const может в ROM валятся и не то, что его изменение, даже его чтение может отличаться от RAM.

Volatile - может изменятся не явно, способом о котором компилятор вообще ничего не подозревает. Например (наверно единственный пример) регистры IO. Это противоположность const.
Но регистры IO прописаны волатильными еще в заголовочнике МК, а о прерываниях компилятор обязан знать.

То, с чем столкнулся вопрошающий - некий побочный эффект проявляющийся на маленьких программах.

Вообще тут нужен человек хорошо понимающий компиляцию С, а я мимохуй. Пойду отпишусь в /pr/c
835 405534
>>405523
В STM8 ладно еще, чисто теоретически и если исходники состоят из одного файла, компилятор может разобраться где прерывание. Но если прерывание и остальной код в разных .с файлах, которые компилируются в разные объектники? А для армов у компилятора еще меньше шансов разобраться где прерывание, ведь для того чтобы увидеть таблицу прерываний, линкер должен собрать все объектники. Даже просто оптимизации при линковке появились в компиляторах относительно недавно, включаются только дополнительным флагом и до сих пор работают так себе.
Размер программы тут не при чем, линкер не занимается такой фигней, как нафантазировал >>405471

>>405525

>в гарвардской архитектуре


Если речь про STM8, то у них единое адресное пространство. И где ты константу увидел?

Не про STM8, но все же.
http://www.keil.com/support/man/docs/armclang_intro/armclang_intro_chr1385110934192.htm
836 405535
>>405534
Я не силен в этом. Но компилятор ведет т.н. Call Graphs, где отслеживает "варианты" развития событий. И производит оптимизацию учитывая их.

Как по твоему он будет обеспечивать реентернабельность функций, если не будет полной информации что и где используется?
А реентернабельность в С гарантируется как раз тем самым стандартом. (вроде бы)

>если прерывание и остальной код в разных .с файлах


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

>Размер программы тут не при чем, линкер не занимается такой фигней, как нафантазировал >>405471


Современные компиляторы имеют средства и производят компиляцию между объектными файлами. Это можно запретить настройками. (Про ГЦЦ не скажу, пиковский ака хайтечевский XCx умеет и думаю все подобные IAR\Keil тоже).
Пруф http://www.htsoft.com/news/070309_Whitepaper-OmniscientCodeGeneration_FINAL.pdf
И два пика.

>>405534

>И где ты константу увидел?


Константу увидел не я.

>Если речь про STM8, то у них единое адресное пространство.


Я про общий случай.

>http://www.keil.com/support/man/docs/armclang_intro/armclang_intro_chr1385110934192.htm


Принято. Ну видимо компилятор компилятору рознь.
837 405536
>>405535
>>405534
>>405525
Ебануться можно. Я, только краем уха прочитав книжку по С, решил написать программу чуть сложнее миргания светодиодом и спросил чому не работает. Намекнули про volatile и она заработала. Всё, мне больше ничего от этой жизни не надо. Хуле вы тут сцепились на пол треда?
838 405537
>>405536
Потому что самому интересно же. И это важно
839 405538
>>405535
Давай для начала разделять компилятор и линкер. Если объяснять совсем "на пальцах", то компилятор создает объектные файлы, в которых каждой функции уже соответствует последовательность ассемблерных инструкций. А линкер смотрит какие функции не вызываются вообще ниоткуда (твой Call Graph) и компонует результат в бинарник.

>Но компилятор ведет т.н. Call Graphs, где отслеживает "варианты" развития событий. И производит оптимизацию учитывая их.


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

>Как по твоему он будет обеспечивать реентернабельность функций


Глобальные переменные тут не при чем. А гарантируется за счет того что все необходимое сохраняется в стеке. Функции достаточно хранить локальные переменные в стеке или в регистрах и восстанавливать состояние регистров (и то не всех, а про которые договорились заранее) после себя.

>А у тебя тогда переменная будет торчать наружу и будет считай volatile.


Каким образом она будет торчать? В отдельном компилируемом .c файле не будет никаких намеков, на то что эта переменная используется в других файлах. В одном файле переменную объявил, а в другом прописал ее как extern. Такие переменные для компилятора ничем не будут отличаться от других.

>Принято. Ну видимо компилятор компилятору рознь.


Это для всех так. Хотя есть вероятность того что я ошибаюсь, но этого все равно достаточно чтобы везде в таких случаях писать volatile. Потому что иначе все будет напрочь ломаться при смене компилятора или его флагов.
840 405539
>>405538
Все так, кроме того, что ты проигнорил

>Современные компиляторы имеют средства и производят компиляцию между объектными файлам



На чем собственно и строилась вся аргументация.
841 405541
>>405539
Фигня эта оптимизация, в gcc оно отдельным флагом включается и толком ничего не делает. От других компиляторов не стоит ожидать ничего принципиально иного.
Кстати, следуя логике о том что глобальные переменные должны обрабатываться с учетом прерываний именно таким образом, в си должно быть ключевое слово, указывающее компилятору что конкретная функция это отдельный поток (при использовании ОС). Но такого вроде бы нигде нет. А поскольку нет, то не надо фантазировать относительно аналогичных функций для микроконтроллерных компиляторов.
842 405542
>>405535

>>http://www.keil.com/support/man/docs/armclang_intro/armclang_intro_chr1385110934192.htm


>Принято. Ну видимо компилятор компилятору рознь.


>и думаю все подобные IAR\Keil тоже


По ссылке как раз про кейл, который на LLVM и в котором есть LTO.
843 405543
>>405541
Ну вообще то в любом МК из мною видимых ты пишешь ключевое слово у функции прерывания.
844 405544
>>405543
И эти ключевые слова используются просто для размещения кода прерывания в нужном месте. Конечно оно может использоваться оптимизации, но поскольку такого не наблюдается для многопоточности в ОС, то и тут не стоит ничего такого ожидать.

>в любом МК из мною видимых


Для армов такого нет, у них прерывания от остальных функций отличаются только тем, что из их адресов составляется таблица векторов NVIC, которая помещается в начало флешки.
845 405545
>>405544

>которая помещается в начало флешки.


Забыл на всякий случай упомянуть, что делается это не специальными директивами компилятора, а вручную и разными способами.
846 405546
>>405545
А еще начиная с Cortex-M3 таблицу прерываний можно поместить в ОЗУ и менять на ходу.
847 416514
>>316435
Это так.
Слышал одну историю на просторах интернета, что в рентген-аппарат нужно было установить микропроцессор. Модные-молодежные крафтовые стм32 и аврки дохли один за другим от наводок, и только 8051 смогли в нём работать, пришлось нанимать петровича из нии, чтобы он написал для него прошивку на ассемблере.
848 416515
>>332533

>использующие delay_ms() для задержек везде где только можно.


Позволь поинтересоваться, а что по твоему надо использовать для задержек вместо delay_ms()?
delay_ms() это просто функция, которая для задержки времени использует или инкремент(тогда это гавняная задержка) или аппаратный таймер(тогда это задержка точно отмеряет время).
И я не вижу ничего плохого в том, чтобы её использовать, всем советую так делать.
849 416523
>>416514
Кулстори твое кулсторное.

В 8051 уже давно сотни килобайт ПЗУ и килобайты ОЗУ, туда можно вполне себе запиздярить RTOS и писать на человеческих абстракциях.
Другое дело, что эти 8051 могут дохнуть по тем же причинам что и STM32.

И срач вообще - двачерский, дебильный, твой.
Устойчивость к наводкам проблема не архитектуры, а техпроцесса и частот.

Во всяком промышленном дерьме ебошат 51 и ПИК потому что под них кодовая база у вендора ебанистическая, а перформанса там особо не нужно. Все.
То что дебичи не смогли экранировать нормально МК в рентген аппарате - проблема дебичей, а не мк.
Хули может вообще релейные компьютеры делать?
sage 850 416532
>>416514
На хуй ты приплетаешь архитектуру и живучесть к наводкам ?
8051 выпускают 100500 производителей по разным технологиям и живучесть будет разная соответственно .
sage 851 416533
>>416523
Дома разобрал simens LOGO какой то , и там внутри был ARM от ST.
Видимо они забыли спросить у дрочащих на: 8051, АВР и пик.
852 416534
>>416533

>и там внутри был ARM от ST


Пиздобол. В LOGO ASIC Сименовский стоит.
853 416535
>>416523

>В 8051 уже давно сотни килобайт ПЗУ и килобайты ОЗУ


Хочешь сказать, что в этой статье напиздели??
https://ru.wikipedia.org/wiki/Intel_8051

>Шина адреса — 16-битная адресная шина. Возможность доступа к 216 адресам памяти, то есть 64 кБ адресное пространство в ОЗУ и ПЗУ

854 416537
>>416534
Давно Сименс научился микропроцессоры делать?
855 416540
>>416537

>Давно Сименс


В душе не ебу, но там нет микроконтроллера от ST. Возможно чипы выпускаются на мощностях ST, но там не стоит ширпотреб stm8/stm32 и ты пиздобол, раз пишешь подобное
sage 856 416544
>>416534
Пок пок не STM32 , контроллер с логотипами ARM и ST , серию не помню
sage 857 416545
Хули петушки заливают про якобы мега живучесть древних говен.
Вот смотрите сертификаты SIL и ASIL , которые определяют вероятность глюка МК .
Так вот у STM -32 sil-2 У stm8A ASIL-B
Это конечно не самые надёжные чипы , ну так те же ST предлагают SPC5 c ASIL-D .
Другие производителе тоже имеют линейки высоконадежных контроллеров . Но это не всякие АВРКИ и древние пики , А контроллеры с аппаратными блоками для детектирования ошибок.
2fc79bf4e921cd13bddcda368611d0f7.jpg183 Кб, 1000x790
858 416549
>>416544

>Пок пок не STM32


Не STM32, слепое мудило.
sage 859 416570
>>416549
Иди на хуй петушина, у меня эта хуёвина спизженная дома лежит , и там стоит контроллер ST . Сименс то плк долго выпусках и в разных вариантах.
860 416580
>>416570

> дома лежит


>Телефон Нокия3310, фотоаппараты религия запрещает иметь, и ваще, идите все нахуй


Слился, петушок?
sage 861 416609
>>416580
Давай я дойду и если скину фотку с сименсом на контреллере ST /
То ты садишься на бутылку и скидываешь это сюда.
862 416613
>>416540
То что на контроллере написано сименс, не значит что это не STM32. Ага?

>>416535
https://www.silabs.com/documents/public/data-sheets/C8051F58x-59x.pdf
Хуякс. В вики блядь описан 8051 интеловский, дефолтный, то чем сейчас является С51 - это небо и земля.
863 416615
>>416613
Этой хуйни к слову 1MIPS per 1MHz, это очень круто для этого ядра. Т.к. по дефолту там вроде 0.1MIPS per 1MHz
864 416618
>>416609

>То ты садишься на бутылку


А если не контроллер АРМ от СТ, то ты с пруфами и без лубриканта засовываешь ЛОГО себе в очко?
sage 865 416648
>>416618
Ну он слишком большой и в очко не влезет .
866 416652
>>416648
Ок, давай тогда блупил хотя бы.
867 428215
>>298779 (OP)
>>416615

>1MIPS per 1MHz, это очень круто


Нет. Это уровень тинек.
image.png84 Кб, 968x492
868 428217
>>298779 (OP)

>Это тред реальных дешёвых рабочих лошадок


У тех, что дешевые, всего 8 кб флеша. Это очень мало для задач, которые делают мк в 2к20 году. Их что, на ассемблере нужно программировать?
Я лучше дальше буду прогать атмеги и стм32 на сишечке, как человек.
мимо зумер
s003.PNG19 Кб, 844x351
869 428225
>>428217

>S003F3


>98 рублей


Они там прихуели штоле?
870 428240
>>428217
Даже в 2к20 остаются простые задачи, для которых стм8 вполне достаточно
871 428245
>>428217
заказчик не одобрит stm32 за 100р там, куда можно впихнуть stm8 за 20 а еще они умеют в 5в питание
872 428278
>>428245
Заказчик не одобрит выполение разрабом проги за 6 месяцев на stm8, если на stm32 он может сделать прогу за 2 месяца.
873 428315
>>428278
С чего бы на стм32 будет намного быстрее делаться, чем на стм8? В обоих случаях одинаковая (почти) сишечка или цпп.
874 428608
>>428315
Потому что на СТМ32 куда больше инструментов, IDE, фреймворков и примеров, чем на СТМ8, куда больше размер пзу и озу и вычислительной мощности и быстродействия.
В СТМ32 сгенерил проект в кубике, используешь HAL, чтобы быстро сделать то, что тебе нужно, накидал копипасты с гитхаба, чуток подправил и готово.
В СТМ8 ты будешь читать даташиты и байтить регистры, потом самостоятельно с нуля писать код для всего, а потом еще долго его рефакторить, чтобы уместиться по объему озу, пзу и быстродействию.
875 428612
>>428608
Да, для не разбирающихся долбоёбов инструментов и возможностей больше.
876 428613
>>299220

>Если по-простому, используется аппаратный таймер для отсчёта промежутков времени, по истечении выставляешь флаг. В основном цикле проверяешь наличие флага и выполняешь/не выполняешь код.


>Но я всё больше склоняюсь к использованию rtos.


rtos тоже использует аппаратный таймер и делает тоже самое.
877 428614
>>428612
Окей, что выберет заказчик - чтобы неразбирающийся зумер за месяц другой сделал программу для STM32 по быстрому с помощью кубика и HALа, или чтобы разбирающийся кузьмич писал прошивку для STM8 пол-года, читая даташиты и разбираясь с регистрами?
878 428617
>>428614
Хуяк, хуяк и в продакшен? Если это серия в 10к штук, то разница в цене даст приличную сумму.
Да и по сложности STM8 на порядок ниже, регистров у STM8 на порядок меньше, я уже практически все наизусть их выучил
879 428621
>>428614
И после того, и после этого ещё рефакторинг.
880 428653
>>428608

>В СТМ32 сгенерил проект в кубике


>используешь HAL, чтобы быстро сделать то


Только для стм32 все равно придется читать даташиты, причем не менее усердно, а даже более. Разумеется это если делать что-то сложнее мигалки, иначе ардуина будет вне конкуренции.
И что тебя так зацепили все эти регистры? Обычно вся эта аппаратная ерунда - меньшая часть программы, причем намного более простая.

>чтобы уместиться по объему озу, пзу и быстродействию.


Про это уже было >>428240 Если не хватит, то в чем проблема взять что-то с большим объемом памяти?

>>428614
Твой кузьмич пол года разбирался с одними регистрами и только пару недель писал основную логику программы? Ну всякое бывает, но как-то странно.
15970150120750.jpg363 Кб, 960x960
881 428990
Заказал пик. Всё правильно сделал?
882 428999
>>428653

>Только для стм32 все равно придется читать даташиты, причем не менее усердно, а даже более.


А... а как же HAL? Библиотека HAL берет всю низкоуровневую часть на себя и тебе даже не придется видеть регистры.

>И что тебя так зацепили все эти регистры? Обычно вся эта аппаратная ерунда - меньшая часть программы, причем намного более простая.


Да, меньшая, но разбираться с даташитами и понять, как они работают, занимает намного больше времени. У СТМ32 даташит референс мануал почти на 1000 страниц, задолбаешься его читать и вникать в суть работы регистров.
883 429068
>>428999

>У СТМ32 даташит референс мануал почти на 1000 страниц


Только нужно сравнивать с стм8. Даташит, кстати, для стм32 тоже необходимо изучать, по крайней мере местами.

>задолбаешься его читать и вникать в суть работы регистров.


Допустим часть в которой расписаны битики в регистрах можно будет не читать, но остальное тоже пропустишь?
884 429183
>>429068

>Допустим часть в которой расписаны битики в регистрах можно будет не читать, но остальное тоже пропустишь?


Да.
В документации на HAL все расписано.
885 429274
>>429183

>все расписано


Говно над говном, говно в квадрате.
886 429318
>>429274
>>429183
Если речь про доксигеновскую хрень, то там указано назначение функций, структур, констант, а также возможные значения аргументов для функций. Однако не указаны допустимые комбинации значений аргументов, по вполне понятным причинам. Конечно есть еще куб, но писалось же про хал, а не куб, да и все равно с кубом будет во многом аналогично.
Pipi 887 429432
Полгода читаю ваши срачи о том, что круче: авр, стм, пики-пуки и пр. арм скам, - только щаз до меня дошло. Я ведь работаю на оборонном заводе радиооборудования, у которого клиенты от телеканалов, до эрбаса, амерского эрфорса и арммии эмиратов. Я комплектую детали для этого оборудования и шо я вижу... Когда-то использовали пики, навероное с ними оборудование не выпускается больше 5 лет(судя по иарпи слою пыли на них); так же есть старинные процессоры от мотороллы со GBA 100 и хайниксы какие-то. Нынешнее поколение оборудования выпускаеца только на Атмега8Л, Атмега128Л и хайниксак. Последние только для сетевого интерфейса.

Олсо, атмеги менее всего заменяемая деталь, за год выдал не больше 5ти штук.

Пики хз для чего, но чего-то очень массового, т.е. дешёвого оборудование. Олсо, СТМ32 для совсем говно-фонариков и ир-стробов, которые делаюца тысячами в неделю.

Олсо, используют ардуины нано или майкро на антеннах, но хз какова их функция.
888 429649
>>429432
Шизу какую-то написал, меги8 сняты с производства. Вы там как в 90х из древних неликвидов вперемешку с современными компонентами махарайки лепите?
889 429665
>>429649
То что РФ бензоколонка это лапша на уши либерастов. А на самом деле существует производство компонентов где лепят большинство аналогов, просто всё в тени. А ты говоришь Китай.
890 429671
>>429665
Где тогда бешеный экономический рост спровоцированный реверс-инженирингом, где все эти компоненты и почему их совершенно не видно?
891 429673
>>416537
Очень. Infenion, ныне отдельная компания. SAC16 серия, Tricor и т.д.
892 429703
>>429671
Ну предположу, что не совок и уже за пиратство могут выебать.

Вообще саундс лайк пиздеж, т.к. многие интересные компоненты, особенно питальниковые, требуют спецтехнологий, а не только специфичный рисунок кристалла.
А пиратят там 555ые таймеры какие и прочую базовую хуйню.
893 429778
>>429703
Если выебут, то что на пизженой комплектухе собирать и куда продавать? Таймеры и линстабы еще совки срисовали, это вневременные детали и всем похуй кто их производит.
894 429779
>>429649
Я тебе факты говорю. Оборудование спроектировано под атмеги и пока поставки комплектующих есть, менять не будут.

Махарайки? GaN или GaAs блок апконвертары, твёрдотельные бустеры, твёрдотельные усилители для Ц, Ку, Ка, Икс диапазоны.
895 429993
>>429779
Это ВЧ техника, специфически управляемая. Вот если бы ты там ваял ЭБУ для автотранспорта и спецтехники, ПЛК, блоки автоматики для климатических систем и т.д. с атмежками сразу бы стало не по пути. Пошли бы в ход инфенионы, моторолы, ренесасы и т.д.
896 430024
>>429993

>Пошли бы в ход инфенионы, моторолы, ренесасы и т.д.


они более надёжные? почему они предпочтительней?
897 430101
>>430024
Ну вот просто пример из жизни. Дизельный двигатель WEP10 производства камминс, между пятым и четвертым цилиндром к блоку цилиндров привинчен ЭБУ, сделан он на FPCB намертво приклееной к листам алюминия 2,5 мм, в середине теплоотводящее шасси, все хором, силовая часть питания форсунок, все. Стоит 32-ух битная моторола на BGA, и ей все похуй, что в 30 мм от нее грохочет и вибрирует двигатель, вспышки в цилиндрах и вибрация, температура под сотку. Ей просто похуй полмиллиона километров и больше. Классическая схема, GPT отдельный, флэшка, епром. Америка, камминс любят комплектные решения-эбу мотора прямо к мотору и привинчен, ЭБУ робота прямо к коробке и привинчено. Жар, вибрация, высоковольтная секция форсунок все похуй. Инфенионы, моторолы, ренесасы, ST-шки, OKI, фрискалы. Все что угодно только не атмеги, пики, зилоги, интелы. Ну не вижу я их там где жара, вибрации, ватчдог и пересчет кс каждые 10 минут.
898 430104
>>430101
не потому ли это, что они тупо дешевле,чем 32-битные авры в a исполнении?
899 430115
>>430101
Мурашки по всему телу пробежали. Мощно.
900 430126
>>430101
Шизу пишешь. Простые атмеги и не предназначены для automotive апликаций. Под эти цели идут специальные отдельные серии МК. Так у каждого производителя. Есть ширпотреб, есть medical и industrial-грейд, есть automotive, есть оборонка и авиаспейс.
>>429779
И что там на атмегах сделано, индикация циферок и управление с кнопочек? Для этих целей любой ширпотребный мк сгодится.
901 430180
>>430115
Пример из жизни: я поставил махарайку с Atmega128 в авто, экран, кнопочки, отображения показаний датчиков, все жела. При -10 экран и МК работали норм. При -15 вырубался TFT 4,3" экран, причем SSD1963 контроллер-память экрана работает, а сама матрица уже нет. При -16...-18 не включалась At128.
902 430182
>>430180

>Atmega128


Может быть ты просто поставил атмегу с рабочим температурным диапазоном от 0 градусов?
Более того, существуют радиационно-стойкие атмеги. Они тоже для ширпотреба?

>>429779

>Оборудование спроектировано под атмеги и пока поставки комплектующих есть, менять не будут.


Вот именно. А есть оборудование спроектированное под 133 серию или 54xx, которое тоже производят понемногу. И что теперь?
903 430183
>>430182

>И что теперь?


Потом никакого оборудования не будет.
Это останки совка.
904 430184
>>430183
Больной ты шизик, лишь бы приплести. Специально даже написал еще про 54xx серию, лишь бы совок не приплетали.
905 430207
>>430126

>И что там на атмегах сделано


Ты так долго смотрел свой код, что читать разучился? Хайниксы и другие контролируют интерфейсы(кнопочки и лэн), атмеги контролируют плты конверсии, усиления и пр.: сами сигналы, для которых прибор сделан.
906 430209
>>430180
От куда ты знаешь? Может быть не включалась залупа которая её питает?
907 430246
>>430182
У меня все ATmegи на -10...-15, экран не справлялся, замерзал. Не контроллер матрицы, а сама матрица TFT не могла работать ниже -15. Ты чем вообще читаешь? Жопой?
908 430260
>>430207

>атмеги контролируют плты конверсии, усиления и пр


Шиз, атмеги - тормозные 8 битные мк с посредственной периферией. Более-менее полноценно контролировать что-либо из перечисленного они могут лишь по интерфейсам типа i2c от внешней периферии, читая и управляя ей.
909 430278
>>430126
С чего это шиза? Ты дальше сам же и подтвердил мои слова, что идут отдельные, специальные серии мк. Там выше чувак напирал на то что раз у него в свч военной аппаратуре стоят атмеги, значит это ух какие МК. Перечитай тред повыше.
910 430283
>>430246

>экран не справлялся, замерзал.


И что с того? От ноунейма с али можно ожидать что угодно. Даже если у тебя не ноунейм, то была ли там заявлена работа на минусе? И вообще, что ты хотел от матрицы без подогрева?

>Ты чем вообще читаешь? Жопой?


Я хотя бы не жопой думаю. Ты сам писал:

>При -16...-18 не включалась At128.


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

>У меня все ATmegи на -10...-15


Что? у них по даташиту от -40 до 85 для Industrial и до 105 для Extended. А для Commercial от 0 до 70 градусов.
911 430866
>>430260
На тебя скрина военной радейки с атмегой нет. Я его проебал.
912 433798
Почитал ваш тред, отпишусь в одном посте.

1. Ассемблер охуенный, все четко, как на x86. Даже есть команды переноса память-память, умножение и деление. Регистров мало, но первые 256 байт можно почти как регистры использовать, там один байт адреса в команде.
2. Не понимаю, нахуя экономить таймеры, если их дохуя. Tim1, tim2 понятно что для генерации сигналов, но tim4 же внутренний, а также iwdg и wwdg есть.
Я сделал arr= 250, предделитель на 250 кГц и получил прерывание каждую мс.
В счётчике всегда количество мкс, если умножить на 4.
913 433948
>>433798
Потому, что таймеры в ST делал мудак. Во всяком случае руководство...
По сравнению с другими ядрами они очень упоротые. Понимаю что фарш, но пиздец же, если хочешь какой шим хитровыебаный, с выводом на ногу и циклическим отсчетом туда-сюда, можно ненароком охуеть.

А по поводу экономии, нуууу... Сейчас кто то по дедовскому еще пишет - каждому функциональному блоку по таймеру?
Все вроде уже либо на RTOS, либо на его упрощенных аналогах.
Программный таймер попросту гибче.
Если ШИМ не используешь активно, там обычно один как системный уходит и 1-2 на какую эмуляцию интерфейса программную.
Все. Хватает везде.
А обслуживать каждую кнопку по своему хардварному таймеру это попросту неудобно, не гибко и не переносимо.
914 436204
>>404684

>Ставь IAR. Он пустой почти, но не будет ебать мозги и летает.


>Писать код можешь в другой студии.


IAR платный, а космик бесплатный.
915 436332
>>298779 (OP)

>STM8


Под него нет бесплатных IDE/компиляторов.
Сosmic - лицензия всего на год, IAR -на 30 дней и ограничение в 8 кб. Поэтому не вижу преимуществ STM8 перед STM32 и АВР, для которых есть бесплатные инструменты разработки.
916 436354
>>436332

>нет бесплатных IDE/компиляторов


STVD. Ебашь на асме как диды. Бесплатно.
917 436417
>>436354
Ну вообщем еще есть IAR, бесконечная лицуха на 8 кб.
Сколько там максимальный объем флеша у стм8 контроллеров? 128 кб?
За сколько дней напишешь прошивку на асме объмом хотя бы в 50 кб?
918 436418
>>436417

>За сколько дней напишешь прошивку на асме объмом хотя бы в 50 кб?


Смотря как писать. Макросами можно как следует обложиться, сделав какую-нибудь вариацию форта, а из-за низкой эффективности такого дела памяти потребуется прилично. Это конечно бессмысленно, но тем не менее.
мимопроходил
919 436419
>>436417

>прошивку на асме объмом хотя бы в 50 кб


Это как вообще? Ты хотя бы те же 8 кб на асме родить пробовал? Я еще готов поверить в 1 кб, но озвученные объемы на асме - тебя же в дурку увезут после такого мазохизма.
мимо2
920 436443
>>436417

>объмом хотя бы в 50 кб?


Нахуя мне писать 50кБ если нужный мне функционал укладывается в 12кБ например? Целые ОС пишут на асме и не кряхтят. Колибри например.
921 436625
>>436443

>Целые ОС пишут на асме и не кряхтят. Колибри например.


Речь шла про код в одно рыло. Такие вещи пишутся не в одиночку.
922 436653
>>436419
>>436443
Речь была о том, что STM8 не нужен, так как под него нет свободных С-компиляторов без ограничений. COSMIC всего на год даёт лицензию, а IAR до 8кб.
А под все нормальные процы(стм32, авр, пик) - есть.
image.png310 Кб, 518x329
923 436660
>>436653

>свободных



Давай, рассказывай, я не буду смеятся.
924 436677
>>436653

>свободных С-компиляторов


>пик


Если ты не про пик32, который MIPS, то когда это оно появилось? Если ты про SDCC, то это ерунда, а не компилятор, тем более что оно и с STM8 как-то работает.
925 436744
>>436660
ARM GCC, AVR GCC. Про пик не знаю, но раз MPLAB бесплатная там тоже есть си-компилятор.
926 436816
>>436744
Как человек который изучал pic16 в универе как первый контроллер, сообщаю что mplab бесплатный и там только ассемблер.
Си по лицензии и кажется идёт отдельным приложением.
По крайней мере так было в 14 году.
927 436871
>>436816

>ый контроллер, сообщаю что mplab бесплатный и там только ассемблер.


>Си по лицензии и кажется идёт отдельным приложением.


>По крайней мере так было в 14 году.


За 6 лет многое могло поменятся.
928 436884
>>436871
Лол нихуя не поменялось.

Пик - уебищные МК для дедов, которые пишут 25 лет и выдают перлы вроде:
- Да я в вашем С хреново разбираюсь.
- С Медленный.
И т.п.
Которые пишут все в глобальной области видимости, write-only монолитное приложение, без каких либо попыток абстрагирования.
А когда отъезжают от стекломоя - заказчик выкидывает все нахуй, ибо другой дед уже не может в этом разобраться.

MPLAB - уебищное кривое говно с интерфейсом из молодости этих дедов. Эмуляцией скорости работы windows 95, отсутствием "РАБОТАЮЩЕЙ" подсветки синтаксиса и пачкой ебанутых багов, которые не фиксят уже под 15 лет, что бы было с чем поебаться на старости лет.

Работал только с 8 битками.
Старый компилятор (С18)- СТАРЫЙ, поддерживает лишь С89, считай не имеет статического анализатора. Но компилирует годно и компактно.
Новый компилятор (ХС8) - (ему уже больеш 10 лет вроде лол) - условно бесплатный, но оптимизация ток в платной версии.
Поддерживает С99 НО ПРОЕБАЛ ВСЮ ОБРАТНУЮ СОВМЕСТИМОСТЬ С СТАРЫМ КОМПИЛЯТОРОМ.
Имеет кучу багов, которые никто не фиксит годами. Может начать выдавать нерабочий код в одном месте, после изменения в другом не связаном.
Отказывается собирать проекты, у которых остается мало памяти (не реально задействовать больше 70-80% ОЗУ\ПЗУ).
Выдает более жирный код чем старый (С18) компилятор лол, т.к. не умеет использовать все возможности ядра, серьезно, часть инструкций не используется. Микропидоры говорят, что будет выдавать более компактный и быстрый один хуй, но по факту более жирный и медленный.
Аналог кодогенератора (КубеМХ) выдает не рабочий код, библиотеки недописаны даже на половину.

Короче никогда, никогда никогда никогда не беритесь за МК микрочипа, это те еще уебки и гандоны.
Атмель писечку поймали и издеваются над ней, прекрасную атмель студию забросили, от ГЦЦ ушли ... мрази ебучие.
929 436886
>>436884

>уебищные МК


Чувак, нет уебищных мк. Хватит делить мир на черное и белое, когда все вокруг серое. В массовом производстве играют решающую роль два критерия: дешевизна и функционал. Производительность в большинстве случаев - вообще дело десятое. И если какие-нибудь самые дешевые OTP мк от PADAUK устраивают по функционалу, то будут использовать их.
930 436890
>>436886
Да причем тут скорость? Где ты вообще это вычитал? Весь пост про удобство разработчика.
931 436891
>>436886

>функционал


При чем тут этот математический термин?

>Производительность


Ну как бы пики (и я не про те которые MIPS) по производительности не хуже атмег.
мимопроходил
932 436892
>>436890
>>436886
К слову о пик8 как именно МК - у меня охуенные впенчатления. Очень годное, понятное и приятное железо. Но софт это выкидывает нахуй.

Если бы разработку пик перенесли таки на атмель студию + ГЦЦ - я бы только на них и писал.
933 436896
>>436890
>>436892
Никого не ебет удобство разработчика. От разраба требуется единоразово родить и отладить код для конкретного железа, похуй сколько ебли тебе для этого понадобится.
934 436909
>>436896

>единоразово родить и отладить код


Привет, ты охуел?

А поддерживать кто будет?
А платить бабки, за то, что из-за кривых инструментов разработка затянулась раза в полтора?
Откуда вы вылезаете такие?
935 436914
>>436909
Рыночек порешал, братиш. Не нравится - пиздуешь на мороз и берут нового лоха для колупания нонейм китайских МК с з/п как у кассира.
936 436915
>>436909
>>436914
В реалиях запада - аутсорс за дошик, голодающие индусы всегда найдутся.
937 436920
>>436914
Зачем колупать китайские МК с з/п как у кассира, если можно колупать европейские/американские МК с з/п, как у синьор-программиста?
938 436922
>>298779 (OP)

>Итак, иар и космик слиты, SPL настроен, литература изучается и ко мне уже идёт из Поднебесной программатор.


Зачем тебе какой-то программатор из Поднебесной, если стм8 шьется тем же ст-линком за 200 рублей?

>Это тред реальных дешёвых рабочих лошадок, поэтому просьба авр-детям и арм-подросткам как минимум постараться не начинать свои срачи.


Лол, насколько я знаю, из бесплатных, неограниченых по времени Си-компиляторов для стм8 есть только иар и космик с ограничением на размер кода до 8 кб. Т.е. по сути они могут конкурировать разве что с ат-тиньками. С авр по мощнее типо атмег и иксмег сравнивать стм8 с 8 кб программ глупо, арм - вообще мхех, они в сотни и тысячи раз мощнее.
939 436924
>>384742
Хохол, ты что-ли? РФ - это сверхдержава, которая и свои микропроцессоры и ПК рни с полным циклом производит, и АЭС по всему миру строит, и атомные ледоходы и много чего еще, не путай со своей свинарнией, вот она да, страна третьего мира.
940 436926
>>436920
Что дядя скажет - то и будешь колупать. Не можешь, не согласен с чем-то - скатертью дорога. Программисты ныне - расходный материал.
941 436929
>>436926

>Программисты ныне - расходный материал.


А кто тогда "не расходный материал"? Схемотехники? Проектировщики ПЛИС?
942 436940
>>436924
А ещё самолетная держава. И всё это для того чтобы пыня мог воровать.
943 436941
>>436924
Ты же понимаешь, что это не так. Ненависть к Украине это исключительно пропаганда, до 2014 все были друзьями.
944 436942
>>436929
Кабанчики.
945 436955
>>436941
Понимаю, но бесит, когда хохлы, которые сами живут в вымирающей укруанде с отрицательным ввп называют сверхдержаву Россию "страной третьего мира".
946 436998
>>298880

>Тут не STM осваивать надо, а базовые штуки вроде тактирования и мультиплексирования. Ну и протокол дисплея — как данные принимает, как сбрасывается, какой формат.


Не надо там ничего осваивать, просто находишь в интернете библиотеку дисплея и подключаешь в свой проект.
Читать даташит и писать самому драйвер дисплея - это последнее дело, только есть у тебя какой-то дюже редкий дисплей и на него не найти либы.
image.png55 Кб, 803x323
947 437003
>>311612

>И где ты нашел современные, т.е. еще производящиеся, микроконтроллеры без хотя бы двухуровневого конвейера?

948 437005
>>436955
Даже Путин на Валдае назвал РФ стремящейся стать супер державой. О сверх и речи быть не может.
949 437075
>>298851
Какие у них характеристики? За доллар уже высокомощные всякие идут
950 437078
>>298984
Меньше транзисторов потенциально может закончится высокой суоростью выполнения как в случае с некоторыми старыми процессорами.
951 437079
>>437078
Ну и меньшим энергопотреблением
952 437080
>>436955
А чем скотоублюдия отличается от абхазии днр или другого недогосударства? Самому не смешно то?
Screenshot20201025-164255Orion Viewer.jpg251 Кб, 720x1560
953 437099
>>437075
Такие же как у 103, но флеш на 100 записей.
Когда искал себе, 003 были 25$ за 100 штук на Али, потом нашел 103 за 27$ и купил их. Так и не запаял ни одной пока.
954 437158
>>436924
К 8ми битному процику можно подключть юсб 20 или микросд? Или к 16 битному? Или уже тупо шины шире должны быть для такого а у этой ебалы в современности никакого хранилища кроме своего не будет?
Я имею в виду по серьезнее 8 битники, есть и на 40 пинов и тому подобное. О шинах нихуя не знаю, но микросд это единственный приемлимый носитель сейчас ведь? Еще и маленький.
Потребление у 8ми битника сейчас какое и с чем сравнимо? Есть энергожфыективнее что то а то подозреваю их на 64 нанометрах клепают.
955 437160
>>437158

>или микросд?


Кто тебе не дает?
956 437162
>>437158
Да и да.

Ни первое ни 2е не обязывает тебя иметь какую то пропускную способность.

SD вообще статик-клок (вроде).Оно имеет легаси режим через обычный SPI.
USB просто требует раз в определенное не очень большое время отвечать что еще живой. Остальное регулируется выбранным режимом.

Софтварный усб делали на attiny85 (вроде). Серьезные 8битки обычно имеют хардварный физ и канальный уровень.
957 437163
>>437158
>>437162
Но оно нинужно ни то ни то.
На 8б такое имеет смысл только в 2х случаях, либо ты хочешь связать свою профессию с встраиваемкой и то это сомнительная хуйня довольно, ее можно по запросу изучить.
Либо ты аки я косплеишь разработчика и серийные устройства.
sage 958 437167
>>436924
Иди на хуй с хохлами пидар .
Я знаю , что в России многие микросхемы с длинным сроком поставки их возят с европейских складов .
Говорит это о низком объёме и разнообразии производства.
sage 959 437169
>>436924
Иди на хуй с хохлами пидар.
960 437192
О, раз такой тред, то задам вопрос.
Посоны, хочу вкусить всю прелесть асм 8051 и ИНДУСТРИАЛЬНО-ПРОМЫШЛЕННОЙ разработки девайсов. Какой МК взять для этих целей?
961 437195
>>437192
пердуинку
962 437200
>>437163
Я хочу устройство получить, которое отзывчивое а не крутит андроид или какую то ебалу в фоне например. Если 8 бит для всего достаточно то почему нет.
Однако на дисплей уже особо ним ничего не выведешь.
963 437201
>>436924
Иди нахуй пидар
964 437222
>>437201
Нет.
965 437266
>>436884

>Пик - уебищные МК для дедов


Ну хуй знает, некоторые свои поделия даже в серию иногда уходят делаю именно на пиках. Очень устойчивый контроллер в плане ЭМС, если правильно питание развести. Пишу в коммерческой иде не скажу какой, но лицуха досталась бесплатно на Си, никакого батхёрта.
966 437267
>>436998

>писать самому драйвер дисплея - это последнее дело


Ну хуй знает, мне, например, проще свой с нуля сделать, если не на раз, зато потом ты можешь его допиливать, как хочешь. Вопрос времени, вот в чём дело...
967 437269
>>437200

>Однако на дисплей уже особо ним ничего не выведешь.


HMI в помощь, типа Nextion. Знаю, что лютый костыль, но иногда очень помогает.
968 437270
>>301183
RTOS возможен для любого микропроцессора, у которого есть хотя бы один вектор прерывания.
969 437297
>>437099

>Когда искал себе, 003 были 25$ за 100 штук на Али, потом нашел 103 за 27$ и купил их


Разница в цене между 003 и 103 ~2 раза. Ты купил перемаркер и радуешься. Я на западном форуме читал, что 003 - это отбраковка, чипы с дефектами в области прог флеша, типа повышенный ток утечки у ячеек и потому гораздо меньшая надежность, повышенные шансы отказа из-за повреждения данных. Назначение 003 - неответственный одноразовый ширпотреб уровня говорящих хомяков.
970 437306
>>437269
Типа экран с ещё одним готовым контролёром в качестве GPU?

Просто чтобы поддержать диалог расскажу.
Недавно выбирал между 1,2 vs 3,4. Судя по их видео, скорость чтения изображения с флешки не очень, а если просто рисовать линии то вроде нормально.
Я решил что лучше поставить контроллер побыстрее, может картинку удастся хотя бы за секунду вывести.
971 437310
>>437297
ахаха, гаварящий хамяков, ахаах
маааам купи мне гаварящева хамяка))))
972 437376
>>437306
Нет, я немного про другое.
https://nextion.tech/
Есть у них недорогие модельки.
973 437377
>>437195
Ты ржош, братан, да? Я так-то не очень пердуинщиков люблю...
974 437384
>>437192
Пацаны, бамп вопросом.
975 437386
>>437384
Потренироваться в программировании на ассемблере ты можешь и в симуляторе.
А если брать, то можно CY7C68013A, хотя бы логический анализатор можно будет сделать.
976 437390
>>437192
>>437386
Нужно сначала хотя бы Орион128 собрать а там уже дальше вкатываться в микроконтроллеры, ардуино и прочее
977 437433
>>437390
Как собрать орион128? С чего, так сказать, начать?
978 437435
>>437390

>хотя бы Орион128 собрать


Больной ублюдок. Нахуя? Почему просто не вкатится сразу в микроконтроллеры? Может еще "ЮТ-88" предложишь собрать?
979 437450
>>437435
Надо понимать архитектуры
980 437454
>>437390
Я думаю все такие советчики сами начинали под строгим контролем по преподавателя или с пошаговым руководством, или на форуме типа радиокот а то время, когда это все бурно развивалось и любой мог сразу получить ответы на любые вопросы.

Иначе такого ЧСВ по отношению к новичкам бы не было.

Разумеется, начинали с ардуинке или AVR.
981 437457
>>437450
Что там такого можно понять? Собираешь все вместе и оно работает. Даже если вдруг не заработает, то все равно внутрь ВМ80А с паяльником не залезешь, а внешне это почти тот же микроконтроллер, только проще. Ну будет память и контроллеры прерываний и ПДП снаружи, но это мелочи.
Если бы ты предлагал написать весь код процессора под FPGA самостоятельно, то твой аргумент еще можно было понять. Или самостоятельно разработать схему на 155-ой серии, если извращенец.
982 437462
>>437454
почему ардуинке? Думаю многие с пик16 и 8051 начинали.
А вотначать со сборки Орион128 вполне не плохой способ вкатиться.
983 437463
>>437462
В современном мире лучше Бен Итера посмотреть вместо этого.
https://youtu.be/LnzuMJLZRdU
984 437497
>>437386
Спасибо! Добра! :3
985 437498
>>437390
Да как бы тебе сказать...
В принципе, опыт и с МК, и просто с электроникой у меня есть. Просто никогда не сталкивался с 8051. А интересно ж, пиздец.
986 437530
>>437498

>интересно ж, пиздец.


А зачем именно 8051? Изучай сразу 8080, например, раз в старину тянет. Купи суровую советскую учебную "ардуину" из 80х и играйся.
https://www.youtube.com/watch?v=BDgbdrYG_hg
https://red-innovations.su/index/photos_c/kr580.html
987 437566
>>437530

>А зачем


Может потому что 8051 микроконтроллер в отличие от
988 437599
>>437566
Вот.
989 444870
>>299940
Это что за дрыгатели и генераторы, рядом с которыми "монитор обычного стационарного ПК мерцает полосами, а подключенный к нему системник постоянно зависает и перезагружается? И любой УКВ приемник ловит лишь бррр-бррр-бррр-пшшш на любой частоте"? Как эту залупу вообще могли выпустить на рынок? Ты точно не путаешь двигатель и установку для испытаний на стойкость к спец. воздействиям? Потоками заряженных частиц в соседнем помещении на эти же процессоры не светят?
Тепловозы-электровозы вполне себе катаются, двигаемые моторчиками на те самые дохуя кВт, с реостатным и цифровым управлением, в тепловозах с электропередачей и генератор соответствующей мощности имеется, а в кабинах стоят КВ и УКВ радивы и чувствуют себя отлично.
990 444877
>>444870

> Как эту залупу вообще могли выпустить на рынок?


Сертифицировали залупу для работы в пром. зонах, где как бы подразумевается использование помехоустойчивого оборудования.
991 444883
>>444877
При таких уровнях излучений, она должна стоять в экранированном помещении, а персонал к ней можно подпускать только в экранирующих костюмах и то ненадолго, какие тогда там могут быть бытовые пеки с полосящими мониторами и зависающими системниками?
992 444887
>>444883

>какие тогда там могут быть бытовые пеки с полосящими мониторами и зависающими


Такие, будто не в РФ живешь. На что денег хватило, то и поставили, а потом бегают с горящей жопой.
993 444890
>>444883

> При таких уровнях излучений


И, кстати, для выключения монитора надо не так уж и много. На испытаниях наблюдал таковое при напряженности поля всего-лишь 10 В/м.
994 444891
>>444887
Тут жеппа должна гореть еще и от всяких проверяющих, а радиочастники в нее еще и дров напихают за такие-то помехи!

>>444890
Именно В/м? Какая частота? Теслоебы и прочие марксо-строители с на порядки большими полями играются и вроде норм.
995 444894
>>444891

> Именно В/м? Какая частота?


Да, В/м. Точно не помню, но что-то в диапазоне 750-800 МГц было. Моник был какой-то топовый по тем временам жк NEC (~13-15лет назад), стоящий в консоли.
996 445086
>>299937

>случай c stm32f3, когда от импульсника рядом наводилось на свдио команда ресета


Просто ресет не должен висеть в воздухе, надо подтягивать его конденсатором и резистором.
997 445731
>>437200
Отзывчивость заключается твоем умении писать код и прорабатывать архитектуру.
Если тебе ее требуется компенсировать хардкоженьем всего и вся в 8битах - это говно не меньшее чем поделия из КОУЗИ МИТИНГА.

Смысл в том, что даже для серийного устройства зачастую легче взять подороже камень, но более фаршированный.
Тайм ту маркет пиздец важнее, пары процентов стоимости, если у тебя не миллионы устройств.
А для домашних поделий он в 1000 раз важнее блядь. Толку от твоего велосипеда, который никогда не поедет?

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

К тому же, если ты не пытаешься писать что то очень нагруженного, всяких драйверов TFT и Ethernet, то тебе вообще поебать на производительность, оно и там и там должно легко запуститься.
Но при 32 битах ты учишь сложный современный МК, а в 8 старое простецкое говно.
Это не сложнее, но бесполезнее.

Короче 10, 20 раз подумай. Лучше 100. Пока ерохи будут запускать коптеры на ардуино и получать опыт в архитектуре приложения, ты имеешь шансы ебать и оптимизировать байты в драйвере, чей цикл занимает 0.1% процессорного времени.

>>437266
Я хуево выразился. Сами МК - охуенные, простые, годные, понятные, с охуенной документацией.
Компиблядор уебищный, саппорт уебищный, IDE родная уебищная, мертвая инфраструктура которая только еще более тухнет со временем.

>>437306
Это скорее как законченное устройство, которое работает как дисплей и пользовательский ввод.
Но некстион он просто конченное устройство, но вариантов за вменяемую цену нет.
Если попробуешь, сможешь насладиться охуенными проприетарными форматами, IDE не умеющей в поиск по тексту, прекрасному скриптовому языку, тонной багов и китайским говном.

>>437450
Нет не надо. Надо понимать архитектуру приложения. Каждый эмбедед дебил понимает архитектуру железки, но пишет райтонли говно, которое сам перестает понимать через неделю.
Писать на встраиваемках с высоким уровнем абстракции, но не проебывая в отклике вот что действительно сложно.
997 445731
>>437200
Отзывчивость заключается твоем умении писать код и прорабатывать архитектуру.
Если тебе ее требуется компенсировать хардкоженьем всего и вся в 8битах - это говно не меньшее чем поделия из КОУЗИ МИТИНГА.

Смысл в том, что даже для серийного устройства зачастую легче взять подороже камень, но более фаршированный.
Тайм ту маркет пиздец важнее, пары процентов стоимости, если у тебя не миллионы устройств.
А для домашних поделий он в 1000 раз важнее блядь. Толку от твоего велосипеда, который никогда не поедет?

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

К тому же, если ты не пытаешься писать что то очень нагруженного, всяких драйверов TFT и Ethernet, то тебе вообще поебать на производительность, оно и там и там должно легко запуститься.
Но при 32 битах ты учишь сложный современный МК, а в 8 старое простецкое говно.
Это не сложнее, но бесполезнее.

Короче 10, 20 раз подумай. Лучше 100. Пока ерохи будут запускать коптеры на ардуино и получать опыт в архитектуре приложения, ты имеешь шансы ебать и оптимизировать байты в драйвере, чей цикл занимает 0.1% процессорного времени.

>>437266
Я хуево выразился. Сами МК - охуенные, простые, годные, понятные, с охуенной документацией.
Компиблядор уебищный, саппорт уебищный, IDE родная уебищная, мертвая инфраструктура которая только еще более тухнет со временем.

>>437306
Это скорее как законченное устройство, которое работает как дисплей и пользовательский ввод.
Но некстион он просто конченное устройство, но вариантов за вменяемую цену нет.
Если попробуешь, сможешь насладиться охуенными проприетарными форматами, IDE не умеющей в поиск по тексту, прекрасному скриптовому языку, тонной багов и китайским говном.

>>437450
Нет не надо. Надо понимать архитектуру приложения. Каждый эмбедед дебил понимает архитектуру железки, но пишет райтонли говно, которое сам перестает понимать через неделю.
Писать на встраиваемках с высоким уровнем абстракции, но не проебывая в отклике вот что действительно сложно.
998 445751
>>445731

>Но при 32 битах ты учишь сложный современный МК, а в 8 старое простецкое говно.


Если, как ты говоришь, 8-битные мк такое говно, почему тогда многие производители до сих пор их выпускают(и не планируют прекращать выпуск в обозримом будущем) 8-битных мк разных семейств и архитектур и они используются в новых разработках?

>Пока ерохи будут запускать коптеры на ардуино


Ардуионо-платы построены на 8-битках, вообще-то.
999 445769
>>445751
Потому, что дохуя девайсов имеют многотысячные тиражи и это влияет.
Потому, что по соотношению цена\потребление им еще нет равных.
Потому, что под 8б у разработчиков устройств частенько есть многолетние наработки и они просто копипастят модульную хуйню.

Я выше писал, если тебе не поприколу косплеить промышленного разработчика - то смысла этим заниматься на дому нет.
Из 32б легко перекатиться в 8б при нужде, а вот наоборот не очень, т.к. в первом случае ты просто не используешь часть знаний, а во втором необходимо их приобретать.
Тот же СТМ8 охуительно похож на обрезанный СТМ32.

>Ардуионо-платы построены на 8-битках, вообще-то.


Ардуино - кроссплатформенный фреймворк, который таки начался и имеет наибольшую популярность на АВР, да, так сложилось.
Но там выбрали 8б по другим причинам, в частности потому, что AVR в те года был самым популярной DIY архитектурой.
1000 445775
>>445731

> Сами МК - охуенные, простые, годные, понятные, с охуенной документацией.


Вот только у PIC архитектура уёбищная, ограниченная, с банками этими.
У MSP430 лучше архитектура и набор команд, он как PDP-11.
1001 445777
>>445775
Ну банки это наследие олдскула, ничто не мешает C51 иметь банки, являясь при этом самым массовым эмбеддед ядром до сих пор.
1002 445793
>>445769

>Из 32б легко перекатиться в 8б при нужде, а вот наоборот не очень, т.к. в первом случае ты просто не используешь часть знаний, а во втором необходимо их приобретать.


В твоем предложении кроется утверждение, что 32-битные микроконтроллеры включают в себя 8-битные, но оно не верно.
8-битные микроконтроллеры включают в себя множество архитектур, которые очень отличаются от 32-битных микроконтроллеров, и для их понимания и работы с ними требуется ничуть не меньше знаний и усилий, чем для работы с 32-битными.
Более того, 32-битные микроконтроллеры тоже есть разных архитектур: ARM, AVR32, PIC32, и работая с одним 32-битным мк понадобится некоторое время, чтобы перейти на работу с 32-битным мк другой архитектуры.
1003 445795
>>445793
Ты сейчас начинаешь душнить, мол а вот там регистры по другому называются, а там уарт по другому включается. Да похеру же.
Это частности в которых начинаешь разбираешься на ходу в определенный момент.

Под переходом 8\32 или 32\8 я имею ввиду скорее некую среднюю сложность периферии и самого ядра.

Кину претензию в ответ, у тебя неверное предположение, что смена архитектуры это какое-то серьезное обучение и объем знаний.
Да... возможно для ТРУ МАСТЕР потребуются годы, что бы все заковырки найти. Но что бы просто начать писать что то прикладное - единицы дней.
1004 445796
>>445793
на си или питоне писать и ничего знать не надо больше о 32
1005 445797
>>445795
Джва чая. У меня переход был именно в том сложен, что я как правильно всю переферию включить на STM32 не знал как, а потом просто свои старые Сишные библиотеки подключал и радовался.
1006 445800
>>445796
Да, когда пишешь на языке высокого уровня то всю работу с архитектурой они берут на себя, потому что они кросплатформенные. Это на ассемблере самому нужно работать с архитектурой и набором команд.
Но даже если пишешь на языке высокого уровня все равно нужно понимать, как устроена и работает архитектура мк, пусть и не настоклько глубоко, как при программировании на ассемблере.
1007 445804
>>445775

>У MSP430


Как с доставаемостью камней? Что со средой разработки?
Валяется несколько LaunchPad-ов с времён, когда их по $4,99 продавали...
image.png408 Кб, 559x644
1008 445827
>>445731

>умении писать код и прорабатывать архитектуру.


>опыт в архитектуре приложения


>Каждый эмбедед дебил понимает архитектуру железки, но пишет райтонли говно, которое сам перестает понимать через неделю.


>Писать на встраиваемках с высоким уровнем абстракции, но не проебывая в отклике вот что действительно сложно.


Как научиться писать архитектуру ПО с высоким уровнем абстракции? Пикрил книжка подойдет?

мимо эмбеддер, пишу говно, которое перестаю понимать через неделю
1009 445834
>>445827
Хуй знает, я сам не умею, спрашивал много где, в ответ - гробовая тишина.
1010 445842
>>445827
эта книжка для детей, но для ембеддед их нет, возьми для начала чистый код чтоли
Без работы в команде сложно понять, что люди способны не понимать очевидные для тебя алгоритмы и подходы, только объясняя им конкретные куски кода, понимаешь, что надо комментировать и как разбивать на методы. Самому я хзз как этому научиться
А вообще, привинти кодестайл к своему редактору, это улучшит ситацию
1011 445855
>>445731
Ебать ты!

>что то очень нагруженного, всяких драйверов TFT и Ethernet


Ебать! Драйвер TFT работает так: запуск, функции рисования. Драйвер Ethernet работает так: запуск, функции приёма/передачи, оболочка под обработку входящих/исходящих. Там из сложного только функцианал с регистрами и сбои самих чипов сетевых.

>Пока ерохи будут запускать коптеры на ардуино


ЭТО 8 БИТ! Там уже давно ardupilot работает и только настройки требует, но тем не менее Misson Planner работает через задницу! Алё!

> но пишет райтонли говно, которое сам перестает понимать через неделю.


Комментарии оставлять надо! Алё, ёпта!
1012 445858
>>445827
Берешь и пишешь. Каждую новую фичу в функцию. Все функции привязываешь к своему объекту, объекты плодишь через наследие и пользуешь их через их имена. В результате получаешь не, допустим, ILI9341_DrawFillRect(sX, eX, sY, eY, Color) + ILI9341_PutString("Button1", X, Y, Color, Scale) + TSC2068_ReadCoords(), а Button.Draw(X, Y, "Button1") + ButtonPressed = Buttons.Read();
1013 445860
>>445855
Ну охуенный парень залетел.

>thernet работает так: запуск, функции приёма/передачи, оболочка под обработку входящих/исходящих


Дану? Че напишешь TCP\IP стек и драйвер MAC\PHY периферии под него?
Мне пришлось как то ошибочку искать в вендорских, там даже захардкоженный и только IP стэк это конечный автомат на 5 тысяч строк.

Пиздец, функцию приема\передачи напиши....

>ЭТО 8 БИТ! Там уже давно ardupilot работает и только настройки требует, но тем не менее Misson Planner работает через задницу! Алё!


И что? Разговор был о том, что он хочет ебать байты, а есть готовые либы кроссплатформенные.
Или ты тут сравниваешь запуск ArduinoSdelatZaebis с написанием собственных дров?

>Комментарии оставлять надо! Алё, ёпта!


Кек. А ты ничего больше 10к строк не писал?
1014 445871
>>445860

>Че напишешь TCP\IP стек и драйвер MAC\PHY периферии под него?


Ты чипы с встроенным стэком не использовал? W5000? W5500?

>есть готовые либы кроссплатформенные


Которые говно и тайм-ту-маркет хоть и ускоряют, но потом требуют доработок. Сталкивался.

>Кек. А ты ничего больше 10к строк не писал?


Писал. И писал так, чтобы даже без комментариев было понятно что и куда. Каждый субмодуль в свой файл, каждую библиотеку по своим .h
1015 445875
>>445871

>Которые говно и тайм-ту-маркет хоть и ускоряют, но потом требуют доработок. Сталкивался.


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

>И писал так, чтобы даже без комментариев было понятно что и куда.


This. Обилие комментариев слабо влияет на читаемость и поддерживаемость кода, а в долгостройных проектах или на поддержке еще и вредит.
1016 445876
>>445871

>Ты чипы с встроенным стэком не использовал? W5000? W5500?


Блин ну можно так то и малину с линуксом поставить, там вообще - поставил ngnix - вот и вебморда.

Ты как то тут сманеврировал не туда, разговор был про еблю байтиков в 8б мк, а ты приплел чипы с встроенными стеками.
Смысл тебе оптимизировать и ебать 8б было, если в устройство добавляется хуйня, которая сжирает весь выигранный запас стоимости и еще сверху накидывает.
1017 445880
>>445876

>Смысл тебе оптимизировать и ебать 8б было, если в устройство добавляется хуйня, которая сжирает весь выигранный запас стоимости и еще сверху накидывает.


Ты не туда воюешь! Я тебе писал про то, что нахуй кроссплатформенные библиотеки, которые говно.

>стоимости сверху накидывает


Стоимость человека-часа для написания стека выше, чем стоимость готового модуля W5500 в 2$ в розницу.
Аноним 1018 446806
>>298779 (OP)
ъх... было бы можно прошивать его без стлинка... а так, зачем, если есть аврки(но не всегда они лучше, но не всегда стм8 сильно дешевле намного более лучшего стм32)
1019 446809
>>446806

>было бы можно прошивать его без стлинка


Это не совсем так, во многих есть встроенный бутлоадер.
Только у тебя шиза. ST-Link стоит копейки, заодно получишь отладку. Однако что ты такое делаешь, что для тебя критична цена микроконтроллера? Весьма вероятно что даже батарейка и корпус для устройства с микроконтроллером будут стоить в несколько раз дороже микроконтроллера, а ведь там еще какие-то детали будут. Если ты не делаешь серии на много тысяч штук, то разница в стоимости совершенно несущественная.
1020 446811
>>446806
СТЛинк сука стоит 500рублей, на алике 200.
Ебучий PicKit4 - от 5 ТЫСЯЧ блядь.

Но нет, зачем мне платить 200 рублей за ебучий жтаг, я с бутлодером лучше поебусь, мне времени не жалко, в консолечку себе байтики попердолю... ухх весело!
1021 446837
>>446806
прошивку на стлинк давно уже расшифровали и слили, собери сам
1022 451828
>>437163

>ты хочешь связать свою профессию с встраиваемкой


Хуяиваемкой, маня.
Кто тебе сказал, что в 2к21 кто-то использует 8-битники? 8-битники сейчас это или легаси говно(вроде avr и 8051), или чипы, которые встраивают в говорящих сабак и дилдаки(вроде того же stm8).
В новых более менее серьезных разработках(которые сложнее говорящих собак и дилдаков) используются сейчас онли ARM(а подчас и x86), в 2к21 эмбед и arm это уже слова синонимы.
А если ты хочешь прогать 8-битники на ассемблере и си, то тебе надо вернуться на 20-30 лет назад.
1023 451831
>>446811

>от 5 ТЫСЯЧ блядь.


Ты щас так говоришь, как будто ты работаешь за 30к и 5 тысяч для тебя это огромные ДЕНЬЖИЩИ.
1024 451853
>>451828

>8-битники сейчас это или легаси говно(вроде avr и 8051), или чипы, которые встраивают в говорящих сабак и дилдаки(вроде того же stm8).


Ардуино-боги орошают тебя золотой мочей, а ты и не против!!
1025 451962
>>445827

>Как научиться писать архитектуру ПО с высоким уровнем абстракции?


Самый быстрый - написать самому проект 100к строк на джаве. Джава для таких навыков очень полезна, потому что там обычно архитектурная астронавтика, на уровень выше, чем надо. Сначала пишешь на джаве фабрики абстрактных фабрик и энтерпрайз левел физзбаз ( https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition ), а потом выкидываешь 99% всего этого из головы, и опускаешься обратно до своего уровня с пониманием где какие абстракции нужны.
1026 451983
>>451962
ИМХО немного разное все же. На тех языках ты в любом случае должен и обязан абстрагироваться. Просто потому, что за императивный код или даже костыль тебя выебут.

В встраиваемках в абстракциях лишь 1 смысл - читаемость. И есть доебени моментов, где надо понимать, что вот тут лучше ебануть императивщину и это будет гораздо лучше и быстрее чем насрать даже зиро-кост классами.
1027 451986
>>451983

>В встраиваемках в абстракциях лишь 1 смысл - читаемость.


Чтобы это понять, тебе надо написать миллион классов на джаве. Просто потому, что тогда у тебя любая функция больше 100 строк длиной будет вызывать зуд и желание отрефакторить, а идентификторы вроде ikntp41 - желание уебать в лицо автору.
1028 451988
>>451986
>>451983
>>451962
Что вы под "высоким уровнем абстракции" понимаете? ООП? Чистая императивщина - это асм. Тот же си во встраиваемках - в большей степени процедурный подход, чем императивщина.

>Чтобы это понять


Ява не нужна. И далеко ходить не нужно - достаточно изучить исходный код ардуино-библиотек.
1029 452069
>>451986
Хз, я от обратного пришел. Когда долго соло пишешь на пурси большие вещи (20-30к строк) и уже в процессе начинаешь охуевать это поддерживать, очень хорошо понимаешь как оно нужно.
И декомпозиция и абстрагирование и SOLID и KISSы(хотя нет) и все все все это.

В итоге в более высокие языки - врываешь с ноги, зная чего от них хочешь, а не наоборот - пытаясь примостить то, что дают.

>>451988
Арудино библиотеки это как раз обратная сторона.
Я понял такую вещь - универсализация зло, легче насрать кастомными классами, требующимися в конкретном проекте, но предельно малыми и узкими, чем ебенить универсальное переносимое говно.
Оно в любом случае не будет универсальным и переносимым без вьеба огромного кол-ва времени.
Тред утонул или удален.
Это копия, сохраненная 30 июля 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /ra/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски