亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? spi_2dpj_slave.c

?? arm的功能測(cè)試模塊
?? C
字號(hào):
/*****************************************************
****      AVR SPI總線使用范例(兩個(gè)mega16)        ***
****     作者:  liugangdi                         ***
****     編譯器:WINAVR20050214                    ***
****     日期:2005.11.15                      ***
***********************************************/

/*
從機(jī)功能簡(jiǎn)介:通過SPI實(shí)現(xiàn)兩機(jī)通訊, 采用中斷方式實(shí)現(xiàn)雙全工通訊。 
本例用兩MEGA16實(shí)現(xiàn),連接為: 
MISO----MISO 
MOSI----MOSI 
SCK ----SCK 
/SS ----/SS 
將要發(fā)送的數(shù)據(jù)加載到發(fā)送緩沖區(qū)的函數(shù)fill_tx_buffer()
和從接收緩沖區(qū)讀出數(shù)據(jù)的函數(shù)read_rx_buffer() 
注意:從機(jī)程序和主機(jī)程序基本相同,只是將該單片機(jī)該為從同步方式即可,2機(jī)運(yùn)行時(shí),從機(jī)先開機(jī)等待甲機(jī)SPI發(fā)送*/


//注: 內(nèi)部函數(shù)_delay_ms() 最高延時(shí)  262.144mS@1MHz
// ffor()/while()語句計(jì)算延時(shí)時(shí)間較麻煩。
// 為了使 _delay_ms()函數(shù)的延時(shí)正確,須在makefile中設(shè)定F_CPU為實(shí)際的系統(tǒng)時(shí)鐘頻


#include <avr/io.h>
#include <avr/delay.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
#define uint unsigned int
#define uchar unsigned char

#define SPI_RX_BUFFER_SIZE 11 
#define SPI_RX_BUFFER_MASK     SPI_RX_BUFFER_SIZE - 1  
#define SPI_TX_BUFFER_SIZE 11 
#define SPI_TX_BUFFER_MASK     SPI_TX_BUFFER_SIZE - 1  

unsigned char SPI_RxBuf[SPI_RX_BUFFER_SIZE]; 
volatile unsigned char SPI_RxHead; 
unsigned char SPI_TxBuf[SPI_TX_BUFFER_MASK]; 
volatile unsigned char SPI_TxHead; 

uchar Tx_counter,spi_trans_com;

//***************************************************
//七段數(shù)碼管顯示函數(shù)
//*************************************************** 
void disp(unsigned char data)
{ DDRB=0xFF;
  DDRA=0xFF;
  PORTA&=~(1<<6);
  PORTB=data;
 }


//***************************************************
// 要發(fā)送的數(shù)據(jù)加載到發(fā)送緩沖區(qū)的函數(shù)fill_tx_buffer()
//*************************************************** 
void fill_tx_buffer(void)
{
  uchar SPI_TxBuf[SPI_TX_BUFFER_MASK]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
 }


//***************************************************
// 從接收緩沖區(qū)讀出數(shù)據(jù)的函數(shù)read_rx_buffer() 
//*************************************************** 
void read_rx_buffer(void) 
{
 /*for(uint i=1;i<SPI_TX_BUFFER_SIZE;i++)
  {disp(SPI_RxBuf[i]);
   for (uint k=0;k<50 ;k++)  _delay_ms(20) ; //延時(shí)
   }*/
   if(SPI_RxBuf[1]==0xc0&&SPI_RxBuf[2]==0xf9&&SPI_RxBuf[3]==0xa4&&SPI_RxBuf[4]==0xb0&&SPI_RxBuf[5]==0x99
    &&SPI_RxBuf[6]==0x92&&SPI_RxBuf[7]==0x82&&SPI_RxBuf[8]==0xf8&&SPI_RxBuf[9]==0x80&&SPI_RxBuf[10]==0x90)
	PORTC&=~(1<<5);   //如果接收的都正確則燈點(diǎn)亮
  }


//****************************************** 
// SPI 中斷服務(wù)程序 interrupt [SPI_STC]:11
//****************************************** 
 SIGNAL(SIG_SPI) 
{   
  SPI_RxBuf[SPI_RxHead] = SPDR;    //從ISP口讀出收到的字節(jié)  
  if (SPI_RxHead  == SPI_RX_BUFFER_MASK)   //如果是接收幀的最后一個(gè)數(shù)據(jù)   
        { 
         SPI_RxHead = 0;                         //已接收數(shù)據(jù)還原 
         spi_trans_com=1;                        //置接收完成標(biāo)志
        } 
   else 
        {    
         SPI_RxHead++;              //已接收數(shù)據(jù)計(jì)數(shù)器加1 
        } 
  if (Tx_counter)        //如果發(fā)送緩沖區(qū)中有待發(fā)的數(shù)據(jù)    
   {    
     --Tx_counter;   
     SPDR=SPI_TxBuf[SPI_TxHead]; //發(fā)送一個(gè)字節(jié)數(shù)據(jù),并調(diào)整指針    
     if (++SPI_TxHead ==SPI_TX_BUFFER_MASK) 
	 {SPI_TxHead = 0;
     Tx_counter=SPI_TX_BUFFER_MASK;  
      }  
    }  
}    

