久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2614|回復: 0
收起左側

exynos_4412.h流水燈程序分享

[復制鏈接]
ID:608389 發表于 2019-9-8 12:10 | 顯示全部樓層 |閱讀模式
#include "exynos_4412.h"

void do_irq()
{
        // 獲取中斷號
        unsigned int irq_num = CPU0.ICCIAR & 0x3ff;
        switch(irq_num)
        {
        case 57:
                printf("This interrupt id is %d\n", irq_num);
                PWM.TCON = PWM.TCON ^ 0x1;
                EXT_INT41_PEND = 0x1 << 1;                // 清pend(置1清0)
                ICDICPR.ICDICPR1 = 0x1 << 25;        // 清gic
                break;
        case 58:
                        printf("This interrupt id is %d\n", irq_num);
                        GPX2.DAT = GPX2.DAT ^ (0x1 << 7);
                        EXT_INT41_PEND = 0x1 << 2;                // 清pend(置1清0)
                        ICDICPR.ICDICPR1 = 0x1 << 26;        // 清gic
                        break;
        default:
                printf("error!\n");
                break;
        }

        // 把處理器中處理完的中斷號返回給gic
        // 告訴gic該中斷處理結束,可以送入下一個pending進入
        CPU0.ICCEOIR = (CPU0.ICCEOIR & ~(0x3ff)) | irq_num;
}

void peripheral_init()
{
        GPX1.CON = 0xff << 4;                // 配置GPIO為外部中斷
        EXT_INT41_CON = 0x22 << 4;        // 下降沿觸發中斷
        EXT_INT41_MASK = 0x0;                // 使能相應外設
}

void gic_init()
{
        ICDISER.ICDISER1 = 0x3 << 25;                // 使能按鍵中斷號
        ICDIPTR.ICDIPTR14 = 0x0101 << 8;         // 選擇cpu接口
        ICDDCR = 0x1;                                                // 使能中斷到分配器
        CPU0.ICCICR = 0x1;                                 // 把中斷從cpu接口送入處理器
        // 屏蔽中斷優先級,255表示所有中斷都允許通過
        CPU0.ICCPMR = 0xff;
}

void mydelay_ms(int ms)
{
        int i, j;
        while(ms--)
        {
                for (i = 0; i < 5; i++)
                        for (j = 0; j < 500; j++);
        }
}

void pwm_init()
{
        GPD0.CON = 0x2;        // GPIO配置為TOUT_0
        PWM.TCNTB0 = 1000;
        PWM.TCMPB0 = 500;
        PWM.TCFG0 = 0x63;        // 預分頻值為99 -> 100
        PWM.TCFG1 = 0x3;        // 二級分頻為1/8
        PWM.TCON = 0x2;                // 手動裝載
        PWM.TCON = 0x8;                // 自動重裝
}

void led_init()
{
        GPX2.CON = GPX2.CON & (0xf << 28) | (0x1 << 28);
}

int main()
{
        peripheral_init();
        gic_init();
        pwm_init();
        led_init();
        int i = 0;
        while(1)
        {
                mydelay_ms(800);
        }

        return 0;
}

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩在线观看视频 | 久久精品福利 | 狠狠艹| 天天操精品视频 | www视频在线观看 | 色视频在线免费观看 | 国产一级视频在线观看 | 亚洲一区二区高清 | 亚洲国产视频一区 | 久久九七 | 国产三区在线观看视频 | 金莲网| 在线观看免费av片 | 日韩成人免费视频 | 欧美性乱| 国产精品99 | 天天夜夜人人 | 夜操| 一区二区三区四区视频 | 精品三级在线观看 | 欧美日韩久久精品 | 久草电影网 | 看av片网站| 不卡视频一区 | 在线一区 | 日日干日日操 | 日韩一区精品 | 欧洲免费毛片 | 亚洲大片在线观看 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 国产精品美女www | 国产视频福利一区 | 中文字幕久久久 | 欧美在线观看一区 | 久久国产精品视频观看 | 日本精品视频在线 | 国产精品视频在线播放 | 欧美日韩一区二区三区四区 | 仙人掌旅馆在线观看 | 一区二区日本 | 久久网亚洲 |