娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年04月29日(星期二)

正在發生

2020年04月29日 | msp430g2553硬件IIC

發布者:腦力激蕩 來源: eefocus關鍵字:msp430g2553  硬件IIC  從器件地址 手機看文章 掃描二維碼
隨時隨地手機看文章

#include "msp430g2553.h"

#include "uart.h"


unsigned char RX_Data;

void I2C_Init(unsigned char SA);//I2C初始化,SA為從器件地址

void I2C_ReadData(unsigned char address);//I2C讀出某一地址的數據

unsigned char I2C_WriteData(unsigned char address,unsigned char data);//I2C向某一地址寫入數據

void delay(void);


void I2C_Init(unsigned char SA)

{

  P1SEL |= (BIT6 + BIT7);

  P1SEL2|= (BIT6 + BIT7); 

  UCB0CTL1 |= UCSWRST;                      // Enable SW reset 

  UCB0CTL0 = UCMST + UCMODE_3 + UCSYNC;     // I2C Master, synchronous mode 

  UCB0CTL1 |= UCSSEL_2 + UCSWRST;            // Use SMCLK, keep SW reset 

  UCB0BR0 = 30;                             // fSCL = SMCLK/80 = ~100kHz 

  UCB0BR1 = 0; 

  UCB0CTL0 &= ~UCSLA10; // 7位地址模式

  UCB0I2CSA = SA;                         // Slave Address is 2ch 

  UCB0CTL1 &= ~UCSWRST;                     // Clear SW reset, resume operation 

  delay();

}


unsigned char I2C_WriteData(unsigned char address,unsigned char data)

{

    while( UCB0CTL1& UCTXSTP );

    UCB0CTL1 |= UCTR;                // 寫模式  

    UCB0CTL1 |= UCTXSTT;             // 發送啟動位  


    UCB0TXBUF = address;           // 發送字節地址  

    // 等待UCTXIFG=1與UCTXSTT=0 同時變化等待一個標志位即可  

    while((IFG2 & UCB0TXIFG)==0) 

    {  

        if( UCB0STAT& UCNACKIFG )      // 若無應答 UCNACKIFG=1  

        {  

            return 1;  

        }  

    }    


    UCB0TXBUF = data;          // 發送字節內容  

    while((IFG2 & UCB0TXIFG)==0);     // 等待UCTXIFG=1  


    UCB0CTL1 |= UCTXSTP;  

    while(UCB0CTL1& UCTXSTP);       // 等待發送完成  


    return 0;  

}


unsigned char I2C_WriteNData( unsigned char address, unsigned char *pWbuf, unsigned char len)  

    unsigned char i;    

  while( UCB0CTL1& UCTXSTP );  

  UCB0CTL1 |= UCTR;                // 寫模式  

  UCB0CTL1 |= UCTXSTT;             // 發送啟動位  


  UCB0TXBUF = address;           // 發送字節地址  

  // 等待UCTXIFG=1與UCTXSTT=0 同時變化等待一個標志位即可  

  while((IFG2 & UCB0TXIFG)==0) 

  {  

        if( UCB0STAT& UCNACKIFG )      // 若無應答 UCNACKIFG=1  

        {  

            return 1;  

        }  

  }    


  for( i= 0; i < len; i++)  

  {  

    UCB0TXBUF = *pWbuf++;      // 發送寄存器內容  

    while(UCB0CTL1& UCTXSTP);   // 等待UCTXIFG=1     

  }  


  UCB0CTL1 |= UCTXSTP;  

  while(UCB0CTL1& UCTXSTP);       // 等待發送完成  


  return 0;  

}  

void I2C_ReadData(unsigned char address)

{

    UCB0CTL1 |= UCTR ;

    UCB0CTL1 |= UCTXSTT;             // I2C TX, start condition 

    UCB0TXBUF = address;////eeprom low addr 

    while((IFG2 & UCB0TXIFG)==0); 

    UCB0CTL1 &= ~UCTR;             // I2C RX, 

    UCB0CTL1 |= UCTXSTT;   

    while(UCB0CTL1&UCTXSTT); 

    UCB0CTL1 |= UCTXSTP;

    while((IFG2&UCB0RXIFG)==0); 

    RX_Data = UCB0RXBUF; 

    while(UCB0CTL1 & UCTXSTP);

}