//************************************************************** 
// SPI 初始化 (MEGA16 PB4——/SS,PB5——MOSI,PB6——MISO,PB7——SCK)
//************************************************************** 
void spi_init(void)    
{    
  unsigned char temp; 
  DDRB = 0xB0;      //MISO=input and MOSI,SCK,SS = output      
  PORTB = 0x40;     //MISO上拉電阻有效     
  SPCR = 0xC5;      //SPI允許,從機(jī)模式,MSB,允許SPI中斷,極性方式01,1/16系統(tǒng)時(shí)鐘速率    
  SPSR = 0x00;    
  temp = SPSR;    
  temp = SPDR;    //清空SPI,和中斷標(biāo)志,使SPI空閑    
}    

//*************************************************************** 
//將數(shù)據(jù)0XFF送給SPDR,等待主機(jī)發(fā)送,(接收方接收到的第一個(gè)數(shù)據(jù)為0xFF應(yīng)忽略 )
//*************************************************************** 
void spi_send(void) 
{    
    fill_tx_buffer();   //調(diào)用fill_tx_buffer函數(shù),將要發(fā)送的數(shù)據(jù)加載到發(fā)送緩沖區(qū) 
    spi_init();          //初始化spi為從方式 
	SPDR=0xFF;          //開始發(fā)送,接收方接收到的第一個(gè)數(shù)據(jù)為0xFF應(yīng)忽略 
	sei();               //開總中斷
	SPCR|=(1<<SPIE)|(1<<SPE);    //使能SPI,開SPI中斷
    SPI_TxHead = 0;     //已發(fā)送數(shù)據(jù)計(jì)數(shù)器清0 
} 

