IIC调试程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IIC调试程序

IIC调试程序 //头文件定义 #include MSP430F149.h //定义管脚 #define SCL BIT5 #define SDA BIT4 //定义函数 void Delay_ms(unsigned long nValue); void Init_CLK(void); void I2C_Initial(void); void I2C_Set_sda_high(void); void I2C_Set_sda_low (void); void I2C_Set_sck_high(void); void I2C_Set_sck_low (void); void I2C_START(void); void I2C_STOP(void); void I2C_SendByte(char); char I2C_RecByte(void); void I2C_SetACK(void); int I2C_GetACK(void); int WriteByte(char nAddr,char nValue); int WritePage(char nAddr,char pBuf[8]); int ReadByte(char nAddr, char *nValue); int ReadSeq(char nAddr, char *nValue, int nLen); //延时函数 void Delay_us(unsigned long nValue)//微秒为单位,8MHz为主时钟 { int nCount; int i; int j; nCount = 3; for(i = nValue;i 0;i--) { for(j = nCount;j 0;j--); } return; } void Delay_ms(unsigned long nValue)//毫秒为单位,8MHz为主时钟 { unsigned long nCount; int i; unsigned long j; nCount =2667; for(i = nValue;i 0;i--) { for(j = nCount;j 0;j--); } } /* for(nCount=0;nCountnValue;nCount++) { _NOP(); _NOP(); _NOP(); _NOP(); _NOP(); _NOP(); _NOP(); _NOP(); _NOP(); _NOP(); }*/ void _Nop() { _NOP(); _NOP(); _NOP(); _NOP(); } //时钟的初始化 void Init_CLK(void) { unsigned int i; BCSCTL1 = 0X00; //将寄存器的内容清零 //XT2震荡器开启 //LFTX1工作在低频模式 //ACLK的分频因子为1 do { IFG1 = ~OFIFG; // 清除OSCFault标志 for (i = 0x20; i 0; i--); } while ((IFG1 OFIFG) == OFIFG); // 如果OSCFault =1 BCSCTL2 = 0X00; //将寄存器的内容清零 BCSCTL2 += SELM1; //MCLK的时钟源为TX2CLK,分频因子为1 BCSCTL2 += SELS; //SMCLK的时钟源为TX2CLK,分频因子为1 } //I2C的初始化定义 void I2C_Initial( void ) { P1DIR |= BIT5; //将SCL管脚(P1.5)设置为输出管脚 I2C_Set_sck_low(); I2C_STOP(); Delay_ms(10); return; } //将SDA设置为输出模式且输出为高电平 void I2C_Set_sda_high( void ) { P1DIR |= SDA; P1OUT |= SDA; _NOP(); _NOP(); return; } //将SDA设置为输出模式且输出为低电平 void I2C_Set_sda_low ( void ) { P1DIR |= SDA;

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档