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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2258|回復: 1
收起左側

如何利用按鍵控制fir和func函數的接入,附單片機程序

[復制鏈接]
ID:649608 發表于 2020-5-9 22:59 | 顯示全部樓層 |閱讀模式
#include "my_include.h"
int DataGeted=0;                                //數據已生成標記
unsigned int numTransfers_Tx=0;        //發送數據塊數計數器(中斷中使用)
int BlockCnt=0;                                        //處理數據塊數計數器(驅動3D0發光管閃動)

int KeyDownFlag;
int KeyDownCnt;
int dat,xx;

//函數聲明
extern void fir();                                        //fir
extern void initial_sys();                                //系統初始化(I2C McBSP AIC23 EDMA EMIF etc.)
extern void func();

//Block Data Send interrupt function
//interrupt period=240/48000=0.005s=5ms
long DMARec_p;
interrupt void DMA_tx_Isr()
{
        numTransfers_Tx++;
        DataGeted=1;
        //修改DMA2源地址,并啟動DMA2
   *DMA_CSR2=(*DMA_CSR2)&(0xfff7);//clear FRAME trasmited flag, B3 ,清除幀中斷
        if((numTransfers_Tx&0x0001)==1)
        {
           *DMA_CSSA_U2 =((long)BufferB*2)>>16;                                //通道目的起始地址Upper 數據地址為0x20000
           *DMA_CSSA_L2 =(unsigned int)((long)BufferB*2);                                //通道目的起始地址Low
                DMARec_p = BufferA;
        }
        else
        {
           *DMA_CSSA_U2 =((long)BufferA*2)>>16;                                //通道目的起始地址Upper 數據地址為0x20000
           *DMA_CSSA_L2 =(unsigned int)((long)BufferA*2);                                //通道目的起始地址Low
                DMARec_p = BufferB;
        }
   *DMA_CCR2 =0x1986;        //通道使能,不重復,利用McBSP1發送事件進行同步
        LBDS1=~uLED[(numTransfers_Tx>>5)&0x7];
}

//Light on/off LED 3D0 to display the Pragram is Running
void BlinkLed(int Flag)
{
        if(Flag==0)
//                *IODATA=(*IODATA)|(1<<6);//B6=1, GPIO6=1, Light off LED
            *IODATA=(*IODATA)&0xffbf;//B6=0, GPIO6=0, Light on LED
        else
                *IODATA=(*IODATA)&0xffbf;//B6=0, GPIO6=0, Light on LED
}




void main(void)
{
        initial_sys();        //初始化
//標紅部分自己弄的,想用key1控制fir和func函數的調用,但是怎么改都不成,想法是這樣子的:按key1,數碼管()就是func的函數)會從0...9閃爍,fir也就成功接入了
        while(1)
        {
                if(KeyDownFlag==1)
        {
          KeyDownCnt--;
                if(KeyDownCnt==0)
                        KeyDownFlag=0;
        }
        dat=keyboard & 0x00ff;
        if((dat!=0xff)&&(KeyDownFlag==0))//some key is down
        {
                KeyDownFlag=1;
                KeyDownCnt=200;        //200*5ms=1s
                if(dat==0xf7)         //key1 is down
                        xx=1;
        }

                if(DataGeted==1&&xx==1)//處理周期為5ms(48000/240=200Hz)
                {
                        xx=0;

                        DataGeted=0;
                        *IODATA=(*IODATA)&0xff7f;//B7=0, GPIO7=0, 23J0=1, for test CPU use ratio
                        BlinkLed((BlockCnt/100)%2);        //控制3D0已1Hz的頻率閃動
                        BlockCnt++;

                                fir();
                            func();


                        *IODATA=(*IODATA)|(1<<7);//B7=1, GPIO7=1, 23J0=0, for test CPU use ratio
                }//Block data Getted
        }//while(1)
}

回復

使用道具 舉報

ID:649608 發表于 2020-5-10 12:46 | 顯示全部樓層
我標題打錯了,想問大家知道怎么利用按鍵控制的,我沒有弄出來啊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产激情在线观看视频 | 国产精品a久久久久 | 久久精品视频播放 | 成人免费精品视频 | www.日日干| 狠狠插狠狠操 | 免费黄色av网站 | 久久一区二区免费视频 | 欧美一区视频 | 国产精品美女一区二区三区 | 久久一区精品 | 欧美日韩国产一区二区三区不卡 | 国产午夜三级一区二区三 | 久视频在线观看 | 国产精品18久久久久久白浆动漫 | 夜夜操av| 中文字幕av第一页 | 欧美色图另类 | 天天草天天干天天 | 成人性生交大片免费看r链接 | 亚洲精品久久久久久久久久久久久 | 九色在线观看 | 日本视频中文字幕 | 日韩精品在线视频免费观看 | 日韩在线不卡视频 | 777毛片| 国产一区中文 | 国产精品欧美精品日韩精品 | 国产成人精品网站 | 中文字幕av在线 | 91pao对白在线播放 | 男人的天堂久久 | 中文字幕亚洲欧美 | 欧美日韩国产在线观看 | 日韩精品1区2区3区 国产精品国产成人国产三级 | 日韩av一区二区在线观看 | 精品日韩| 天天干天天操天天爽 | 亚洲性人人天天夜夜摸 | 久在线| 国产精品高清在线 |