资源简介
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
相关资源
- STM32F103RC+ADC+DMA多通道采样LCD显示
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- DAS1302蜂鸣 独立按键 闹钟设定 IIC存储
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
评论
共有 条评论