<block type="out_LED_write">
<value name="PIN"> 其中的一个数值输入框名称
<shadow type="pins_digitalWrite"> 增加阴影效果。使用引脚输入框
</shadow>
</value>
<value name="STAT"> 其中的一个数值输入框名称。
<shadow type="inout_highlow">增加阴影效果。使用高低电平框
</shadow>
</value>
</block>
Blockly.Blocks.out_LED_write = {
init: function() {
this.setColour(Blockly.Blocks.base.HUE);
this.appendValueInput("PIN", Number) 数值输入框1
.appendField(Blockly.DEEPRED_LED_OUT)
.setCheck(Number);
this.appendValueInput("STAT") 数值输入框2
.appendField(Blockly.MIXLY_STAT)
.setCheck([Number,Boolean]);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setInputsInline(true);
this.setTooltip(Blockly.LANG_INOUT_DIGITAL_WRITE_TOOLTIP);
this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/02.Input-Output.html#id2");
}
};
Blockly.Arduino.out_LED_write = function () {
var dropdown_pin = Blockly.Arduino.valueToCode(this, 'PIN', Blockly.Arduino.ORDER_ATOMIC);
var dropdown_stat = Blockly.Arduino.valueToCode(this, 'STAT', Blockly.Arduino.ORDER_ATOMIC);
var code="";
var board_type = JSFuncs.getPlatform();
if (window.isNaN(dropdown_pin) && board_type.match(RegExp(/STM32/)) == null) {
code = code + 'pinMode(' + dropdown_pin + ', OUTPUT);\n';
} else {
if (Blockly.Arduino.setups_['setup_input_' + dropdown_pin])
delete Blockly.Arduino.setups_['setup_input_' + dropdown_pin];
Blockly.Arduino.setups_['setup_output_' + dropdown_pin] = 'pinMode(' + dropdown_pin + ', OUTPUT);';
}
code += 'digitalWrite(' + dropdown_pin + ',' + dropdown_stat + ');\n'
return code;
};
米思齐二次开发程序解释
最新推荐文章于 2024-05-20 21:21:56 发布