unsigned char  I2C_ReadNData(unsigned char address, unsigned char *pRead, unsigned char len )

{

    unsigned char i;

    while( UCB0CTL1& UCTXSTP );

    UCB0CTL1 |= UCTR; // 寫模式

    UCB0CTL1 |= UCTXSTT; // 發送啟動位和寫控制字節

    UCB0TXBUF = address; // 發送字節地址

    // 等待UCTXIFG=1與UCTXSTT=0 同時變化等待一個標志位即可

    while((IFG2 & UCB0TXIFG)==0);

    UCB0CTL1 &= ~UCTR; // 讀模式

    UCB0CTL1 |= UCTXSTT; // 發送啟動位和讀控制字節

    while(UCB0CTL1& UCTXSTT); // 等待UCTXSTT=0

    // 若無應答 UCNACKIFG = 1

    for( i= 0; i< len -1 ; i++)

    {

        while((IFG2&UCB0RXIFG)==0);  // 讀取字節內容,不包括最后一個字節內容

        *pRead++= UCB0RXBUF;

    }

    UCB0CTL1 |= UCTXSTP; // 在接收最后一個字節之前發送停止位

    while((IFG2&UCB0RXIFG)==0); // 讀取最后一個字節內容

    *pRead = UCB0RXBUF;

    while( UCB0CTL1& UCTXSTP );

    return 0;

}

void delay(void)

{

  unsigned int i,n;

  for(i=0;i<100;i++)

    for(n=0;n<0xff;n++);

}


int main( void )

{

    unsigned char ReadBuf[10];

    unsigned char temp = 1;

    // Stop watchdog timer to prevent time out reset

    WDTCTL = WDTPW + WDTHOLD;

    BCSCTL1=CALBC1_1MHZ;

    DCOCTL=CALDCO_1MHZ;

    Uart_Init();

    P1DIR |= BIT0;

    P1OUT |= BIT0;

    I2C_Init(0x51);//1010 000X>>1


    //I2C_WriteData(0x02,5);

    _EINT();

    //I2C_Init(0x51);//1010 000X>>1

    //I2C_ReadData(tUart.RecBuf[0]-0x30);

    while(1)

    {

        if(tUart.RecFlag)

        {

            tUart.RecFlag = 0;

            tUart.Len = 0; 


            //I2C_Init(0x51);//1010 000X>>1

            //I2C_ReadData(tUart.RecBuf[0]-0x30);

            I2C_WriteData(0x03,temp++);

            I2C_ReadNData(0x02, ReadBuf, 8 );

            UartSendStr(ReadBuf);

            //UartSendByte(RX_Data);

        }

    }

}


關鍵字:msp430g2553  硬件IIC  從器件地址 引用地址:msp430g2553硬件IIC

上一篇:MSP430FR2433 LaunchPad板子energy trace技術測量電流電壓
下一篇:基于MSP430F149的超聲波測距

推薦閱讀

國際半導體產業協會(SEMI)宣布已與電子系統設計聯盟(ESD Alliance)簽訂合作備忘錄,將于今年成為SEMI策略合作伙伴(Strategic Association Partner)。根據這項合作計劃,總部位于美國加州紅木城(Redwood City)的ESD Alliance于半導體設計產業生態系中的企業會員將加入SEMI,深化該聯盟在全球微電子制造供應鏈的布局,同時也加強SEMI企業會員與半導體設...
(圖片來源:瑞典查爾姆斯理工大學官網)據外媒報道,氫是一種清潔可再生能源載體,能夠為汽車提供動力,而唯一排放物是水。但是,氫氣和空氣混合時卻極易燃,因而需要特別有效的傳感器進行監控。如今,瑞典查爾姆斯理工大學(Chalmers University of Technology)的研究人員研發出首個氫氣傳感器,以滿足未來氫動力汽車的性能目標。此次推出的是一種封...
國家電網有限公司以充電樁、特高壓為代表的“新基建”建設駛入快車道。“國家電網將全面開啟建設具有中國特色國際領先的能源互聯網企業的新征程。”國家電網相關負責人日前表示,下一步,要全力推進公司新型數字基礎設施建設,打造“新基建”的國家電網新高地。 充電樁建設按下“加速鍵” 4月16日,由國家電網北京市電力公司承建的北京環球主題公園公...
日本汽車零部件廠商Denso公司指出,如果晶圓代工廠產能提升,車用芯片供需緊繃情況有望在今年夏天逐步趨緩。 據報道,Denso首席財務官(CFO)松井靖于近日舉行的在線法說會上表示,今年度(2021年4月-2022年3月)運營面臨多種不安因素,包括芯片供需緊繃、半導體廠火災復工情況以及為防疫所采取的封城措施。 關于芯片短缺一事,松井靖指出, Denso現階段沒有...

