<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Microsoft Micro Framework 3.0對Serial Peripheral Interface 的支持

               3.0Micro Framework中,咱可以使用SPISerial Peripheral Interface)來和外圍設備進行通信了。SPI是一種串口總線系統,和I2CCANUSB一樣。        

               使用SPI來進行串口通信中,從設備的通訊模式如下:

       

               兩個數據口,一個進一個出,另外兩個控制口。在標準SPI通信模式中,設備分為master設備和slave設備。Master設備決定clock信號和線路狀態。多個slave設備之間可以串聯:

       

               上圖里面,這些串聯的設備看起來象是一個設備,也可以這樣連接:

       

               SPI MasterCPOL CPHA分別改變01的狀態,就可以對應到SPI Device的四個狀態:

       

      SPI-Mode

      CPOL

      CPHA

      0

      0

      0

      1

      0

      1

      2

      1

      0

      3

      1

      1

       

               所以在Microsoft.SPOT.Hardware.SPI的實現中,就包含了以上四種狀態。

               另外,外圍設備有很多中,主要可以分為下面五種類型:

       

      1.         Converters (ADC and DAC)

      2.         Memories (EEPROM and FLASH)

      3.         Real Time Clocks (RTC)

      4.         Sensors (temperature, pressure)

      5.         Others (signalmixer, potentiometer, LCD controller, UART, CAN controller, USB controller, amplifier)

      前三種外圍設備是最多的,后面兩種就少多了。那什么時候適用SPI來進行通信呢?

       

      存儲設備,主要是EEPROM的變種,也有一些少量的SPI存儲設備。容量從幾個bits64Kbit不等。時鐘頻率可以到3MHZ。串行的EEPROMS SPI可以提供2.7V5V的電壓,同時,保存的數據可以從10100年。每個組件,可以讀寫1000000次以上。

      RTCs是比較適合用SPI來進行通信的。因為只有少量的數據需要傳輸。

              

      OK,最后看看MicrosoftMF種實現的對SPI的支持為咱提供了什么功能:

       

      Microsoft.SPOT.Hardware.SPI

       

      public sealed class SPI : IDisposable

      {

          // Fields

          private Configuration m_config;

          private OutputPort m_cs;

          private bool m_disposed;

       

          // Methods

          public SPI(Configuration config);

          public void Dispose();

          [MethodImpl(MethodImplOptions.Synchronized)]

          private void Dispose(bool fDisposing);

          protected override void Finalize();

          [MethodImpl(MethodImplOptions.InternalCall)]

          public extern void InternalWriteRead(byte[] writeBuffer, byte[] readBuffer, int readOffset);

          [MethodImpl(MethodImplOptions.InternalCall)]

          public extern void InternalWriteRead(ushort[] writeBuffer, ushort[] readBuffer, int readOffset);

          public void Write(byte[] writeBuffer);

          public void Write(ushort[] writeBuffer);

          public void WriteRead(byte[] writeBuffer, byte[] readBuffer);

          public void WriteRead(ushort[] writeBuffer, ushort[] readBuffer);

          public void WriteRead(byte[] writeBuffer, byte[] readBuffer, int readOffset);

          public void WriteRead(ushort[] writeBuffer, ushort[] readBuffer, int readOffset);

       

          // Properties

          public Configuration Config { get; set; }

       

          // Nested Types

          public class Configuration

          {

              // Fields

              public readonly bool ChipSelect_ActiveState;

              public readonly uint ChipSelect_HoldTime;

              public readonly Cpu.Pin ChipSelect_Port;

              public readonly uint ChipSelect_SetupTime;

              public readonly bool Clock_Edge;

              public readonly bool Clock_IdleState;

              public readonly uint Clock_RateKHz;

              public readonly SPI.SPI_module SPI_mod;

       

              // Methods

              public Configuration(Cpu.Pin ChipSelect_Port, bool ChipSelect_ActiveState, uint ChipSelect_SetupTime, uint ChipSelect_HoldTime, bool Clock_IdleState, bool Clock_Edge, uint Clock_RateKHz, SPI.SPI_module SPI_mod);

          }

       

          public enum SPI_module

          {

              SPI1,

              SPI2,

              SPI3,

              SPI4

          }

      }

       

      Lbq1221119@cnblogs.com Friday, December 05, 2008

      posted on 2008-12-05 23:23  lbq1221119  閱讀(2102)  評論(2)    收藏  舉報

      導航

      主站蜘蛛池模板: 国产乱老熟女乱老熟女视频| 亚洲av日韩av中文高清性色| 国产亚洲精品黑人粗大精选 | 亚洲一区二区三区蜜桃臀| 亚洲色欲色欲WWW在线丝| 爽爽精品dvd蜜桃成熟时电影院| 99国产精品欧美一区二区三区| 日本一区二区三本视频在线观看| 免费A级毛片樱桃视频| 好硬好湿好爽好深视频| 国产亚洲中文字幕久久网| 国产av综合一区二区三区| 综合亚洲网| 欧美成人h精品网站| 国产精品黄色片在线观看| 顶级少妇做爰视频在线观看| 亚洲鸥美日韩精品久久| 国产精品不卡一区二区久久| 久久精品国产蜜臀av| 无码人妻精品一区二区三区夜夜嗨| 中文字幕乱码人妻综合二区三区| 国产精品永久免费成人av| 久久久久久久久久久久中文字幕| 樱桃视频影院在线播放| 精品国产乱来一区二区三区| 欧美日本中文| 亚洲av日韩av中文高清性色| 亚洲精选av一区二区| 中文字幕在线日韩| 国产精自产拍久久久久久蜜| 大新县| 午夜福利yw在线观看2020| 亚洲乱码中文字幕小综合| 亚洲AV永久中文无码精品综合| 最新中文字幕av无码专区不| 免费无码一区无码东京热| 亚洲熟女综合色一区二区三区| 日韩精品 在线一区二区| 欧美白妞大战非洲大炮| 久久久久国产精品人妻| 久久亚洲精品天天综合网|