Думая за пределами IDE, чтобы сделать быстросчетющую Arduino
[UDO KLEIN] взял на себя сложность подсчета как можно быстрее, насколько это возможно, используя Arduino Board. Квест подразумевает поиск коротких сокращений, которые позволят ему водить 20-битный счетчик как можно скорее, насколько это возможно, используя акционерное оборудование. Однако улов состоит в том, что атмосфера Arduino имеет несколько накладных расходов на заднем плане, который будет замедляться. Он смотрит в каждую из этих дорожных ударов, затем показывает один способ обойти их.
Код использует команду, мы обычно не видим в современном встроенном программировании C; Заявление Goto. Он использует это, чтобы обойти дополнительные циклы, используемые функцией Arduino встроенной функцией (). Единственная команда, которая работает в его взломанном цикле, является глубоко вложенным набором макросов. Они переключают выходные штифты, используя аппаратный XOR, встроенный в чип AVR. Это непосредственно устраняет реестры, а также, таким образом, сбрасывает замедление, добавленные функцией DigitalWrite ().
Результатом является счетчик программного обеспечения, который переключает выходные фонари (см. Клип после перерыва) примерно на 98,9% часовой скорости оборудования. Довольно впечатляющий, однако [UDO] фигуры, которые он может сделать его чуть быстрее.