วันศุกร์ที่ 3 เมษายน พ.ศ. 2558

[STM32F3] Blinking LED ด้วย CoIDE

สำหรับวิธีการทำไฟกระพริบโดยใช้บอร์ด STM32F3Discovery ด้วย CoIDE มีวิธีการดังต่อไปนี้
  1. ดาวน์โหลด ST-LINK/V2 USB ที่นี่ โดยเลือกให้ตรงกับระบบปฏิบัติการที่ใช้ แล้วทำการติดตั้ง
  2. ดาวน์โหลด GCC Tools for ARM Embedded Processors ที่นี่ แล้วทำการติดตั้ง
  3. ดาวน์โหลดโปรแกรม CoIDE ที่นี่ แล้วทำการติดตั้ง
  4. เปิดโปรแกรม CoIDE แล้วทำการตั้งค่า Toolchain Path โดยเลือกที่เมนู Project > Select Toolchain Path แล้วกดปุ่ม Browse เลือกไปยังโฟลเดอร์ที่ติดตั้ง GCC Tools for ARM Embedded Processors และกดปุ่ม OK
    ภาพตัวอย่างการ Select Toolchain Path
  5. ทำการสร้าง Project ใหม่จากหน้า Welcome ถ้าไม่ปรากฏหน้า Welcome ให้เข้าไปที่เมนู Help > Welcome
    ภาพตัวอย่างสำหรับการสร้าง Project ใหม่
  6. หลังจากปรากฏหน้าต่าง Repository กดที่ปุ่ม ST แล้วเลือก Series เป็น STM32F303 และเลือกเบอร์ของ MCU เป็น STM32F303VC
    เลือก MCU สำหรับสร้าง Project ใหม่
  7. ตั้งชื่อ Project แล้วเลือกที่อยู่สำหรับ Project หลังจากนั้นกด Finish
    ตัวอย่างสำหรับ example project
  8. ในแถบ Repository ทำการเพิ่ม Component คือ cmsis_core และ STM32F303xc_cmsisboot
    เพิ่ม component ที่ชื่อ cmsis_core
    เพิ่ม component ที่ชื่อ STM32F303xc_cmsisboot

  9. เพิ่มโค้ดสำหรับไฟกระพริบภายในไฟล์ main.c ดังต่อไปนี้
    #include "stm32f3xx_hal.h"
    #include "stm32f3xx_hal_conf.h"
    
    // function for delay
    void delay(){
     int i;
     for(i=0; i<800000; i++)
      __ASM("nop"); // no operation
    }
    
    int main(void)
    {
     __GPIOE_CLK_ENABLE(); // enable GPIO port E
    
     GPIO_InitTypeDef initStruct;
    
     // select LED pin
     initStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|
       GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
     initStruct.Mode = GPIO_MODE_OUTPUT_PP; // select pin mode as Output
     initStruct.Pull = GPIO_NOPULL;   // don't use resistor pull
     initStruct.Speed = GPIO_SPEED_LOW;  // select speed for LED pin
     HAL_GPIO_Init(GPIOE, &initStruct);  // init LED pin
    
        while(1)
        {
         // Toggle LED pin
         HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_8);
         HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_9);
         HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_10);
         HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_11);
         HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_12);
         HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_13);
         HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_14);
         HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_15);
         delay(); // delay
        }
    }
    
    
  10. ทำการ Build ไฟล์ โดยเข้าไปที่เมนู Project > Build หรือกดปุ่ม F7
  11. ทำการเชื่อมต่อบอร์ด STM32F3Discovery กับคอมพิวเตอร์แล้วทำการ Debug โดยเข้าไปที่เมนู Debug > Debug หรือกดปุ่ม Ctrl + F5 เมื่อการ Debug เสร็จแล้วให้กดปุ่ม Run หรือปุ่ม F5 เพื่อเริ่มต้นการทำงานของโค้ด
ตัวอย่างการทำงานของโค้ด
 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น