<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 調用方法: `setWatch(function,pin,options)` ## 參數 `function`\- 要執行的函數或字符串 `pin`\- 要監聽的引腳 `options`\- 如果是布爾值或整數,它決定是調用一次 (false = 默認值)還是每次發生變化時都調用(true)。可以是形式為`{repeat:true/false(default),edge:'rising'/'falling'/'both'(default),debounce:10}`的對象 - 更多信息見下文。 ## 返回 可傳遞給 clearWatch 的 ID ## 描述 當引腳發生變化時調用指定的函數。使用 setWatch 設置的監控可以使用 clearWatch 來移除。 ~~~ { // 是重復觸發回調(true),還是在第一次回調后移除監聽(false)。 repeat: true, // (默認值: false), // 在信號的上升沿或下降沿觸發。可以是一個字符串,或者 1 表示“上升沿falling”,-1 表示“下降沿falling”,0 表示“兩者都有both”。 edge:'rising', //(default for built-in buttons)/'falling'/'both'(default for pins), // 使用軟件去抖來防止在開關抖動時產生多次調用。 // 這是以毫秒為單位等待抖動平息的時間,或者為 0 表示禁用。 debounce:10, // (默認值是 0,內置按鈕的默認值是 25。), // 高級:如果所提供的函數是一個“原生”函數(已編譯或匯編的)。 // 設置 irq:true 將在中斷本身中調用該函數。 irq : false, // (默認值 false) // 高級:如果指定了,那么每當調用監控時,都會讀取給定的引腳。 // 并且該狀態將作為`data`字段包含在回調中。 data : pin, // 高級:在北歐設備上,監控可以是“高”或“低”精度。 // 默認情況下使用低精度(這對功耗更好), // 但這意味著高速脈沖(小于 25 微秒)可能無法可靠接收。 // 設置 hispeed=true 允許檢測高速脈沖,但以更高的空閑功耗為代價。 hispeed : true } ~~~ 函數回調會帶有一個參數被調用,該參數是一個類型為 `{state:bool, time:float, lastTime:float} `的對象。 * `state`引腳當前是 `1` 還是 `0` * `time`引腳改變狀態的時間(以秒為單位) * `lastTime` 是引腳最后改變狀態的秒數。當使用 edge:'rising'(上升沿)或 edge:'falling'(下降沿)時,這與函數最后一次被調用的時間不一樣。 * `data` 如果在選項中指定了 data:pin 則會包含該值,并且可以用于讀取時鐘數據。 例如,如果您想要測量一個正脈沖的長度,您可以使用: ~~~ setWatch(function(e) { console.log(e.time - e.lastTime); }, BTN, { repeat:true, edge:'falling' }); ~~~ 這將僅在脈沖的下降沿被調用,但將能夠測量脈沖的寬度,因為 e.lastTime 是上升沿的時間。 在內部,一個中斷會將引腳狀態改變的時間以確切發生的時間寫入一個隊列,而提供給 setWatch 的函數僅從主消息循環中執行。然而,如果回調是一個原生函數 void (bool state),那么你可以在選項中添加 irq:true,這將導致該函數在中斷內被調用。這樣做時,中斷會在兩個邊緣發生,并且不會有去抖。 **注意:** 如果你之前沒有調用 pinMode,那么這個函數會將引腳的狀態重置為`input`。 **注意:** STM32 芯片(用于 Espruino 板和 Pico)不能監控兩個具有相同編號的引腳——例如 A0 和 B0。 **注意:** 在 nRF52 芯片上(用于 Puck.js、Pixl.js、MDBT42Q),setWatch 會禁用該引腳上的 GPIO 輸出。為了能夠再次向該引腳寫入,你需要使用 clearWatch 禁用監控。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看