<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> STM32 >> 瀏覽文章

        關于調試stm32和stm8(51單片機)的i2c和spi協議的之間的區別

        作者:佚名   來源:本站原創   點擊數:  更新時間:2014年04月25日   【字體:

         在調試STM32的i2c和io口模擬spi協議時發現時序是很關鍵的。stm32在72M運行下可以實現i2c或者spi協議,但并不代表把相同的代碼移植到51單片機上就會成功的跑起來,因為51單片機的速讀最塊8M,所以在時序上會產生很多大的區別。

        經過測試,在stm32上的spi協議時鐘線可達到20Khz,移植到51后,頻率會降到<10hz?墒潜M管把延時調小或者去掉還是無濟于事,此時就要加幾句把鐘線置高置低的語句了 以便增大的速度,后來成功后,測試時鐘線的確達到了10Khz左右。
        先貼上部分代碼
        unsigned char ReadRawRC(unsigned char Address)
        {
             unsigned char i, ucAddr;
             unsigned char ucResult=0;
         
             MF522_SCK = 0;
             MF522_NSS = 0;
             ucAddr = ((Address<<1)&0x7E)|0x80;
         
             for(i=8;i>0;i--)
             {
                 MF522_SI = ((ucAddr&0x80)==0x80);
                 MF522_SCK = 1;//stm32上沒有
                 ucAddr <<= 1;
                 MF522_SCK = 0;
             }
         
             for(i=8;i>0;i--)
             {
                 MF522_SCK = 1;//stm32上沒有
                 ucResult <<= 1;
                 ucResult|=(bit)MF522_SO;
                 MF522_SCK = 0;
             }
         
             MF522_NSS = 1;
             MF522_SCK = 1;
             return ucResult;
        }
         
        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