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

歷史上的今天

今天是:2025年01月14日(星期二)

正在發生

2021年01月14日 | MSP430F249----IIC

發布者:SunshineHope 來源: eefocus關鍵字:MSP430F249  IIC  延時 手機看文章 掃描二維碼
隨時隨地手機看文章

/******************************************************************
**                                                       
**  File : IIC.c     | IIC Communication |                                    
**  Version : 1.0     
**  Description : 430 WRITE AND READ 24C02  VIA IIC BUS                                                                     
**  Author : LightWu                              
**  Date : 2013-4-11                                                       
**                                                   
*******************************************************************/

#include <msp430.h>


//注意:兩次發送間隔必須要有延時,否則不能再次發送,串口發送格式:


unsigned char PTxData[250];                     // Pointer to TX data
unsigned char pHead;
unsigned char pTail;


unsigned char pHeadR;
unsigned char pTailR;


unsigned char TXByteCtr;
const unsigned char TxData[] =              // Table of data to transmit
{
  0x01,
  0x02,
  0x03,
  0x04,
  0x05
};
unsigned char RxData[] ;


void UartInit(void)
{
  if (CALBC1_1MHZ==0xFF)  // If calibration constant erased
  { 
    while(1);                               // do not load, trap CPU!! 
  } 
  DCOCTL = 0;                               // Select lowest DCOx and MODx settings
  BCSCTL1 = CALBC1_1MHZ;                    // Set DCO
  DCOCTL = CALDCO_1MHZ;
  P3SEL |= 0x30;                             // P3.4,5 = USCI_A0 TXD/RXD
  UCA0CTL1 |= UCSSEL_2;                     // SMCLK
  UCA0BR0 = 104;                            // 1MHz 9600; (104)decimal = 0x068h
  UCA0BR1 = 0;                              // 1MHz 9600
  UCA0MCTL = UCBRS0;                        // Modulation UCBRSx = 1
  UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
}
void UartSend( unsigned char Data )
{
      UCA0TXBUF = Data;                    // TX -> RXed character
      while (!(IFG2&UCA0TXIFG));                // USCI_A0 TX buffer ready?,發送緩沖區空
 
}
void IICInit(void)
{
  UCB0CTL1 |= UCSWRST;                      // Enable SW reset
  UCB0CTL0 = UCMST + UCMODE_3 + UCSYNC;     // I2C Master, synchronous mode
  UCB0CTL1 = UCSSEL_2 + UCSWRST;            // Use SMCLK, keep SW reset
  UCB0BR0 = 12;                             // fSCL = SMCLK/12 = ~100kHz
  UCB0BR1 = 0;
  UCB0I2CSA = 0xA0>>1;                         // Slave Address is ,注意地址需要右移一位,24C02地址為0XA0,故要寫入0X50
                                            // 7位地址模式,器件會發送一位讀寫位,正好8位。
  UCB0CTL1 &= ~UCSWRST;                     // Clear SW reset, resume operation
  IE2 |= UCB0TXIE;                          // Enable TX interrupt
  IE2 |= UCB0RXIE; 


}
void IICSend( void )
{       
    int i;
    
    for(i=3000;i>0;i--);                   //兩次發送間隔必須要有延時,否則不能再次發送


    while (UCB0CTL1 & UCTXSTP);             // Ensure stop condition got sent


    UCB0CTL1 |= UCTR + UCTXSTT;             // I2C TX, start condition
   
    __bis_SR_register(CPUOFF + GIE);        // Enter LPM0 w/ interrupts


}
void IICRecv( void )
{       
    int i;
    
    for(i=3000;i>0;i--);                   //兩次發送間隔必須要有延時,否則不能再次發送
    


   while (UCB0CTL1 & UCTXSTP);             // Ensure stop condition got sent 
 
    UCB0CTL1 &= ~UCTR;
    UCB0CTL1 |= UCTXSTT; 
   
    __bis_SR_register(CPUOFF + GIE);        // Enter LPM0 w/ interrupts


}


int main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P3SEL |= 0x06;                            // Assign I2C pins to USCI_B0
  
  IICInit();
  
  UartInit();


  while (1)
  {
      UartSend('A');
      
      PTxData[0] = 1;
      PTxData[1] = 'M';
      PTxData[2] = 3;
      PTxData[3] = 4;
      PTxData[4] = 5;
      pTail = 2;
      
      IICSend();
        
      UartSend('B');
      
      //
      
      pHeadR = 0; 
      pTailR = 3;
      IICRecv();
      
      UartSend(RxData[0]);
      UartSend(RxData[1]);
      UartSend(RxData[2]);
      
      while(1);


  }
}


//------------------------------------------------------------------------------
// The USCIAB0TX_ISR is structured such that it can be used to transmit any
// number of bytes by pre-loading TXByteCtr with the byte count. Also, TXData
// points to the next byte to transmit.
//------------------------------------------------------------------------------
#pragma vector = USCIAB0TX_VECTOR
__interrupt void USCIAB0TX_ISR(void)
{
  if ( pHead < pTail )                            // Check TX byte counter
  {


      UCB0TXBUF = PTxData [pHead++ ];                 // Load TX buffer
        
  }
  else
  {
     pHead = 0; 
      
   // UCB0CTL1 |= UCTXSTP;                    // I2C stop condition,if write finish
    IFG2 &= ~UCB0TXIFG;                     // Clear USCI_B0 TX int flag
    __bic_SR_register_on_exit(CPUOFF);      // Exit LPM0
  
  }
}


