dangkhoa913
Trứng gà
các a chị cho e hỏi là khi giao tiếp I2C muốn sử dụng điện trở nội kéo lên thì thì các chân P1.6 và P1.7 phải cấu hình như thế nào ?
e sử dụng thư viện I2C của CLB để giao tiếp I2C với SRF10 nhưng sau chương trình cứ bị dừng ngay vòng while(IFG2..
đây là code trong ct main mong a chị giúp đở
#include <msp430g2553.h>
#include "Basic_config.h"
#include "I2C.h"
unsigned char datawr[]={0x51};
unsigned char datarev[3];
void main()
{
Config_stop_WDT();
Config_Clocks();
//lcd_init ();
P1DIR |=BIT0;
P1OUT &=~BIT0;
P1DIR |= BIT6 + BIT7 ; // Set SCL, SDA as Output
P1REN |= BIT6 + BIT7; // enable Pull-Ups or down on SCL and SDA
P1OUT |= BIT6 + BIT7; // Set Pull-Ups on SCL and SDA
i2c_init(0xE0);
i2c_write(0x00,1,datawr);
__bis_SR_register(GIE);
while (1)
{
i2c_read(0X2,2,datarev);
P1OUT |=BIT0;
}
}
/******************************************************************************
* END OF UART_LCD_main.c
*****************************************************************************/
e sử dụng thư viện I2C của CLB để giao tiếp I2C với SRF10 nhưng sau chương trình cứ bị dừng ngay vòng while(IFG2..
đây là code trong ct main mong a chị giúp đở
#include <msp430g2553.h>
#include "Basic_config.h"
#include "I2C.h"
unsigned char datawr[]={0x51};
unsigned char datarev[3];
void main()
{
Config_stop_WDT();
Config_Clocks();
//lcd_init ();
P1DIR |=BIT0;
P1OUT &=~BIT0;
P1DIR |= BIT6 + BIT7 ; // Set SCL, SDA as Output
P1REN |= BIT6 + BIT7; // enable Pull-Ups or down on SCL and SDA
P1OUT |= BIT6 + BIT7; // Set Pull-Ups on SCL and SDA
i2c_init(0xE0);
i2c_write(0x00,1,datawr);
__bis_SR_register(GIE);
while (1)
{
i2c_read(0X2,2,datarev);
P1OUT |=BIT0;
}
}
/******************************************************************************
* END OF UART_LCD_main.c
*****************************************************************************/