新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR-SPI總線控制

        AVR-SPI總線控制

        作者: 時間:2016-11-27 來源:網絡 收藏
        設置為從模式:
        void spi_init_s()
        {
        DDRB.6=1; //PB6 - output
        DDRB.4=0;
        DDRB.5=0;
        DDRB.7=0;
        SPCR=0XC0;
        }
        設置為主模式:
        void spi_init_m()
        {
        DDRB.6=0;
        DDRB.4=1;
        DDRB.5=1;
        DDRB.7=1;
        SPCR=0x52;
        SPSR=0X01;
        }
        spi發送數據:
        void send_spi(uchar ss)
        {
        uchar i;
        //uchar j;
        while(PINB.4==0){;} //PB4 - /ss - chip select signal
        spi_init_m();
        #asm("cli") //interrupt clear
        PORTB.4=0; //PB4 - Output way
        delay_ms(1);
        for(i=0;i<6;i++)
        {
        if(ss==1) SPDR=r_data[i];
        else if(ss==2) SPDR=r_data2[i]; //ss = 2
        #asm("wdr")
        while((SPSR&0X80)!=0X80);
        }
        delay_ms(1);
        PORTB.4=1;
        #asm("sei")
        spi_init_s();
        }



        關鍵詞: AVRSPI總線控

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 池州市| 余姚市| 长沙县| 根河市| 四子王旗| 云南省| 武隆县| 康平县| 乐至县| 碌曲县| 江安县| 连州市| 遵义县| 读书| 鄂托克旗| 荆门市| 宜昌市| 新田县| 罗源县| 庆云县| 龙岩市| 南昌县| 阜阳市| 衢州市| 葵青区| 泸溪县| 黎川县| 彰武县| 拉萨市| 莱州市| 交口县| 祁阳县| 栾川县| 桦甸市| 蓬莱市| 什邡市| 蒲城县| 巍山| 稷山县| 荆州市| 岳阳县|