-Cho e hỏi, khi e debug thử đoạn code lấy data từ DS1307 thì e xem cái mảng e đưa data vào n tùm lum hết.
-CÒn khi e xuất data vào con HC595 để thử hiện số trên con LED thì n chạy sai hết, ban đầu e chỉ bật 1 con LED nhưng khi chạy n lại lên 2 con và hiển thị sai với chữ số mà e muốn hiển thị ban đầu.
Đây là đoạn code của e, e đang chạy thử nghiệm trước đã
#include <msp430.h>
#include"I2C.h"
#include"SPI.h"
/*
* main.c
*/
unsigned int second1,second2;
void read_time(void);
void LED_7(void);
void HC_595(void);
void read_time(void)
{
unsigned char data_rev[7];
i2c_init(0x68);
i2c_read(0x00,7,data_rev);
second1=((data_rev[0] & 0xF0)>>4);
second2=(data_rev[0] & 0x0F);
}
void HC_595(void)
{
unsigned char LED[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
P2OUT |= BIT4;
P1OUT |= BIT3;
Config_SPI_A();
Send_byte_A(LED[(second1-1)],150);
P1OUT &= ~BIT3;
}
void main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
P1SEL|= ~BIT3;
P1SEL2 |= ~BIT3;
P1DIR |= BIT3;
P2SEL &= ~(BIT4+BIT5+BIT6+BIT7);
P2SEL2 &= ~(BIT4+BIT5+BIT6+BIT7);
P2DIR |= BIT4+BIT5+BIT6+BIT7;
while(1)
{
read_time();
HC_595();
}
}
-CÒn khi e xuất data vào con HC595 để thử hiện số trên con LED thì n chạy sai hết, ban đầu e chỉ bật 1 con LED nhưng khi chạy n lại lên 2 con và hiển thị sai với chữ số mà e muốn hiển thị ban đầu.
Đây là đoạn code của e, e đang chạy thử nghiệm trước đã
#include <msp430.h>
#include"I2C.h"
#include"SPI.h"
/*
* main.c
*/
unsigned int second1,second2;
void read_time(void);
void LED_7(void);
void HC_595(void);
void read_time(void)
{
unsigned char data_rev[7];
i2c_init(0x68);
i2c_read(0x00,7,data_rev);
second1=((data_rev[0] & 0xF0)>>4);
second2=(data_rev[0] & 0x0F);
}
void HC_595(void)
{
unsigned char LED[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
P2OUT |= BIT4;
P1OUT |= BIT3;
Config_SPI_A();
Send_byte_A(LED[(second1-1)],150);
P1OUT &= ~BIT3;
}
void main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
P1SEL|= ~BIT3;
P1SEL2 |= ~BIT3;
P1DIR |= BIT3;
P2SEL &= ~(BIT4+BIT5+BIT6+BIT7);
P2SEL2 &= ~(BIT4+BIT5+BIT6+BIT7);
P2DIR |= BIT4+BIT5+BIT6+BIT7;
while(1)
{
read_time();
HC_595();
}
}