線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1790
推到 Plurk!
推到 Facebook!

CC2430對DS1302的控制

尚未結案
現在想見妳
一般會員


發表:3
回覆:11
積分:2
註冊:2009-08-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-09-30 21:37:26 IP:163.21.xxx.xxx 訂閱
好久沒有上來發問題了,最近又遇上了問題,
之前發過8051控制DS1302的文,
後來也順利解決了,現在問題來了,
我要用CC2430來控制這個DS1302,
我用之前在8051上的CODE來修改(確定在0851是可以動作的),
可是現在用在CC2430上卻無法順利動作,
我想DS1302的電路是沒問題的,
附上現在用的DS1302的程式碼:
[code cpp]
#include
#define RST P0_2
#define IO P0_3
#define SCLK P0_4

//************************************************************
void writeRTCdata(unsigned char d)
{
P0DIR = 0x0E;
unsigned char i;
for( i = 0; i < 8; i )
{
if( d & 0x01 )
{
IO = 1;
}
else
{
IO = 0;
}
d = d >> 1;
SCLK = 1;
SCLK = 0;
}
}
//************************************************************
void writeDS1302(unsigned char wAd,unsigned char dat)
{
RST = 0;
SCLK = 0;
IO = 0;
RST = 1;
writeRTCdata(wAd);
writeRTCdata(dat);
SCLK = 1;
RST = 0;
}
//************************************************************
void ProtectCode(int b)//0 禁止寫入 1 致能寫入
{
if( b )
{
writeDS1302(0x8e,0x00);
}
else
{
writeDS1302(0x8e,0x80);
}
}
//************************************************************
unsigned char ReadRTCdata(void)
{
P0DIR = 0x0A;
unsigned char i,Ti=0;
for( i = 0; i < 8; i )
{
if( IO )
{
Ti = Ti |0x80;
}
Ti = Ti >> 1;
SCLK = 0;
SCLK = 1;
}
return ( Ti );
}
//************************************************************
unsigned char ReadDS1302(unsigned char rAd)
{
unsigned char T;
RST = 0;
SCLK = 0;
IO = 1;
RST = 1;
writeRTCdata(rAd);
T = ReadRTCdata();
SCLK = 1;
RST = 0;
return T;
}
//************************************************************
void SetDS1302(void)
{
RST = 0;
SCLK = 0;
ProtectCode(1);
writeDS1302(0x80,0x55);
writeDS1302(0x82,0x58);
writeDS1302(0x84,0x23);
writeDS1302(0x86,0x30);
writeDS1302(0x88,0x09);
writeDS1302(0x8a,0x03);
writeDS1302(0x8c,0x09);
ProtectCode(0);
}

[/code]

taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-10-05 18:51:42 IP:122.116.xxx.xxx 訂閱
通常寫韌體是需要搭配示波器來觀察訊號的,你可以看一下訊號timing是否OK
系統時間:2024-05-06 19:55:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!