资源简介
8025T IIC驱动代码,可以参考一下,IIC驱动的编写及8025T的操作方式

代码片段和文件信息
#include “config.h“
//#include “p33FJ256MC710.h“
/***********************************************************************
** Time: liwenjin 2012.10
** Function:读取rx8025n内部寄存器
** Input:
** Output:
** Attention
***********************************************************************/
UINT16 rx8025_read_regs(BYTE Add BYTE ReadDatatLengthBYTE *Data)
{
BYTE ErrorCode;
// Add=Add<<4;//地址(高4位)加传送模式00(低四位)
IdleI2C(); //Wait for bus Idle
StartI2C(); //Generate Start condition
WriteI2C(0x64); //发送写控制命令0x64
IdleI2C(); //Wait for bus Idle
ErrorCode = ACKStatus(); //Return ACK Status
WriteI2C(Add); //Send High Address
IdleI2C(); //Wait for bus Idle
ErrorCode = ACKStatus(); //Return ACK Status
RestartI2C(); //Generate Restart
WriteI2C(0x65); //发送读控制命令
IdleI2C(); //Wait for bus Idle
ErrorCode = ACKStatus(); //Return ACK Status
getsI2C(DataReadDatatLength); //Read Length number of bytes to Data
NotAckI2C(); //send Not Ack
StopI2C(); //Send Stop Condition
return(ErrorCode);
}
/***********************************************************************
** Time: liwenjin 2012.10
** Function:写rx8025n内部寄存器
** Input: ControlByte Add *wrptr.
** Output: None
** Attention:先发命令地址,再发地址,最后发数据
***********************************************************************/
INT rx8025_write_regs(BYTE AddBYTE WriteDataLengthBYTE *wrptr)
{
BYTE ErrorCode;
// Add=Add<<4;//地址(高4位)加传送模式00(低四位)
IdleI2C(); //wait for bus Idle
StartI2C(); //Generate Start condition
WriteI2C(0x64); //send controlbyte for a write,0x64h
IdleI2C(); //wait for bus Idle
ErrorCode = ACKStatus(); //Return ACK Status
WriteI2C(Add); //send low address
IdleI2C(); //wait for bus Idle
ErrorCode = ACKStatus(); //Return ACK Status
putstringI2C(wrptrWriteDataLength); //send data
IdleI2C(); //wait for bus Idle
StopI2C(); //Generate Stop
return(ErrorCode);
}
/***********************************************************************
** Time: liwenjin 2012.10
** Function:从8025N获取时间
** Input:
** Output: None
** Attention:
***********************************************************************/
BYTE rx8025_get_time(strTIME *get_time)
{
BYTE date[7];
BYTE err;
err = rx8025_read_regs(RX8025_REG_SEC7date);
if (!err)return err; //err为0时表示错误,err=1表示正常接收
get_time->cSecond =(BYTE)bcd2bin(date[RX8025_REG_SEC]&0x7f);
get_time->cMinute =(BYTE)bcd2bin(date[RX8025_REG_MIN]&0x7f);
get_time->cHour = bcd2bin(date[RX8025_REG_HOUR] & 0x3f);
get_time->cDay = bcd2bin(date[RX8025_REG_MDAY] & 0x3f);
get_time->cMonth= bcd2bin(date[RX8025_REG_MONTH] & 0x1f);
get_time->sYear= bcd2bin(date[RX8025_REG_YEAR]);
}
/***********************************************************************
** Time: liwenjin 2012.10
** Function:校正8025N的时间
** Input:
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 14676 2013-05-22 10:54 rx8025.c
文件 1916 2013-04-29 21:16 rx8025.h
----------- --------- ---------- ----- ----
16592 2
相关资源
- DAS1302蜂鸣 独立按键 闹钟设定 IIC存储
- STM32 DS3231驱动.zip
- IIC proteus仿真实验
- STM32F030从机中断接收的iic代码,附带
- STM32使用模拟IIC实现24C02读取
- 0.96OLED_C51系列_IIC应答_例程
- (带有源代码)基于FPGA的模拟I2C接口
- zw_OLED-STM32F4-IIC.zip
- STM32硬件IIC主机例程以读写EEPROM为例
- stm32单片机IIC通讯采集sht20温湿度传感
- 基于IIC的OLED显示程序
- OLED程序例程(STM32_OLED(C8T6))
- stm32f103iic读取AT24XX全系eeprom
- fpga与eeprom通信
- STM32用IIC通信实现OLED显示程序代码及
- ATTINY24A 接收IIC程序控制直流电机
- 基于STM32F103控制16PWM路舵机驱动板PC
- STM8L 硬件IIC主机
- DTH11温湿度显示在IIC_OLED上,好用,自
- STM32 IIC驱动DRV10983
- STM32--IIC通信两个JY-901模块
- WiiCCD Master 3.51 + Wbfs Master 2.15
- 基于FPGA的pcf8591的AD采样程序verilog
- WiiCCD_Master_3.51_+_Wbfs_Master_2.16.rar
- 关于七针0.96寸OLED使用IIC接口的说明
- Verilog IIC读MPU6050-融合滤波-单轴-代码
- STM8程序IAR环境
- 0.96寸OLED+原子STM32F4+IIC通信
- FPGA实现IIC通信.zip
- STM32读取_电量管理芯片_BQ76930芯片电压
评论
共有 条评论