DS12C887.h文件
- //DS12C887.h
- #ifndef _DS12C887_H_
- #define _DS12C887_H_
- extern void C887_write(uint8 add,uint8 datum); //錯誤在這行
- extern uint8 C887_read(uint8 add); //錯誤在這行
- extern void C887_init();
- extern void GetTime();
- #endif
復制代碼
DS12C887.c文件:
- //DS12C887.c
- #include"STC89C52RC.h"
- #include"MacroAndConst.h"
- #include"DS12C887.h"
- void C887_write(uint8 add,uint8 datum);
- uint8 C887_read(uint8 add);
- void C887_init();
- void GetTime();
- void C887_write(uint8 add,uint8 datum)
- {
- C887CS=0;
- C887AS=1;
- C887DS=1;
- C887RW=1;
- C887BUS=add;
- C887AS=0;
- C887RW=0;
- C887BUS=datum;
- C887RW=1;
- C887AS=1;
- C887CS=1;
- C887BUS=0xFF;
- }
- uint8 C887_read(uint8 add)
- {
- uint8 datum;
- C887AS=1;
- C887DS=1;
- C887RW=1;
- C887CS=0;
- C887BUS=add;
- C887AS=0;
- C887DS=0;
- C887BUS=0xff;
- datum=C887BUS;
- C887DS=1;
- C887AS=1;
- C887CS=1;
- C887BUS=0xFF;
- return datum;
- }
- void C887_init()
- {
- C887_write(0x0A,0x20); //打開振蕩器
- C887_write(0x0B,0x22); //啟動鬧鐘中斷,二進制格式,24小時制
- }
- void GetTime()
- {
- year=C887_read(0x09);
- month=C887_read(0x08);
- day=C887_read(0x07);
- week=C887_read(0x06);
- hour=C887_read(0x04);
- minute=C887_read(0x02);
- second=C887_read(0x00);
- }
復制代碼
KEIL編譯,報錯:
compiling main.c...
CODE\DS12C887.H(5): error C141: syntax error near 'add', expected ')'
CODE\DS12C887.H(6): error C129: missing ';' before 'C887_read'
但凡有#include"DS12C887.h"的文件均報上述的錯誤。實在不知道哪里錯了,求糾正。 |