PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 06-01-2010, 02:56 PM   #3
thientaisodo
Đệ tử 4 túi
 
Tham gia ngày: Dec 2008
Nơi Cư Ngụ: Hà Tĩnh - Hà Nội
Bài gửi: 61
:
Send a message via Yahoo to thientaisodo
Trích:
Nguyên văn bởi motu View Post
Mình đang test mạch đồng hồ chạy DS1307 theo tut trên PICVIETNAM nhưng không hiểu ý nghĩa đoạn mã sau:
Code:
#INT_EXT
void khoitao()              
   {           
      /*--------- khoi tao hien thi ban dau : SAT, 21-06-2008, 02:25:00 AM --------*/ 
      second = 0;                   //giay:  00.
      minute = 25;                   //phut:  25.
      hour   = 2;                   //gio:   02 (che do 24h).
      day    =  6;                   //thu 7:  SAT (SATUDAY).
      date   = 21;                   //ngay:  21. 
      month  =  6;                   //thang: 06. 
      year   =  8;                   //nam:   08.
      
      i2c_start();
      i2c_write(0xD0);               //den dia chi ds1307.
      i2c_write(0x00);               //den dia chi thanh ghi 00H.
      i2c_write(write(second));      
      i2c_write(write(minute));      
      i2c_write(write(hour));        
      i2c_write(write(day));         
      i2c_write(write(date));        
      i2c_write(write(month));       
      i2c_write(write(year));        
      i2c_start();
      i2c_write(0xD0);
      i2c_write(0x07);               //den thanh ghi dieu khien.
      i2c_write(0x10);               //tao xung vuong 1Hz.
      i2c_stop();
   }
để đoạn mã trên thì lúc dịch CCS báo:
>>>Warning 216 "code.c" Line210(0,1):Interrupts disabled during call to prevent re-entrancy: (@MUL88)
>>>Warning 216 "code.c" Line210(0,1):Interrupts disabled during call to prevent re-entrancy: (@DIV88)
>>>Warning 216 "code.c" Line210(0,1):Interrupts disabled during call to prevent re-entrancy: (@2C_WRITEU_1)

Mạch không chạy, bỏ đoạn mã đi thì CCS không báo gì, mạch chạy mới chết chứ, anh e nào từng viết code cho DS1307 giúp mình với.
Nhân tiện cho mình hỏi, mình đang làm cái đồng hồ hẹn giờ tắt mở đèn cho hồ cá, không biết các giá trị thời gian tắt, mở đèn có thể lưu ở đâu để cúp điện không mất dữ liệu, mình thấy trong con DS1307 từ địa chỉ 08h trở đi là RAM không biết sử dụng nó được không.
Chúc cả nhà cuối tuần vui vẻ!
Đó là ngắt từ phím bấm bên ngoài để setup time cho ds, nhưng mà khai báo sai rồi, ví dụ
second = 0x00; //giay: 00.
minute = 0x25; //phut: 25.
hour = 0x02; //gio: 02 (che do 24h).
day = 0x07; //thu 7: SAT (SATUDAY).
date = 0x21; //ngay: 21.
month = 0x06; //thang: 06.
year = 0x08; //nam: 08.

nếu muốn khai báo kiểu như bạn thì phải convert từ số DEC sang số BCD.
Còn khi dịch chương trình, bạn chỉ cần quan tâm đến errers thôi, còn các warning thì kệ nó
thientaisodo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 02:41 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam