资源简介
基于STM32的实时时钟芯片SD2405的操作;
代码片段和文件信息
#include “stm32f10x.h“
#include “I2C_SD2405.h“
/******************************************************************************
函数说明:初始化I2C总线
******************************************************************************/
void I2C_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
I2C_InitTypeDef I2C_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB ENABLE);//使能IO时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C2 ENABLE);//使能I2C外设时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
GPIO_Init(GPIOB &GPIO_InitStructure);
I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;//设置 I2C为 I2C模式
I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;//I2C快速模式 Tlow / Thigh = 2
I2C_InitStructure.I2C_OwnAddress1 = I2C1_SLAVE_ADDRESS7;//设置第一个设备地址
I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;//使能应答
I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;//应答 7位地址
I2C_InitStructure.I2C_ClockSpeed = I2C_Speed;//设置时钟频率
/* I2C Peripheral Enable */
//I2C_Cmd(I2C1 ENABLE);//使能I2C外设
/* Apply I2C configuration after enabling it */
I2C_Init(I2C2 &I2C_InitStructure);
}
/******************************************************************************
函数说明:将一个字节高位与低位互换
******************************************************************************/
u8 HtoL(u8 data)
{
u8 ret = 0;
u8 i;
for(i = 0;i < 8;i++)
{
ret <<= 1;
if(data & 0x01)
{
ret |= 1;
}
data >>= 1;
}
return ret;
}
/******************************************************************************
函数说明:BCD码转10进制
******************************************************************************/
u8 BCDtoBIN(u8 data)
{
u8 ret = 0;
ret = (data >> 4) * 10 + (data & 0x0f);
return ret;
}
/******************************************************************************
函数说明:10进制转BCD码
******************************************************************************/
u
- 上一篇:看雪《加密与解密》第四版随书光盘
- 下一篇:register_vugen.bat文件
相关资源
- 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卡文件
- 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
- 基于STM32芯片的SX1278 驱动 LORA.rar
评论
共有 条评论