亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 基于msp430實現的串口通信 [打印本頁]

作者: 你不是啦啦啦    時間: 2017-7-15 20:10
標題: 基于msp430實現的串口通信
以上是基于msp430實現的單片機與電腦之間的串口通信。


下載:
wirecommunications.zip (29.83 KB, 下載次數: 22)

  1. #include  "LibraryHead.h"
  2. unsigned char MST_Data, SLV_Data;
  3. //master
  4. #ifdef MASTER_MODE
  5. unsigned char MST_Data, SLV_Data;

  6. int main(void)
  7. {
  8.   volatile unsigned int i;
  9.   WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
  10.   UART_Init();
  11.   SPI_Init();
  12.   MST_Data = 0x00;                          // Initialize data values
  13.   SLV_Data = 0x00;
  14.   //UCB0TXBUF = MST_Data;                     // Transmit first character
  15.   __bis_SR_register(LPM0_bits + GIE);       // CPU off, enable interrupts
  16. }

  17. // Test for valid RX and TX character
  18. #pragma vector=USCIAB0RX_VECTOR
  19. __interrupt void USCIA0RX_ISR(void)
  20. {
  21.         if(IFG2 & UCA0RXIFG)
  22.         {
  23.                 MST_Data = UCA0RXBUF;
  24.                 while (!(IFG2 & UCB0TXIFG));              // USCI_A0 TX buffer ready?
  25.                 UCB0TXBUF = MST_Data;                     // Send next value
  26.                   __delay_cycles(75);                     // Add time between transmissions to
  27.                                                                                                          // make sure slave can keep up
  28.         }
  29.         else if(IFG2 & UCB0RXIFG)
  30.         {
  31.         }
  32.         else
  33.         {}
  34. }



  35. #else

  36. //slave
  37. int main(void)
  38. {
  39.   WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
  40.   UART_Init();
  41.   SPI_Init();
  42.   __bis_SR_register(LPM4_bits + GIE);       // Enter LPM4, enable interrupts
  43. }

  44. // Echo character
  45. #pragma vector=USCIAB0RX_VECTOR
  46. __interrupt void USCI0RX_ISR (void)
  47. {
  48.         if(IFG2 & UCA0RXIFG)
  49.         {
  50.         }
  51.         else if(IFG2 & UCB0RXIFG)
  52.         {
  53.                   volatile unsigned int i;
  54.                   MST_Data = UCB0RXBUF;

  55.                   while (!(IFG2 & UCB0TXIFG));              // USCI_A0 TX buffer ready?

  56.                   if (MST_Data == 0x30)                // Test for correct character RX'd
  57.                         P1OUT |= BIT0;                          // If correct, light LED
  58.                   else
  59.                         P1OUT &= ~BIT0;                         // If incorrect, clear LED

  60.                   while (!(IFG2 & UCA0TXIFG));              // USCI_A0 TX buffer ready?
  61.                   UCA0TXBUF = MST_Data;

  62.         }
  63.         else
  64.         {}
  65. }
  66. #endif
復制代碼









歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1