調(diào)了好久,終于通了。。為什么用了一周時間這么久?主要原因是我不知道隔離模塊有問題,導致一直是盲目的改代碼,今天沒辦法,直接把隔離模塊短路,一下子就讀出了ID號。
7792掛在SPI2上,PB12,PB13,PB14,PB15,可我用SPI調(diào)的時候一直讀出來是0XFF,以為是SPI2有問題,于是我直接拋棄SPI,用時序直接讀。很好用!??!
下面是我的代碼:
#define SCLOCK1 GPIO_SetBits(GPIOB,GPIO_Pin_13);
#define SCLOCK0 GPIO_ResetBits(GPIOB,GPIO_Pin_13);
#define CS1 GPIO_SetBits(GPIOB,GPIO_Pin_12);
#define CS0 GPIO_ResetBits(GPIOB,GPIO_Pin_12);
#define DIN1 GPIO_SetBits(GPIOB,GPIO_Pin_15);
#define DIN0 GPIO_ResetBits(GPIOB,GPIO_Pin_15);
#define DOUT1 GPIO_SetBits(GPIOB,GPIO_Pin_14);
#define DOUT0 GPIO_ResetBits(GPIOB,GPIO_Pin_14);
void Delay(unsigned int Time)
{
while(Time)
{
Time--;
}
}
unsigned char DataRead[3];
void WriteToReg(unsigned char ByteData) // write ByteData to the register
{
unsigned char temp;
int i;
CS0;
temp=0x80;
for(i=0;i<8;i++)
{
if((temp & ByteData)==0)
{
DIN0;
}
else
{
DIN1;
}
SCLOCK0;
Delay(10);
SCLOCK1;
Delay(10);
temp=temp>>1;
}
CS1;
}
void ReadFromReg(unsigned char nByte) // nByte is the number of bytes which need to be read
{
int i,j;
unsigned char temp;
DIN1;
CS0;
temp=0;
// DOUT1;
for(i=0; i
for(j=0; j<8; j++)
{
SCLOCK0;
if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)==0)
{
temp=temp<<1;
}else
{
temp=temp<<1;
temp=temp+0x01;
}
Delay(10);
SCLOCK1;
Delay(10);
}
DataRead[i]=temp;
temp=0;
}
CS1;
}
extern void SSD1305_ShowASC16(u8 x,u8 y,u8 len,unsigned char *str);
void task_7792(void* parameter)
{
char str[20];
short iData[3];
int ResetTime;
/* PRECONFIGURE...*/
ResetTime=32;
SCLOCK1;
CS0; //to keep DIN=1 for 32 sclock to reset the part
DIN1;
while(ResetTime--)
{
Delay(10);
SCLOCK0;
Delay(10);
SCLOCK1;
}
CS1;
while(1)
{
WriteToReg(0x10); //write to Communication register.The next step is writing to Configuration register.
WriteToReg(0x00); //set the Configuration bipolar mode.Gain=1.
WriteToReg(0x80); //Configuration internal reference selected.
WriteToReg(0x08);//write to Communication register.The next step is writing to Mode register.
WriteToReg(0x20);//set the mode register as single conversion mode.
WriteToReg(0x00);//inter 64 kHZ clock.internal clock is not available at the clk pin.
WriteToReg(0x40);//write to Communication register.The next step is to read from Status register.
ReadFromReg(1);
while((DataRead[0]&0x80)==0x80)//wait for the end of convertion by polling the status register RDY bit
{
WriteToReg(0x40);
ReadFromReg(1);
}
WriteToReg(0x58);//write to Communication register.The next step is to read from Data register.
// WriteToReg(0x60) ;
ReadFromReg(2);
memcpy(&iData[0],&DataRead[0],2);
sprintf(str,"%d",iData[0]);
SSD1305_ShowASC16(10,20,6,str) ;
// printf("Data:%02BX %02BXrn",DataRead[0],DataRead[1]); }
}
嗯。出來了。。。。下面 就是自己配置寄存器,看讀出來是哪個通道的值!
上一篇:關(guān)于stm32 hal 庫 iic 一直是 busy 問題
下一篇:[I2C應用實例]STM32+BH1750FVI光強檢測模塊
推薦閱讀
史海拾趣
Aleph America Corporation 是一家專注于光電傳感器和光電開關(guān)解決方案的公司。以下是關(guān)于該公司發(fā)展的5個相關(guān)故事:
公司成立及發(fā)展: Aleph America Corporation 成立于1986年,總部位于美國新澤西州。公司專注于光電傳感器技術(shù)的研發(fā)和生產(chǎn),并提供廣泛的光電開關(guān)產(chǎn)品線,包括光電接近傳感器、光電開關(guān)、光電耦合器等。隨著市場對自動化和安全系統(tǒng)需求的增長,Aleph 在行業(yè)內(nèi)逐漸建立了良好的聲譽。
技術(shù)創(chuàng)新與產(chǎn)品質(zhì)量: Aleph America Corporation 致力于技術(shù)創(chuàng)新和產(chǎn)品質(zhì)量的提升。公司擁有一支專業(yè)的研發(fā)團隊,不斷引入先進的光電傳感技術(shù),并且注重產(chǎn)品的生產(chǎn)工藝和質(zhì)量控制,確保產(chǎn)品具有穩(wěn)定的性能和可靠的品質(zhì)。
應用領域廣泛: Aleph 的產(chǎn)品廣泛應用于各種工業(yè)和商業(yè)應用領域。光電傳感器和光電開關(guān)被廣泛應用于自動門、電梯、安防系統(tǒng)、自動化生產(chǎn)線等領域,為客戶提供了安全可靠的解決方案。
全球市場拓展: 隨著全球市場的不斷擴大,Aleph 在海外市場的拓展也逐漸加強。除了在美國設立總部和生產(chǎn)基地外,公司還在歐洲、亞洲等地設立了銷售辦事處和代理商網(wǎng)絡,以便更好地滿足全球客戶的需求。
參與行業(yè)標準和認證: Aleph America Corporation 積極參與行業(yè)標準的制定和產(chǎn)品認證工作。公司的產(chǎn)品符合國際標準和認證要求,如CE認證、UL認證等,確保產(chǎn)品在全球范圍內(nèi)的市場準入和使用安全。
以上故事展示了 Aleph America Corporation 在光電傳感器和光電開關(guān)領域的發(fā)展歷程和成就,突出了其在技術(shù)創(chuàng)新、產(chǎn)品質(zhì)量、市場拓展和行業(yè)認證方面的重要貢獻。
人才是企業(yè)發(fā)展的根本動力。華瓷深知這一點,因此在人才戰(zhàn)略和團隊建設上投入了大量精力。公司注重員工的培訓和發(fā)展,為員工提供廣闊的發(fā)展空間和良好的職業(yè)前景。同時,華瓷還積極引進國內(nèi)外優(yōu)秀人才,打造了一支高素質(zhì)、專業(yè)化的團隊。這支團隊為公司的發(fā)展提供了有力的支持和保障。
面對海洋環(huán)境的獨特挑戰(zhàn),Contrinex推出了海洋系列傳感器。這些傳感器采用全金屬技術(shù),外殼材質(zhì)為V4A/AISI 316L不銹鋼,防護等級高達IP68/IP69K,能夠抵御惡劣的海洋環(huán)境。同時,該系列傳感器還具備卓越的EMC防護性能,能夠滿足各種海洋應用需求。這一創(chuàng)新產(chǎn)品的推出,進一步鞏固了Contrinex在傳感器行業(yè)的領先地位。
在日本市場,Ettinger同樣取得了巨大的成功。Ettinger Flagship Store位于東京銀座,其年營業(yè)額甚至即將趕超Ettinger在英國倫敦的銷售業(yè)績。這一成就不僅展示了Ettinger在日本市場的受歡迎程度,也體現(xiàn)了品牌在全球范圍內(nèi)的強大競爭力。Ettinger通過不斷拓展海外市場,進一步鞏固了其作為皮具奢侈品牌的地位。
在快速發(fā)展的電子行業(yè)中,Ettinger始終堅持傳統(tǒng)工藝和品質(zhì)至上的原則。公司不僅仍然由Ettinger家族所有,所有的產(chǎn)品制作也依然保持純手工制作,以確保每一件產(chǎn)品都達到最高的品質(zhì)標準。這種對品質(zhì)和工藝的執(zhí)著追求,使得Ettinger在競爭激烈的電子行業(yè)中獨樹一幟,贏得了消費者的信任和尊重。
2005年,埃派克森微電子發(fā)布了一系列USB鼠標控制器芯片,這些產(chǎn)品采用了公司獨創(chuàng)的無晶振鼠標控制技術(shù)和對管免調(diào)技術(shù)。這些專利性的混合信號集成核心技術(shù)不僅為全球鼠標生產(chǎn)廠商提供了高性價比、簡單方便的解決方案,還標志著埃派克森的專利技術(shù)全面進入商用時代。這一突破不僅提升了公司的市場地位,也為公司的后續(xù)發(fā)展注入了強大動力。
2層,做到名片大小是沒問題的, 但必須調(diào)線。 給大家貼個例子, 基本完成的板子 名片大小,功能差不多, 多了lcd控制,cpu換at91sam7s64 咱這個,用兩個名片大小都沒關(guān)系,沒必要做這么小。 我這個有商業(yè)用途,才做這么小的。而且,將來可能 ...… 查看全部問答∨ |
|
1,usb device包含兩個configurations, configuration 1是usb mass storage, configuration 2是一個自定義的function; 2, 默認會被windows識別為usb mass storage; 3, 現(xiàn)在需要切換到configuration2, 我發(fā)了set configuration 可以成功,但是似 ...… 查看全部問答∨ |
廣州單片機之家誠招C程序員兩名(有C++經(jīng)驗更佳): 目前主要從事游戲的設計工作,使用自有的e.Net(e時代的網(wǎng)絡語言,以C++基本語法為主)進行 視頻游戲的開發(fā),開發(fā)出的游戲在自有的從89C51到ARM到PC機各種硬件平臺上隨處可運行.其實 ...… 查看全部問答∨ |
你對變壓器知識了解多少?來吧!有關(guān)變壓器的好資料在這里! 要學電源知識,要做電源產(chǎn)品,變壓器是必須要了解的,那你對變壓器知識了解多少?來吧!這里有個變壓器的好資料 … 查看全部問答∨ |
設計資源 培訓 開發(fā)板 精華推薦
- 中國研究人員發(fā)明全新動作好奇心算法 增強不確定環(huán)境下的自主導航
- 技術(shù)解析|沃爾沃XC70超級混動有什么亮點?
- 小米汽車:磁吸物理按鍵已接入米家,可通過APP操控
- 專家專論 | 顧劍民:L2級輔助駕駛激光雷達“價格歸零”
- 近一個月投資五家!京東密集落子具身智能機器人賽道
- 海外動力電池裝車量TOP10:3家落榜 一新上榜中企暴增逾10倍
- 吉利汽車:全域AI守護輔助駕駛安全
- 松下汽車系統(tǒng)與VicOne深化合作 共拓新一代智能座艙系統(tǒng)安全創(chuàng)新
- 汽車MCU的“芯”浪潮
- 具身智能如何大規(guī)模推廣?丨具身智能機器人高質(zhì)量發(fā)展
- 爆款延續(xù)、高端突破,這半年OPPO“漸變”到底變了什么?
- 路漫漫其修遠兮!中美貿(mào)易沖突能否加速硅晶圓國產(chǎn)化之路?
- 長江存儲公開全新3D NAND架構(gòu),應用產(chǎn)品預計2019年實現(xiàn)量產(chǎn)
- 騰訊首投國內(nèi)AI初創(chuàng)企業(yè),成立僅5月創(chuàng)業(yè)團隊主要來自AMD
- 促進微電子產(chǎn)業(yè)發(fā)展,蕪湖扶持新政:單個項目最高補貼2000萬
- 如何萬用表排查電路板故障
- 使用六位半萬用表測量有哪些技巧
- 中年危機的海爾
- 立訊精密將成富士康強大對手?
- “新繼承人”、“賄賂”……李在镕是否能帶領三星帝國?