贊助廠商

娛樂城推薦

首頁

刊登資訊

  • 刊登者:匿名
  • 時間:2021-06-08 18:40:14

尚未解答組合語言- BQ40Z80 SMBus通訊問題

組合語言- BQ40Z80 SMBus通訊問題

各位前輩好,小弟目前有需求用TI BQ40Z80做為電源管理系統,然後用stm32 MCU來讀取電池的資訊,由於BQ40Z80是走SMBus通訊協定

上網爬文發現STM32硬體上支援SMBus是乎有問題,大部份文章都是說明用軟體方式模擬
SMBus時序來讀取,於是便參考其方式撰寫軔體,程式碼如下

u8 bq40z80_Get_voltage(u8 address,char* buff)
{
SMbus_Start();
SMbus_Send_Byte(0x16);
GPIO_SetBits(GPIOB,GPIO_Pin_11); // SDA_H
SMbus_Wait_Ack();
SMbus_Send_Byte(0x09);
GPIO_SetBits(GPIOB,GPIO_Pin_11); // SDA_H
Delay_us(80);
SMbus_Wait_Ack();
SMbus_Start();
SMbus_Send_Byte(0x17);
GPIO_SetBits(GPIOB,GPIO_Pin_11); // SDA_H
SMbus_Wait_Ack();

*(buff+0) = SMbus_Read_Byte(1);
*(buff+1) = SMbus_Read_Byte(1);
*(buff+2) = SMbus_Read_Byte(1);

SMbus_Stop();
}

在測試過程中傳送Device Addresshoo和ComCode BQ40Z80EVM開發板都有回ACK,但是最後資料回傳都是0,小弟一直無法解決此問題,是否能有高手能幫忙小弟,非常感謝!

https://imgur.com/CTAgU5ihttps://imgur.com/nUoBiiwMSP430回傳
https://imgur.com/iQWYk3C--

0個答案 組合語言- BQ40Z80 SMBus通訊問題

其他問題

友站連結