欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
RX8080時鐘芯片驅動程序
[打印本頁]
作者:
水漫金山2017
時間:
2017-11-14 13:13
標題:
RX8080時鐘芯片驅動程序
RX8010時鐘驅動程序
0.png
(6.86 KB, 下載次數: 55)
下載附件
2017-11-14 20:31 上傳
單片機源程序如下:
/*
****************************************************************************
FILE : RX8010.c
PURPOSE : the driver of RTC chip "RX-8010SJ"
AUTHOR : Gtw
LOG : 2014-11-28 , create it
****************************************************************************
*/
#define _RX8010_C_
#include ".\main\Header.h"
#if ( RTC_SEL==RTC_RX8010 ) || ( NVMEM_SEL==NVMEM_RX8010 )
#if ( RTC_SEL==RTC_RX8010 )
TIME_t Time;
#endif
#if ( NVMEM_SEL==NVMEM_RX8010 )
NVMEM_t NvMem;
#endif
// 延時
#define DLY_TYPE_CNT 1
#define DLY_TYPE_ASM 2
#define DLY_TYPE DLY_TYPE_ASM
#if ( DLY_TYPE == DLY_TYPE_ASM )
#define delay() { nop(); }
/*
static void delay(void){
asm("nop");
}
*/
#else
static void dly(uint08 cnt){
while( cnt-- );
}
#define delay() { dly(1); }
#endif
/*
**************************************************
函數名 :RX8010_START
目的 :對RX8010產生一個START信號
傳遞參數:無
返回 :IIC總線是否正常,正常返回true,異常返回false
注意,此子程序不支持多主機
**************************************************
*/
bool RX8010_START(void){
bool success = true;
IoDir(RX8010_SCL,GPIO_OUT);
IoWr(RX8010_SCL,GPIO_LO);
delay();
IoDir(RX8010_SDA,GPIO_IN);
delay();
if ( !IoRd(RX8010_SDA) ) success = false; // SDA對地線短路
IoDir(RX8010_SCL,GPIO_IN);
delay();
if ( !IoRd(RX8010_SCL) ) success = false; // SCL對地線短路
IoDir(RX8010_SDA,GPIO_OUT);
IoWr(RX8010_SDA,GPIO_LO);
delay();
IoDir(RX8010_SCL,GPIO_OUT);
IoWr(RX8010_SCL,GPIO_LO);
//delay();
return success;
}
/*
**************************************************
函數名 :RX8010_STOP
目的 :對RX8010產生一個STOP信號
傳遞參數:無
返回 :無
注意,此子程序不支持多主機
**************************************************
*/
void RX8010_STOP(void){
IoDir(RX8010_SCL,GPIO_OUT);
IoWr(RX8010_SCL,GPIO_LO);
delay();
IoDir(RX8010_SDA,GPIO_OUT);
IoWr(RX8010_SDA,GPIO_LO);
delay();
IoDir(RX8010_SCL,GPIO_IN);
delay();
IoDir(RX8010_SDA,GPIO_IN);
delay();
IoDir(RX8010_SCL,GPIO_OUT);
IoWr(RX8010_SCL,GPIO_LO);
//delay();
}
/*
**************************************************
函數名 :RX8010_SEND_BIT
目的 :向RX8010發送一個位
傳遞參數:bit,位的值
返回 :無
注意,如果以傳輸數據為目的,則調用此程序前應保證已經產生了START信號
**************************************************
*/
void RX8010_SEND_BIT(bool bit){
IoDir(RX8010_SCL,GPIO_OUT);
IoWr(RX8010_SCL,GPIO_LO);
delay();
if ( bit ){
IoDir(RX8010_SDA,GPIO_IN);
}else{
IoDir(RX8010_SDA,GPIO_OUT);
IoWr(RX8010_SDA,GPIO_LO);
}
delay();
IoDir(RX8010_SCL,GPIO_IN);
//delay(); // 函數最后的delay()在時鐘較慢的情況下可省略
}
/*
**************************************************
函數名 :RX8010_GET_BIT
目的 :從RX8010讀出一個位
傳遞參數:無
返回 :讀取到的位
注意,調用此程序前應保證已經產生了START信號
**************************************************
*/
bool RX8010_GET_BIT(void){
IoDir(RX8010_SCL,GPIO_OUT);
IoWr(RX8010_SCL,GPIO_LO);
delay();
IoDir(RX8010_SDA,GPIO_IN);
delay();
IoDir(RX8010_SCL,GPIO_IN);
delay();
return IoRd(RX8010_SDA);
}
/*
**************************************************
函數名 :RX8010_SEND_BYTE
目的 :向RX8010發出一個字節
傳遞參數:字節的值
返回 :無
注意,調用此程序前應保證已經產生了START信號
msb first!
**************************************************
*/
void RX8010_SEND_BYTE(uint08 data){
uint08 tmp;
for(tmp=8;tmp>0;tmp--){
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
RX8010.zip
(4.56 KB, 下載次數: 13)
2017-11-14 13:12 上傳
點擊文件名下載附件
RX8010時鐘驅動程序
下載積分: 黑幣 -5
作者:
YYZZ052
時間:
2020-6-13 14:56
謝謝,我用下
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1