C15_giuakhoa_Code bị lỗi

Vu_dinh

Thành Viên PIF
-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();

}

}
 

Fujiko

Thành Viên PIF
Về phần code, thì các hàm config (như config i2c, spi, IO) mình chỉ gọi 1 lần, không lặp lại trong while(1).
read data từ DS1307 thì em thử read 1 lần 8byte xem sao?
Em có VOM không? Đo thử các chân kích led và data xuất ra led có bị dính chỗ nào không?
 

Vu_dinh

Thành Viên PIF
Về phần code, thì các hàm config (như config i2c, spi, IO) mình chỉ gọi 1 lần, không lặp lại trong while(1).
read data từ DS1307 thì em thử read 1 lần 8byte xem sao?
Em có VOM không? Đo thử các chân kích led và data xuất ra led có bị dính chỗ nào không?
-Em phát hiện con Led 7 với HC595 bị hư nên em đã thay.
Sau đó cho chạy thử chương trình for() cho LEd hiển thị số 0-->9 thì nó chạy, nhưng các chữ số thì bị thiếu cạnh nhìn không ra gì cả.
-Cái VOM là s a?
 

Fujiko

Thành Viên PIF
-Em phát hiện con Led 7 với HC595 bị hư nên em đã thay.
Sau đó cho chạy thử chương trình for() cho LEd hiển thị số 0-->9 thì nó chạy, nhưng các chữ số thì bị thiếu cạnh nhìn không ra gì cả.
-Cái VOM là s a?
VOM là cái đồng hồ đo á em.
Tình trạng Led bị thiếu cạnh có thể là do đường data nối từ 595 đến led7 đoạn bị đứt 1 vài dây. Em xem thử nó bị thiếu những cạnh nào, rồi dùng đồng hồ đo, kiểm tra các mối hàn.
 

Vu_dinh

Thành Viên PIF
VOM là cái đồng hồ đo á em.
Tình trạng Led bị thiếu cạnh có thể là do đường data nối từ 595 đến led7 đoạn bị đứt 1 vài dây. Em xem thử nó bị thiếu những cạnh nào, rồi dùng đồng hồ đo, kiểm tra các mối hàn.
E kiểm tra led của e vẫn còn tốt, cảm thấy xuất data bị lỗi á a.
Đường SPI có bị s hk a?
 
Top