[問題] 關於SPI的Register
各位先進好
我想請問這個function的運作
這個是SPI的reset
void spi_module_reset(void)
{
BIU *regBiuPtr = (BIU *) BIU_BASE;
BYTE tmp;
// Reset SPI
regBiuPtr->BiuArst |= ARST_SPI;
regBiuPtr->BiuArst &= ~ARST_SPI;
for (tmp = 0; tmp < 0x10; tmp++);
regBiuPtr->BiuArst |= ARST_SPI;
}
#define ARST_SPI 0X00040000
#define BIU_BASE (REGISTER_BASE + 0x00008000)
typedef struct{
volatile DWORD BiuArst; // 0x00
volatile DWORD BiuSrst; // 0x04
volatile DWORD BiuChid; // 0x08
volatile DWORD BIU_STRAP_CFG; // 0x0c
} BIU;
這是一個SPI的reset function 我想請問,
如果最後,regBiuPtr->BiuArst為0X00040000時,這代表在SPI的reset的Register為
0X00040000,使得SPI被reset嗎?
但我在SPEC裡郤找不到SPE的reset的Register.. = =
謝謝大家看完.. <(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.4.173
推
12/03 18:02, , 1F
12/03 18:02, 1F
→
12/03 18:04, , 2F
12/03 18:04, 2F
→
12/03 18:06, , 3F
12/03 18:06, 3F
→
12/03 18:07, , 4F
12/03 18:07, 4F
推
12/05 10:11, , 5F
12/05 10:11, 5F