• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::


Browsing this Thread:   1 Anonymous Users






PIC18F4550 MSSP I2C V.S MCP9801
#1
新會員
新會員


查看用戶資訊
請教版上的高手們,

目前手邊利用PIC18F4550 與MCP9801通訊,遇到一個問題~
我是使用master mode ~ mcp9801 address 為000
//I2C 通訊初使化
OpenI2C(MASTER,SLEW_ON);
SSPADD= 63; //baudrate 100KHz (Crystal :20MHz)

目前我設定mcp9801為12bit 解析,寫入動作ok,也得到slave ACK回應(由示波器上得知)~

問題出在於,當我要讀取2BYTES溫度資料時,
我使用
unsigned char Buf2[2];
union Byte2Int{ unsigned char A[2];
unsigned int B;
} Temp;//Temp.B 為合併值

IdleI2C(); // ensure module is idle
StartI2C();// Start condition
I2C_Done();
WriteI2C(0x90);
while(SSPCON2bits.ACKSTAT);
I2C_Done();// Clear SSPIF flag
WriteI2C(0x00);// 指定至溫度暫存器
while(SSPCON2bits.ACKSTAT); // wait until received the Acknowledge from MCP9801
I2C_Done();
RestartI2C(); //送出Restart訊號
I2C_Done();
WriteI2C(0x91); // 設定為讀出模式
while(SSPCON2bits.ACKSTAT);
SSPCON2bits.ACKEN = 1;
I2C_Done();
SSPCON2bits.RCEN = 1;
getsI2C(Buf2,2);
Temp.A[1] = Buf2[0];
Temp.A[0] = Buf2[1];
NotAckI2C();
I2C_Done();
StopI2C(); // Stop condition
I2C_Done(); // Wait the Stop condition co
return (Temp.B); //回傳12bits溫度值,放置在Temp.B
Temp.B >> 4;
Temp.B*0.0625 = 實際溫度

但目前我得到的溫度值並不正確(9801有回傳溫度資料),問題似乎是出現在I2C連續讀取2BYTES的格式寫法,請教版上的高手~用I2C連續讀取2BYTES的資料語法應為何??

發表於: 2009/2/21 2:06
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------