Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Есть, delay и delayMicroseconds. Но тут нужна задержка именно по тактам (константы SPI_CLOCK_DIVx взяты из SPI.h). Скажем, для частоты Fosc/2 длина каждой 0 и 1 должна быть одном такту, т.е. 1 команда nop.
Поскольку SPI синхронный, точная частота и не требуется. Лишь бы была достаточно быстрой, чтобы успеть передать данные и достаточно медленной, чтобы провода не мешали.
.
for (uint8_t i = 0; i < del; i++) {
asm volatile("nop");
}
И как ты проверишь, наанроллит тебе компилятор этот nop, или сделает цикл с счетчиком, в котором дергается nop? Задержка при этом может радикально различаться.
Кстати, в гоблинах первых сначала спрашивали, какой у вас камень (286, 386, 486) и потом подстраивали скорость. Видимо не было cpuid в 286, а вот странно, что частоту не спросили
а была же история как чувак какой-то девайс для эротических игр на себя надел, а хакер его сломал, и девайс больше не снимался, и требовал 10K баксов чтобы выслать ключ
В одноразовой сигарете там вообще нагревательный элемент подключен к батарейке последовательно через какой-то датчик, который как-то определяет затяжку. Затянулся - сопротивление упало - пошёл нагрев. Сильнее затянулся - сильнее упало - сильнее нагрев.
The prototype medic power armor has the ability to administer Med-X, which it will do if the wearer's health drops below 33% or if a limb's health drops below 25%. Med-X will be dispensed every 2.5 (in-game) hours.
Кстати, чуваку с хабра, который пилит свой хакерский тамагочи, надо подсказать идею оформить его в виде сигареты. Затягиваешься и шлагбаум открывается.
И даже такое тоже было, но я не помню что за платформа там. Возможно как раз твой м0.
Данная программа было разработана специально для электронных сигарет с функцией Bluetooth. Это сделает вашу электронную сигарету более человечной и интеллектуальной.
Кстати, таймер может срабатывать допустим раз в секунду и менять атомарно какую-то глобальную переменную, которую могут читать особые функции для получения "времени". Но иногда еще есть в контроллере встроенный счетчик тактов, и "время" можно от него получать.
Для RTC отдельный чип должен быть. Если время считать процом, то результат мягко говоря нестабильный. Опять же, в мире электропапиросов был кейс с часиками для украшения паршивки.
> основное планируется отрубать
Подразумевается, что элементы меняют постоянно. Надо бы провести эксперимент с часами, никаких литиевых таблеток я внутри не видел.
Тут ирония в том, что используются константы из <SPI.h>. Что порождает невысказанное предположение, что задержка в N тактов процессора между импульсами осуществляется повторением команды "nop" (исполняющейся 1 такт) в цикле for с N итерациями, в том числе при малых значениях N (2, 4...)
У меня в микроконтроллерах (такого класса) нет хитроумного исполнения.
Там все команды задокументированы по времени исполнения, так что можно высчитать задержку с точностью до такта.
Да объелся груш.
Сгорел, что ли, но MISO на одной плате не работает. Пришлось кидать перемычку на другой пин и искать софтовую либу.
Может, проще свою было написать.
Как uart, только синхронный с тактированием по отдельному проводу.
Поскольку SPI синхронный, точная частота и не требуется. Лишь бы была достаточно быстрой, чтобы успеть передать данные и достаточно медленной, чтобы провода не мешали.
И как ты проверишь, наанроллит тебе компилятор этот nop, или сделает цикл с счетчиком, в котором дергается nop? Задержка при этом может радикально различаться.
Не заанроллит, тут и к листингам не ходи.
Собственно, именно поэтому...
j123, ты как там?
Т.е. всё-таки cortex m0? Или у них какая-то своя рахитектура?
https://www.nuvoton.com/products/microcontrollers/arm-cortex-m4-mcus/m451-base-series/
Затянулся неудачно, и получил undefined дозу никотина
купите мой скрипт для курения за $ 1.99
Там наверняка есть какие-то контроллеры
Хотя я не курю, может они кроме испарения ёще что-нибудь должны уметь.
ну про программирование джойстиков мы уже тут ржали
так вот: давайте придумаем игру чтобы контролировалась затяжкой
симулятор наркомана?
Кстати, замени героин на морфиновые обезболивающие и получится вполне годная штука.
Warning! Vital signs critical. Morphine administered.
Или как там было?
Какой Fallout )))
Они же о халве говорили.
А температура там меряется через обсчет температурного коэффициента сопротивления. Вот твой матан, bormand.
А интеграция с какой-нибудь прогой для ЗОЖ на мобиле есть?
На этой неделе вы курили на час меньше, чем на прошлой.
Данная программа было разработана специально для электронных сигарет с функцией Bluetooth. Это сделает вашу электронную сигарету более человечной и интеллектуальной.
¯\_(ツ)_/¯
https://github.com/ReservedField/evic-sdk
https://github.com/ClockSelect/myevic
Вообще, грамотнее было б делать так:
Можно
> или процессор один хер принадлежит вам, и всем похуй?
Ну это если никакой ОС нет. А если есть, она под планировщик может какие-то таймеры себе захавать. В общем, там по-всякому может быть
Во многих вообще RTC'шку можно поднять при желании.
Подразумевается, что элементы меняют постоянно. Надо бы провести эксперимент с часами, никаких литиевых таблеток я внутри не видел.
Там все команды задокументированы по времени исполнения, так что можно высчитать задержку с точностью до такта.
задокументированны Фогом
Норм
Не понимаю вообще о чём речь.