史海拾趣

問答坊 | AI 解惑

我的5.1長假從“暴走”開始

“都是開車惹的禍。”我一邊望著體重稱上的指針,一邊向老公抱怨道?!昂俸伲俨贿\動,你可以和大象媲美了。”老公幸災樂禍的說。 眼瞅著這體重稱上的指針已經跨越了55公斤,正向60公斤靠攏。我著急的說:“要不咱們到健身中心去鍛煉鍛煉? ...…

查看全部問答∨

現代功率模塊及器件應用技術(5).

現代功率模塊及器件應用技術(5).…

查看全部問答∨

加速度傳感器之傾角測試

首先來張全身照     近一點看看,顯示的是啥。 其中x,y,z表示當前三軸的測量值,dx,dy,dz表示與x,y,z軸的夾角,也就是我們說的傾角   來展示一下傾角測試,看看現在的夾角,與x軸逆時針方向夾角-29度   來 ...…

查看全部問答∨

在EBOOT里面的main.c中有變量g_pBootCfg,請問是在哪里初始化的?

如題,只看到有定義的地方:PBOOT_CFG                g_pBootCfg; 沒找到在哪里初始化的,請知道的大俠指點一下吧! 千萬不要因為我的問題過于幼稚而將之過濾...…

查看全部問答∨

wince 5.0 圖片水中倒影效果

wince 5.0 圖片水中倒影效果 如題,c++/c# 語言,怎么實現可行的水中倒影效果,有點類似于IPhone的圖片瀏覽器的效果?…

查看全部問答∨

急需16*48LED漢字顯示的滾動程序(謝謝)

急需16*48LED漢字顯示的滾動程序,或者有類似的程序,給參考一下。 謝謝各位…

查看全部問答∨

在linux平臺下做驅動開發需要具備那些知識, 需要模電,數電知識嗎?

在linux平臺下做驅動開發需要具備那些知識, 需要模電,數電知識嗎? 我模電和數電學的不是很好,不過C和匯編學的還可以, 不懂模電和數電適合做驅動程序的開發嗎? 謝謝!…

查看全部問答∨

I2C從初始化到穩定接收數據要多少時間

                                 I2C和DMA從初始化到穩定接收數據要多少時間?跟系統時鐘的關系如何?比如我的系統時鐘是36M和72M有什么區別么?找不 ...…

查看全部問答∨

【問TI】TI電源有沒有選型手冊?

      看見大家都不積極,有專家幫忙解決問題,抓緊時間問問題,這機會難得。       對于一個初學者,應該怎么學電源制作??       對于電源選型方面,由于每個公 ...…

查看全部問答∨

關于MSCEComm.dll的使用問題

各位高手,我用VS2008開發在Windows CE6.0上的串口應用程序,我想使用MSCEComm.dll這個控件,但是我用REGSVRCE.EXE這個程序就是注冊不了,然后我用VS2008開發了一個簡單的 智能設備控件, 注冊成功了.       有下列幾個問題,麻煩各 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 江陵县| 阿克| 宝应县| 通化县| 彭州市| 冕宁县| 广平县| 宜黄县| 三穗县| 湾仔区| 磐石市| 淮阳县| 清远市| 山丹县| 长阳| 苏尼特右旗| 保靖县| 措美县| 高邑县| 安图县| 万安县| 招远市| 衡阳市| 天门市| 屯昌县| 南部县| 平果县| 平乐县| 耒阳市| 浦东新区| 双鸭山市| 射阳县| 策勒县| 泸水县| 重庆市| 盐边县| 永康市| 礼泉县| 冕宁县| 锡林郭勒盟| 古浪县|