i2c通信 msp430g2553_msp430g2553的IIC通信
SCCB_Stop();
if(!SCCB_Start())
{
//return 0;
}
SCCB_SendByte( DEV_ADR + 1 );? ? ? ? ? ? ? ?/* 器件地址 */
if(!SCCB_WaitAck())
{
//SCCB_Stop();
//return 0;
}
while(length)
{
*pBuffer = SCCB_ReceiveByte();
if(length == 1)
{
SCCB_NoAck();
}
else
{
SCCB_Ack();
}
pBuffer++;
length--;
}
SCCB_Stop();
return 1;
}
/*
* IIC.h
*
*? Created on: 2017年11月25日
*? ? ? Author: Admin
*/
#ifndef IIC_H_
#define IIC_H_
#include "common.h"
#define CPU_F ((double)8000000)? ?//外部高頻晶振8MHZ
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
#define SCCB_DELAY()? ? delay_us(1)
#define DEV_ADR 0x90//設(shè)備地址
extern void SCCB_GPIO_init(void);
extern int SCCB_WriteByte( uint16 WriteAddress , uint8 SendByte);
extern int SCCB_ReadByte(uint8 *pBuffer,? ?uint16 length,? ?uint8 ReadAddress);
#endif /* IIC_H_ */
在主函數(shù)里面初始化一下時鐘再調(diào)用一下SCCB_GPIO_init();之后就可以用SCCB_ReadByte和SCCB_WriteByte進(jìn)行單字節(jié)的IIC通信了
SCCB_WriteByte
SCCB_WriteByte
[1] [2]
總結(jié)
以上是生活随笔為你收集整理的i2c通信 msp430g2553_msp430g2553的IIC通信的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Enterprise Library 2
- 下一篇: 想写总结,却变成了胡诌。。。