• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

基于STM32的SPI主從全雙工通信源碼,歡迎測試

2016/08/25
21
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

STM32 SPI雙機通信.rar

共1個文件

個人心得:

       在做主從雙機通信時,一定要理解好主機和從機的作用,做主機時會控制通信的時鐘,從機是不能產(chǎn)生時鐘的。如果從機要發(fā)送數(shù)據(jù),那可以在主機發(fā)送數(shù)據(jù) 的時鐘上發(fā)送數(shù)據(jù)。配置上差不多是一樣的,就設(shè)計主從就得了。我這里接收都是用中斷。

還有一點要注意的,做主機接收時,不能和發(fā)送共用一個函數(shù)。這個為什么我自己現(xiàn)在也沒有清楚,只是在實驗中測得。

糾錯:從機的接收函數(shù)改成,這時因為我測試完成后有改動就壓包,后來測試發(fā)現(xiàn)主機不能正常接收到數(shù)據(jù)
更正:我之前的兩個時鐘的理論是不合理的,因為全雙工收發(fā)是可以共用時鐘的,這個我在后面改進的主機程序中有體現(xiàn)。

歡迎大家測試

u8 SPI1_ReadByte(u8 TxData)
{
u8 retry=0;
// while((SPI1->SR&1<<1)==0)//等待發(fā)送區(qū)空
// {
// retry++;
// if(retry>200)return 0;
// }
// SPI1->DR=TxData; //發(fā)送一個byte
retry=0;
while((SPI1->SR&1<<0)==0) //等待接收完一個byte
{
retry++;
if(retry>200)return 0;
}
return SPI1->DR; //返回收到的數(shù)據(jù)
}

工具:STM32 MINI板兩塊

注意:NSS軟件管理模式,主機:SSM=1,SSI=1。

從機:SSM=1,SSI=0;

連線:主機 SCK<-> SCK 從機

MISO <-> MISO

MOSI<-> MOSI

SPI主機通信程序部分截圖:

SPI從機通信程序部分截圖:

改進:把主機改成查詢接收也是可以的,這時只要一個發(fā)送,是真正意義上的全雙工了。

部分程序截圖:(詳見附件內(nèi)容)

  • STM32 SPI雙機通信.rar
    下載
    描述:SPI雙機通信源碼
意法半導(dǎo)體

意法半導(dǎo)體

意法半導(dǎo)體(ST)集團于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導(dǎo)體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導(dǎo)體有限公司。意法半導(dǎo)體是世界最大的半導(dǎo)體公司之一,公司銷售收入在半導(dǎo)體工業(yè)五大高速增長市場之間分布均衡(五大市場占2007年銷售收入的百分比):通信(35%),消費(17%),計算機(16%),汽車(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場居世界領(lǐng)先水平。例如,意法半導(dǎo)體是世界第一大專用模擬芯片和電源轉(zhuǎn)換芯片制造商,世界第一大工業(yè)半導(dǎo)體和機頂盒芯片供應(yīng)商,而且在分立器件、手機相機模塊和車用集成電路領(lǐng)域居世界前列.

意法半導(dǎo)體(ST)集團于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導(dǎo)體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導(dǎo)體有限公司。意法半導(dǎo)體是世界最大的半導(dǎo)體公司之一,公司銷售收入在半導(dǎo)體工業(yè)五大高速增長市場之間分布均衡(五大市場占2007年銷售收入的百分比):通信(35%),消費(17%),計算機(16%),汽車(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場居世界領(lǐng)先水平。例如,意法半導(dǎo)體是世界第一大專用模擬芯片和電源轉(zhuǎn)換芯片制造商,世界第一大工業(yè)半導(dǎo)體和機頂盒芯片供應(yīng)商,而且在分立器件、手機相機模塊和車用集成電路領(lǐng)域居世界前列.收起

查看更多

相關(guān)推薦