新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單顆LED指示燈的閃爍控制

        單顆LED指示燈的閃爍控制

        作者: 時間:2016-11-26 來源:網絡 收藏
        void main()

        {

        本文引用地址:http://www.104case.com/article/201611/321952.htm

        while(1)
        {
        if(f1s==1)
        {
        f1s=0;
        LedBlink(10,2);//每個周期內閃爍兩次

        }
        }

        }


        //time1:time1*10ms=閃爍周期(定時時間基準10ms)

        //time2:閃爍周期內的閃爍次數

        void LedBlink(u8 time1 ,u8 time2)
        {
        static u8 tempnum = 0;

        if(++tempnum > time1)
        {
        tempnum = 0;
        }

        if( tempnum < time2*2)//time2*2是因為LED兩和滅分別占用一半時間

        {
        LED0=!LED0;
        }
        else
        {
        LED0=1;
        }

        }

        //中斷服務函數,10ms中斷

        void TIM3_IRQHandler(void)

        {
        if(TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)

        {
        TIM_ClearITPendingBit(TIM3, TIM_IT_Update);

        f1s=1;
        }
        }



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 资源县| 阳原县| 临桂县| 栖霞市| 罗平县| 南川市| 临泽县| 邛崃市| 湘潭县| 连平县| 宜昌市| 老河口市| 河南省| 磐石市| 武邑县| 马公市| 团风县| 牙克石市| 新河县| 垦利县| 华池县| 闸北区| 龙川县| 嘉黎县| 霍林郭勒市| 华宁县| 探索| 闸北区| 平和县| 凤庆县| 加查县| 呼玛县| 定陶县| 光泽县| 泰宁县| 出国| 会宁县| 威宁| 察雅县| 竹山县| 翁牛特旗|