Psoc學習筆記——Timer定時器中斷

使用timer定時器組件和interrupt 設計定時器溢出中斷

1.設計Psoc原理圖

整個原理圖如下所示,添加要給定時器和output IO,定時器的interrupt連接一個Interrupt,並命名爲timeISR
在這裏插入圖片描述
按如下圖,設置Timer定時器的參數,使其溢出週期爲1ms。
在這裏插入圖片描述

2.程序設計

main.c文件中代碼如下

#include "project.h"
void led_negation()
{
    led_Write(~led_Read());
}

uint16 timeCnt = 0;
// 定義中斷函數,函數句柄爲 time1_interruptHander
CY_ISR_PROTO(time1_interruptHander)
{
    Timer_1_STATUS;	// 沒有這個只能中斷一次
    if(++timeCnt%200 == 0)
    {
        timeCnt = 0;
        led_negation();
    }
}

int main(void)
{
    CyGlobalIntEnable; /* Enable global interrupts. */
    timeISR_StartEx(time1_interruptHander);
    Timer_1_Start();
    
    led_Write(1);
    for(;;)
    {
        /* Place your application code here. */
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章