请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430G2210 工具/软件:Code Composer Studio
我编写了一个用于 softi2c 的简单代码。 初始化、启动和发送字节工作正常。 直到我将发送字节代码打包到函数中。
如果 SEND 字节函数不是单独进行的,而是粘贴在 main()中,则它有效,并且 A0被成功发送。
但是、一旦我将其打包到函数中、我就会遇到以下错误:
错误#148:声明与"void i2c_send_Byte()"不兼容
CCSv5
#include "msp430g2210.h" #define SDA BIT2 #define SCL BIT5 void init_i2c (); void i2c_start(); void i2c_send_BYTE (A0); void main (void) { WDTCTL = WDTPW + WDTHOINIT;//停止看门狗计时器 init_i2c (); iend_yA0 (A0);i2c (A0);i2c (A0);while (A0)/i2c (A0)/iend_start (A0) //永远等待 } void init_i2c () { P1DIR |=(SDA + SCL);//将 P2.2和 P2.3设置为输出方向 } void i2c_start() { P1OUT |=(SDA + SCL); __DELAY_CYCLES (5); P1OUT &=~SDA; // SDA=1->0 while SCL=1 } void i2c_send_BYTE (unsigned char byte) { unsigned char i、tmp; //要用于循环的变量 for (i=0;i<8;i++) //对每个位重复执行 { P1OUT &=~SCL; _DELAY_CYCLES (1); tmp=(((byte<