因為在tinyos系統下,節點寫flash的速度過慢,開始懷疑是不是spi的速度有問題,所以後來就直接在iar上裸機讀寫flash,看看速度可以去到多少。用到了430的spi的dma模式
dma模式之所以會更快,是因為所要傳輸的資料省去了要經過cpu處理這一步,直接在內部匯流排傳輸到dma暫存器,然後dma暫存器在根據情況通過匯流排傳輸到目標暫存器。這裡的匯流排,我也還沒搞清楚。在dma傳輸資料的時候,雖然說cpu可以繼續幹自己的活,但是如果cpu要使用匯流排的話,而匯流排被dma占用了,這時候該怎麼辦?
void spidmasend(uint8_t cmd,uint8_t *tx_addr, uint8_t *rx_addr,uint16_t len)
使用dma模式,首先就是選好通道,msp430裡面,有三個dma通道。因為用到spi雙工通訊,所以傳送和接收各用乙個通道。然後,就是配置通道的觸發方式,各通道要傳輸的位元組數,還有,通道的傳輸方式,是單位元組傳輸(single)還是塊傳輸(block)。同時,配置好,源位址和目的位址的位址指標是否要遞增。
關於single和block傳輸方式的區別,我當時看datasheet也是看不懂,後來上網查,就連作者本人也說了文件的說明看上去會讓人產生迷惑,呵呵。那時候我忽然覺得,原來不全是我太笨才看不懂呀
mps430參考手冊
SPI介面 MSP430 SPI介面(模式)通訊
spi serial peripheral inte ce,序列外設介面 是motorola公司提出的一種同步序列資料傳輸標準,在很多器件中被廣泛應用。1.介面 spi介面經常被稱為4線序列匯流排,以主 從方式工作,資料傳輸過程由主機初始化。如圖1所示,其使用的4條訊號線分別為 1 sclk 序列時...
python msp430 MSP430的比較器
這兩天研究了一下430的比較器,開始的時候,沒有看懂是怎麼一回事,在 看這方面的部落格,好像懂了,但是一到程式設計,就變得無從下手,但是,皇天不負有心人,筆者還是把他弄懂了 其實這裡就是看懂一幅圖,兩個暫存器,明白工作原理就可以了 這是比較器a的邏輯圖,比價器a由4個部分組成 標號2,外部電壓輸入端...
MSP430教程8 MSP430微控制器復位電路
msp430 微控制器系統復位電路 從上msp430 系統復位電路功能模組圖中可以看到了兩個復位訊號,乙個是上電復位訊號 por power on reset 和上電清除訊號 puc power up clear por 訊號是器件的復位訊號,此訊號只有在以下的事件發生時才會產生 器件上電時。rst...