#pragma vector = USCIAB0RX_VECTOR
__interrupt void USCIAB0RX_ISR(void)
{
    
  if ( pHeadR < pTailR )                            // Check TX byte counter
  {


      RxData[ pHeadR++ ] = UCB0RXBUF;                   // Move RX data to address PRxData
  
  }
  else
  {  
      pHeadR = 0; 
      
      UCB0CTL1 |= UCTXSTP;                    // I2C stop condition
      IFG2 &= ~UCB0RXIFG;                     // Clear USCI_B0 RX int flag
      __bic_SR_register_on_exit(CPUOFF);      // Exit LPM0
      
  }


}


關鍵字:MSP430F249  IIC  延時 引用地址:MSP430F249----IIC

上一篇:MSP430F249 IIC write and Uart send
下一篇:MSP430F249GPIO控制入門

推薦閱讀

??  據外媒報道,我們都知道自動駕駛汽車搭載了激光雷達,可感知車輛周圍360度的狀況。圖像傳感器可識別標志、交通信號燈以及車道標線。雷達可探測目標物,計算機可整合上述所有信息,并使用地圖數據為車輛提供導航。  盡管理想的自動駕駛汽車將能夠與其它車輛進行“對話”,使導航更加順利并減少交通事故,但該技術仍處于初級階段。然而,任何自動...
本周人工智能領域投融資事件一共18起。作為電商巨頭,亞馬遜數年來一直在倉儲機器人方面有著自己的布局,包括在2012年收購倉儲機器人公司Kiva Systems、為倉庫大量引入機器人、秘密開發分揀機器人等等。而在本周,其與法國機器人公司Balyo達成投資協議,為自己的機器人倉庫再添一筆色彩。SIGAI全流程可視化人工智能框架平臺SIGAI完成數百萬人民幣的天使輪...
據外媒報道,迄今為止,舊金山激光雷達傳感器初創公司Luminar已經籌集了超2.5億美元的資金,而且正在引入訂閱業務。在2020年CES展上,該公司推出了一款激光雷達傳感器 – Hydra,并且準備對使用該款傳感器的汽車制造商伙伴重復收費,此舉為行業首創。Hydra專為高速公路場景而設計,可探測80米范圍內的道路、150米范圍內的車道以及250米范圍內的物體,而...
/******************************************************************** ** File : SPI.c | TLC549 | ** Version : 1.0 ** Description : SPI interface TLC549 ...

史海拾趣

問答坊 | AI 解惑

液晶接口資料下載 Down LCD Datasheet 液晶測試軟件下載

YC-1602E液晶接口資料值得一看下了絕對不后悔…

查看全部問答∨

最近在做開關電源,給大家幾份資料...逆變的,呵呵...可能不適合還望海涵

最近在做開關電源,給大家幾份資料...逆變的,呵呵...可能不適合還望海涵…

查看全部問答∨

arm中文培訓教材

該培訓資料包括: 1.ADS介紹 2.amba總線 3。arm_thumb指令4。arm編程技巧5。arm處理器內核6。arm調試方案 7。arm集成開發環境 8。arm構架 9。arm嵌入式軟件開發 10。nucleus介紹 11。OSE介紹 12。帶cache內核介紹 13。基于arm的嵌入式開發技術14。性 ...…

查看全部問答∨

放大器失真基本理論

放大器失真基本理論失真分為兩類:1,線性失真。2,非線性失真。 一,線性失真。 先討論線性失真:從信號與系統的角度來考慮,所謂無失真傳輸,通過數學推導(有興趣可以參考〈信號與系統〉教材)可以得到兩個條件: 系統對幅度譜的作用僅為加權 ...…

查看全部問答∨

求CCD中文資料,我用的使ILX553A

第一次使用CCD啊。搞不懂方向啊。英文看起太惱火了。 求一個中文的這個器件的資料。或者中文的CCD使用教程。謝謝了。。 我的郵箱:272257780@qq.com…

查看全部問答∨

求一個arm-linux驅動開發的師傅帶帶!~~~

我在西安,有沒有人在無聊的時候帶帶我??? msn:tangzichao1984@hotmail.com qq:11826964 不勝感激…

查看全部問答∨

請問能不能給滾動條改外觀呢?改成自己設計的圖片。

RT。 我需要吧滾動條的樣式改成商家提供的圖片的樣式,就是要加入圖片到滾動條中。這個要自己寫嗎? 能否提供一些源碼參考呢?…

查看全部問答∨

winceUSB攝像頭驅動問題

大家好,      在用微軟官方提供的CE6.0USB攝像頭驅動的時候需要對他進行修改么?我用的攝像頭(藍色妖姬s9紅警)是遵從USB視頻規范的。 如果需要修改,應該改哪些函數呢?      求高手指導! [ 本帖最 ...…

查看全部問答∨

一些下載的資料拿來分享

一些下載的資料拿來分享…

查看全部問答∨

PDF元器件位置圖如何含相應書簽

如標題,以前看到PDF格式元器件位置圖含元件流水號名書簽(如C1 C2... L1 L2...R1 R2 R3...),點擊一下鼠標會自動跳到該元件上,現在導出的PDF元器件位置圖不含元件名書簽,想要做出含元器件名書簽的請問有知道怎能做的嗎?謝謝 下圖左邊書簽沒有 ...…

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

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

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

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 漯河市| 桐庐县| 谢通门县| 始兴县| 乐都县| 绥中县| 西乌珠穆沁旗| 嘉祥县| 清苑县| 长阳| 沂源县| 德钦县| 交城县| 太湖县| 益阳市| 封开县| 都江堰市| 通榆县| 汝城县| 建始县| 内黄县| 威远县| 舞钢市| 文登市| 稷山县| 青河县| 会理县| 恩施市| 滦南县| 托克逊县| 嘉鱼县| 凉城县| 岳阳县| 岢岚县| 郁南县| 尚义县| 崇阳县| 盐边县| 永年县| 上虞市| 安化县|