米思齐二次开发程序解释

 <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;
};

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值