int main(void) 
{ 
  PORTC=0xFF;			
  DDRC=0xFF;				//PC口設(shè)為輸出高電平,燈滅 
  SPI_RxHead=0;
  SPI_TxHead=0;
  Tx_counter=SPI_TX_BUFFER_MASK;
  spi_send();
  while(1) 
  { 		 
   if(spi_trans_com==1) //如果接收完成標(biāo)志為1,表明有所數(shù)據(jù)已接收 
          { 
            read_rx_buffer(); //調(diào)用read_rx_buffer函數(shù),將接收到的數(shù)據(jù)從接收緩沖區(qū)讀出 
            spi_trans_com=0;  //讀完清除接收完成標(biāo)志 
           } 

  }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品中文字幕在线一区| 欧美成人video| 久久99这里只有精品| 一区在线播放视频| 日韩欧美在线123| 中文字幕av不卡| 一区二区三区电影在线播| 欧美日韩日日夜夜| 久草在线在线精品观看| 中文字幕日韩av资源站| 91麻豆精品国产自产在线观看一区 | 精品视频一区三区九区| 捆绑紧缚一区二区三区视频| 一区在线观看视频| 日韩精品一区二区三区蜜臀| 欧美丝袜自拍制服另类| 国产白丝网站精品污在线入口| 丝袜a∨在线一区二区三区不卡| 欧美国产日韩亚洲一区| 日韩一区二区不卡| 91搞黄在线观看| 福利电影一区二区| 免费久久精品视频| 亚洲一区二区三区小说| 国产精品视频第一区| 日韩视频免费观看高清完整版在线观看| 成人h动漫精品一区二区| 日韩精品一级二级| 一区二区三区四区蜜桃 | 亚洲午夜精品久久久久久久久| 久久久久久电影| 91麻豆精品国产91久久久更新时间 | 亚洲美女偷拍久久| 国产亚洲精品免费| 欧美成人欧美edvon| 91精品国产一区二区| 欧美日韩在线综合| 色乱码一区二区三区88| 国产成人亚洲综合色影视| 免费人成在线不卡| 日韩中文字幕1| 亚洲一区二区三区在线| 亚洲色图视频网| 玉足女爽爽91| 一区二区三区四区五区视频在线观看| 久久精品视频免费| 久久久国产精华| 26uuuu精品一区二区| 欧美成人精品二区三区99精品| 欧美成人一级视频| 国产情人综合久久777777| 欧美国产欧美亚州国产日韩mv天天看完整| 国产日韩精品一区二区三区在线| 久久久99免费| 中文字幕欧美一| 亚洲国产欧美在线| 日本欧美一区二区| 久久99国产精品尤物| 成人综合在线观看| 色乱码一区二区三区88| 9191国产精品| 久久一区二区三区四区| 国产精品久久久久久久久搜平片 | 欧美精品一二三| 欧美大片一区二区| 欧美激情一二三区| 亚洲一区二区三区小说| 久久69国产一区二区蜜臀| 成人app网站| 777午夜精品免费视频| 久久久影视传媒| 一区二区国产盗摄色噜噜| 亚洲成人一二三| 国产精品一区二区三区四区| 99精品国产91久久久久久| 欧美三区在线观看| 精品99999| 一区二区三区四区不卡视频| 免费精品视频在线| 99久久精品国产精品久久| 欧美人牲a欧美精品| 国产日产欧美精品一区二区三区| 亚洲一区在线观看免费观看电影高清| 另类专区欧美蜜桃臀第一页| 91网站在线播放| 精品国产免费一区二区三区四区| 亚洲欧洲日本在线| 精彩视频一区二区三区| 色婷婷av一区二区三区gif| 久久这里只精品最新地址| 亚洲一区二区三区中文字幕 | 亚洲欧美日韩一区二区| 天天综合天天综合色| 成人免费视频播放| 日韩欧美一区二区视频| 夜夜嗨av一区二区三区中文字幕| 精久久久久久久久久久| 欧美视频一区二区三区在线观看| 2024国产精品| 日本在线播放一区二区三区| 色综合一区二区| 欧美—级在线免费片| 久久精工是国产品牌吗| 欧美美女bb生活片| 亚洲女厕所小便bbb| 国产精品2024| 2024国产精品| 蜜桃视频一区二区| 欧美最新大片在线看 | 综合婷婷亚洲小说| 国产一区二区0| 日韩精品中文字幕在线不卡尤物| 一区二区三区免费在线观看| 成人一区二区三区中文字幕| 日韩精品一区二区三区四区视频 | 精品综合久久久久久8888| 欧美日本一区二区在线观看| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲精品欧美综合四区| 国产v日产∨综合v精品视频| 亚洲精品一区二区三区影院| 日本欧美大码aⅴ在线播放| 日本韩国精品在线| 亚洲乱码一区二区三区在线观看| 国产精品一级在线| 国产欧美va欧美不卡在线 | 欧美日韩国产一区| 亚洲精品欧美激情| 色婷婷精品久久二区二区蜜臂av| 中文字幕中文在线不卡住| 成人国产精品免费| 欧美激情一区二区| 成人av网站在线观看| 国产精品久久网站| 99精品一区二区| 亚洲乱码国产乱码精品精98午夜| 色综合咪咪久久| 亚洲一区二区三区四区在线免费观看 | 成人免费在线播放视频| 成熟亚洲日本毛茸茸凸凹| 国产精品午夜春色av| av中文一区二区三区| 亚洲欧美日韩综合aⅴ视频| 91免费小视频| 亚洲一区二区三区四区在线 | 青草国产精品久久久久久| 日韩精品一区二区三区三区免费| 另类专区欧美蜜桃臀第一页| 欧美mv日韩mv国产网站app| 国产一区二区三区在线观看免费视频| www国产成人| aa级大片欧美| 亚洲综合丝袜美腿| 在线不卡欧美精品一区二区三区| 日韩精品一二三四| 久久美女高清视频| 91小视频免费看| 午夜精品久久久久久久99水蜜桃 | 亚洲精品国产成人久久av盗摄| 日本精品一区二区三区高清| 午夜精品视频在线观看| 精品嫩草影院久久| av不卡一区二区三区| 亚洲图片自拍偷拍| 欧美va在线播放| av网站免费线看精品| 亚洲一级片在线观看| 91精品国产色综合久久| 国产成人免费在线观看| 亚洲综合在线免费观看| 日韩女优av电影| av亚洲精华国产精华| 视频一区中文字幕| 国产欧美日韩不卡免费| 色婷婷香蕉在线一区二区| 久久国产视频网| 亚洲欧洲成人精品av97| 91精品国产黑色紧身裤美女| 国产美女一区二区三区| 一区二区三区不卡视频 | 国产精品白丝在线| 7777精品伊人久久久大香线蕉的 | 中文字幕一区二区三区蜜月| 欧美日韩一区在线| 国产激情视频一区二区三区欧美| 一区二区三区在线影院| 久久女同互慰一区二区三区| 欧美亚日韩国产aⅴ精品中极品| 久久99热狠狠色一区二区| 一区二区激情小说| 欧美激情资源网| 欧美一区二区三区视频| 99久久er热在这里只有精品66| 蜜臀久久久久久久| 亚洲三级免费观看| 国产婷婷一区二区| 91精品国模一区二区三区| 91亚洲午夜精品久久久久久| 九九久久精品视频 | 97se亚洲国产综合自在线不卡|