资源简介
PCF8563驱动代码,基于stm32f103,使用软件iic,可读写时间
代码片段和文件信息
#include “bsp_iic.h“
#include “usart.h“
#include “bsp_SysTick.h“
#include
/******************************************************************************
* @file bsp_iic.c
* @author Tanch
* @version V1.0.0
* @date 03/10/2019
* @brief 软件IIC
******************************************************************************/
/******************************************************************************
* @name: IIC_Start
* @param: none
* @note: IIC启动信号
* @retval:none
******************************************************************************/
void IIC_Start(void)
{
SDA_OUT();
PCF8563_SDA(1);
PCF8563_SCL(1);
SysTick_Delay_Us(4);
PCF8563_SDA(0);
SysTick_Delay_Us(4);
PCF8563_SCL(0);
SysTick_Delay_Us(4);
}
/******************************************************************************
* @name: IIC_Stop
* @param: none
* @note: IIC停止信号
* @retval:none
******************************************************************************/
void IIC_Stop(void)
{
SDA_OUT();
PCF8563_SDA(0);
PCF8563_SCL(0);
SysTick_Delay_Us(4);
PCF8563_SCL(1);
PCF8563_SDA(1);
SysTick_Delay_Us(4);
}
/******************************************************************************
* @name: IIC_WaitAck
* @param: none
* @note: IIC等待响应
* @retval:0-正确应答 1-无器件响应
******************************************************************************/
uint8_t IIC_WaitAck(void)
{
uint8_t ucErrTime = 0;
PCF8563_SDA(1);
SDA_IN();
SysTick_Delay_Us(1);
PCF8563_SCL(1);
SysTick_Delay_Us(1);
while(READ_SDA_IN_STATE)
{
ucErrTime++;
if( ucErrTime > 250)
{
IIC_Stop();
return 1;
}
}
PCF8563_SCL(0);
SysTick_Delay_Us(4);
return 0;
}
/******************************************************************************
* @name: IIC_Ack
* @param: none
* @note: 产生一个IIC ARC信号
* @retval:none
******************************************************************************/
void IIC_Ack(void)
{
PCF8563_SCL(0);
SDA_OUT();
PCF8563_SDA(0);
SysTick_Delay_Us(2);
PCF8563_SCL(1);
SysTick_Delay_Us(2);
PCF8563_SCL(0);
}
/******************************************************************************
* @name: IIC_NAck
* @param: none
* @note: 不产生IIC ARC信号
* @retval:none
******************************************************************************/
void IIC_NAck(void)
{
PCF8563_SCL(0);
SDA_OUT();
PCF8563_SDA(1);
SysTick_Delay_Us(2);
PCF8563_SCL(1);
SysTick_Delay_Us(2);
PCF8563_SCL(0);
}
/******************************************************************************
* @name: IIC_Send_Byte
* @param: dat:要发送的8bit数据
* @note: IIC发送数据
* @retval:none
******************************************************************************/
void IIC_Send_Byte(unsigned char dat)
{
uint8_t t;
SDA_OUT();
PCF8563_SCL(0);
for(t=0;t<8;t++)
{
if( (dat&0x80)>>7 )
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1533 2019-03-10 22:25 bsp_iic.h
文件 5599 2019-03-10 22:32 pcf8563.c
文件 1085 2019-03-10 22:31 pcf8563.h
文件 4567 2019-03-10 22:25 bsp_iic.c
相关资源
- STM32并口、串口驱动12864
- STM32F1+PS2+Serial+PWM (KEIL5)
- STM32f103zet6.Schlib 器件原理图 封装 Al
- 基于stm32的血压算法
- STM32F103串口DMA接收
- STM8S003模拟IIC总线读取PCF8563
- STM32 DMA中断模式下ADC多通道数据采集
- 通过PID算法控制STM32的PWM输出
- 1602液晶可靠的4位数据线方式驱动_基
- 嵌入式平台 STM32 libqrencode 移植二维码
- STM32Pack支持包
- 战舰stm32蓝牙开发代码
- 基于STM32的VL53L0X程序源码
- STM32F103C8T6核心板之配套程序源码 -
- 4*4矩阵键盘(方法2) STM32F103
- stm32f105双CAN协议盒PCB板适用于车载
- STM32_DS1302
- STM32HAL库使用NTC热敏电阻读取温度代码
- 实验5 外部中断实验.zip
- stm32f103+Vs1003b例程
- AD Altium Designer STM8 STM32 库
- STM32 两轮平衡车 程序 获取姿态传感器
- STM32F103使用定时器的捕获方式测量车
- STM32F407 步进电机含角度输出Keil代码
- stm32f103代码
- STM32F407 FSMC控制AD7606、SRAM、NOR FLASH
- STM32的GPIO口模拟串口通信.rar
- STM32F4 的DMA程序
- STM32控制电子罗盘彩屏显示角度
- stm32f103c8移植ucosII
评论
共有 条评论