色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

STM32中,DMA和IIC好像都是用來傳輸數據的,有什么區別嗎n

傅智翔2年前15瀏覽0評論

DMA和IIC是兩種完全不同的東西。IIC是一種通訊方式、一種通訊協議,用于芯片之間或者用于板子之間等近距離的通訊。而DMA是一種控制器、單片機的片上資源,是直存儲器訪問的意思。IIC可以使用DMA進行數據傳輸。下面分別介紹。

1

IIC通訊協議介紹

IIC是芯片間常用的一種近距離通訊方式,常用的通訊速率有100Kbit/s,400Kbit/s等,具有SDA和SCL兩根線。SCL是通訊時鐘線,SDA是數據傳輸線,每個IIC設備都有一個唯一的設備地址,地址為1個字節,高七位為設備地址,低一位為讀/寫操作。其總線拓撲結構如下圖所示。

IIC通訊比較典型的應用就是AT24C04,該存儲芯片的通訊方式為IIC,只需要兩根線即可實現數據的通信,在硬件電路的設計上一般要在通訊總線上加兩個上拉電阻。如下圖所示。

2

DMA直接存儲器訪問介紹

DMA是直接存儲器訪問,不經過CPU而直接從內存存取數據的數據交換方式。傳統的數據交互方式,比如有兩個存儲器要進行數據交互的話,需要通過單片機從存儲器1獲取數據后再轉送給存儲器2,單片機必須要做倒手處理。而DMA就是不通過單片機,即可實現存儲器1和存儲器2的數據交互,而單片機只需要向DMA下達控制指令即可。DMA可以用在IIC,SPI,UART,AD等資源中。多個器件在進行數據交互時不再需要單片機的參與,而只需要DMA完成后通知單片機即可。

以上就是這個問題的回答,感謝留言、評論、轉發。更多電子設計、硬件設計、單片機等內容請關注本:玩轉嵌入式。感謝大家。