2017/02/07
PSoC で I2C のアドレスをスキャンする方法
[Cypress](http://japan.cypress.com/) PSoC の I2C モジュールを使ってアドレスをスキャンする方法。
こんなの滅多にやらないから、備忘録として。
> 参考
> - [I2C Scan | Cypress Semiconductor](http://japan.cypress.com/forum/psoc-4-architecture/i2c-scan)
```c
bool TestI2CAddress(uint8 address)
{
uint32 status = I2C_I2CMasterSendStart(address,I2C_I2C_READ_XFER_MODE);
I2C_I2CMasterSendStop();
return !status;
}
int main()
{
static uint8 I2C_address;
CyGlobalIntEnable;
I2C_Start();
while(true)
{
for(I2C_address = 0; I2C_address < 0x7F; I2C_address++)
{
if(TestI2CAddress(I2C_address))
{
// I2C_address が存在する
// 出力する等何か処理
}
}
while(true)
{
// Wait
}
}
}
```
0 件のコメント:
コメントを投稿