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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2548|回復: 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;
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 巨大荫蒂视频欧美另类大 | 欧洲性生活视频 | 黄色毛片在线播放 | 99久久夜色精品国产亚洲96 | 亚洲一区二区久久久 | 国产午夜精品一区二区三区嫩草 | 免费观看一级特黄欧美大片 | 人操人免费视频 | 成人在线看片 | 精品国产一二三区 | 国产亚洲精品久久久久久豆腐 | 日韩电影免费观看中文字幕 | 亚洲性视频 | 国产精品爱久久久久久久 | 久久99深爱久久99精品 | 日本免费一区二区三区 | 久久久久成人精品 | 亚洲高清视频一区二区 | 国产精品99久久久久久动医院 | 精品国产一区二区 | 国产精品一码二码三码在线 | 欧美一级小视频 | 国产日韩精品一区 | 欧美日韩国产一区二区三区 | 国产精品久久久久久久久久久久久 | 动漫www.被爆羞羞av44 | 午夜视频在线播放 | 欧美日一区 | 亚洲人人| 一级欧美日韩 | 成人性视频在线 | 91精品久久久久久久久久 | 日本精品一区二区三区在线观看视频 | 成人一区二区三区视频 | 中文日韩字幕 | 国产精品美女久久久久久免费 | 免费三级黄 | 亚洲成人精品 | 久久一区二区精品 | 午夜电影在线播放 | 中文字幕精品一区二区三区精品 |