# 執行FlipCode的兩種方式

在Arduino的原始介面中，程式主要分成兩個區塊：setup()、loop()。&#x20;

* 初始化：setup() 裡的程式只有在開機時，會執行一次，執行完畢則不會再執行直到重新開機。&#x20;
* 重複執行：loop() 裡的程式，一直重複執行直到關機。&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LMkf3T5TFv8DQHoxabU%2Fuploads%2F5H7DWcNNDWUf7wL5bH09%2Ffile.png?alt=media)

同樣我們也以setup()、loop()這兩個區塊為主要使用程式。&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LMkf3T5TFv8DQHoxabU%2Fuploads%2FwjOVjL7EzOLhVKYKAbd2%2Ffile.png?alt=media)

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LMkf3T5TFv8DQHoxabU%2Fuploads%2FJMnCRq9FEQbM8F6L2lnV%2Ffile.png?alt=media)

在FlipCode畫面中，使用者可以把需要在開機後只執行一次的程式拉入初始化的拼圖中，把需要不斷重複執行的程式拉入重複執行的拼圖中。&#x20;

> 舉例說明：&#x20;
>
> 以下圖為例，在初始化的拼圖中拉入直流馬達1號並設定速度為200，再拉入一個延遲的拼圖表示馬達轉動的時間，設定時間為500毫秒，接著複製一個直流馬達1號，設定速度為0表示停止，再設定停止延遲時間為500毫秒。&#x20;
>
> 切換到Arduino原始碼的畫面時，會發現程式出現在setup()的區塊中，表示開機以後，馬達1號會以速度200的狀態往順時針方向轉動0.5秒後再停止0.5秒，這一組程式【只會在開機後執行一次，執行完畢就不再執行，直到重新開機】。&#x20;
>
> ![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LMkf3T5TFv8DQHoxabU%2Fuploads%2FUc4fdTyTbccYW6Icw4Zq%2Ffile.png?alt=media)
>
> 若是將上述的程式拉入重複執行的拼圖中，切換到Arduino原始碼的畫面時，會發現程式出現在loop()的區塊中，表示開機以後，馬達1號會以速度200的狀態往順時針方向轉動0.5秒後再停止0.5秒，【一直重複執行這個的動作直到關機】。&#x20;
>
> ![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LMkf3T5TFv8DQHoxabU%2Fuploads%2FBOy2445eZMVFPoDdsbAZ%2Ffile.png?alt=media)

在使用FlipCode進行程式編輯時，若使用者沒有將程式拼圖放置在初始化或重複執行的區塊中，而是放置畫面在其他空白處，拼圖會呈現灰底，表示不會執行此程式。&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LMkf3T5TFv8DQHoxabU%2Fuploads%2FVmRPkRidUEMMPBCvB2IT%2Ffile.png?alt=media)

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LMkf3T5TFv8DQHoxabU%2Fuploads%2FHMd64zFQTY1Z1yUer6XL%2Ffile.png?alt=media)
