【TOSHIBA Industrial and HA 專欄介紹】M3H 開發板之玩轉 GPIO

1. 簡介
   本單元將說明利用東芝所提供的範例程式,搭配 IAR 的 IDE 開發工具,快速的建立專案所需的 GPIO 應用。
   初次使用開發板且為了容易上手了解 GPIO 的運作,這邊將會以 LED 的明暗控制做示範,
   測試程式是否可正常運行與了解初步的設定方法。
  
   所需工具:
    IAR Embedded Workbench for Arm version 8.50.5
    M3H 開發板
    Micro USB cable 

2. 開發板線路圖與 Jump 設定:
    ★ 
本單元測試LED0 ~ LED3,pin 之定義:
    

   
 ★ 線路圖:

    

    ★ Jump 設定:
    
    
3. 實作過程
   3.1 啟動 IAR Embedded Workbench for Arm version 8.50.5。

   3.2 開啟 GPIO_LED.eww 專案,資料夾路徑為 Project >> Examples >> GPIO >> GPIO_LED。
         範例程式的下載在上一單元【TOSHIBA Industrial and HA 專欄介紹】40nm MCU - M3H 暨開發板簡介 有詳細介紹,忘記了請在回顧一下唷。         
   3.3 進入主程式 main.c 可以看到範例程式是採用按壓按鍵的方式點亮 LED,首先 disable 不需要的程式。        
void irq_systick(void)
{
uint32_t i;
// led_t *p_led = MAIN_NULL;
gpio_pinstate_t val = GPIO_PIN_SET;

if(delay_10ms_counter >0)
{
delay_10ms_counter --;
}

/* Check SW Push(= GPIO_PIN_RESET) */
for (i=0; i < (uint32_t)BSP_PSW_MAX; i++)
{

if(gpio_read_bit(&instance.gpio_obj, bsp_get_gpio_group_psw((BSPPsw)i), bsp_get_gpio_num_psw((BSPPsw)i), GPIO_Mode_DATA, &val) != TXZ_ERROR)
{

}
#if 0 /* Disable */
if(val == GPIO_PIN_RESET){
p_led = &instance.led[i];
led_turn_on(p_led);
}else{
p_led = &instance.led[i];
led_turn_off(p_led);
}
#endif
}
}​    3.4 接下來做一下小修改,讓 LED 間隔 1 秒持續產生明暗的行為。
int main(void)
{
uint32_t period; // Period for SYSTICK
/*----------------------*/
/* BSP initialize */
/*----------------------*/
bsp_initialize();
/*----------------------*/
/* Initialize */
/*----------------------*/
/*--- application ---*/
if (application_initialize() != TXZ_SUCCESS)
{
}
/*----------------------*/
/* Main Processing */
/*----------------------*/
/* Period for 10msec SYSTICK */
SystemCoreClockUpdate();
period = SystemCoreClock / 100;

if (SysTick_Config(period )) /* systick interrupt cycle setting */
{
}
NVIC_EnableIRQ(SysTick_IRQn); /* systick interrupt enable */
led_all_state(OFF);


while (1){

/*----------------------*/
/*LED ON/OFF Test */
/*----------------------*/
led_all_state(ON);
delay_10ms(100); //1 sec
led_all_state(OFF);
delay_10ms(100); //1 sec
}
}​

   3.5 然後在工具列選擇 Project >> Rebuild A11 來編譯此專案。
   3.6 將 micro USB 線對接電腦和開發板上的 CN1
   3.7 在工具列選擇點選 Project >> Download and Debug 
   3.8 此時,程式會停在 main( ),請點選 Debug >> Go 開始程式執行,這時候開發板上的 LED0 ~ LED3 開始間隔 1 秒做閃爍。
         


參考資料
        [1] TT_M3HQ User Manual_en.pdf
        [2] Reference Manual - Input Output Ports (PORT-M3H(2)) [Aug,2019].pdf

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論