当前位置: 首页> 游戏> 评测 > 手机浏览器直接输入网址_企业简介模板ppt免费_如何让百度能查到自己_怎么做微信推广和宣传

手机浏览器直接输入网址_企业简介模板ppt免费_如何让百度能查到自己_怎么做微信推广和宣传

时间:2025/7/14 19:05:16来源:https://blog.csdn.net/weixin_42401119/article/details/143083844 浏览次数:0次
手机浏览器直接输入网址_企业简介模板ppt免费_如何让百度能查到自己_怎么做微信推广和宣传

写波形

读波形

IIC_IO.c

#include "iic_io.h"typedef union 
{u8 	R_DATA8[4];u16 R_DATA16[2];u32 R_DATA32;
}UN_32BIT;void IIC_Delay()//250KHz
{u8 i=30;while(i)i--;
}void IIC1_Start(void)
{IIC1_SDA_I();IIC_Delay();IIC1_SCK_H();IIC_Delay();IIC1_SDA_L();IIC1_SDA_O();IIC_Delay();IIC1_SCK_L();
}
void IIC1_Stop(void)
{IIC1_SDA_O();IIC1_SDA_L();IIC_Delay();IIC1_SCK_H(); IIC_Delay();IIC1_SDA_I();
}u8 IIC1_Wait_Ack(void)
{u8 ucErrTime=0;IIC1_SDA_I();IIC_Delay();IIC1_SCK_H();while(IIC1_SDA_D()){ucErrTime++;if(ucErrTime>100)return 1;}IIC1_SCK_L();return 0;  
} void IIC1_Ack(u8 AK)
{IIC1_SDA_O();if(AK)IIC1_SDA_H();elseIIC1_SDA_L();IIC_Delay();IIC1_SCK_H();IIC_Delay();IIC1_SCK_L();
}u8 IIC1_Send_Byte(u8 data)
{       u8 i=8,temp=0;u8 ack=0;while(i--){IIC1_SCK_L();IIC_Delay();temp=data&0x80;if(temp)IIC1_SDA_I();else{IIC1_SDA_L();IIC1_SDA_O();}IIC_Delay();data <<= 1;IIC1_SCK_H();IIC_Delay();}IIC1_SCK_L();IIC_Delay();ack=IIC1_Wait_Ack();return ack;
}u8 IIC1_Read_Byte(u8 ack)
{u8 i=8,data=0;IIC1_SCK_L();IIC_Delay();IIC1_SDA_I();IIC_Delay();IIC1_SDA_I();IIC_Delay();IIC_Delay();data=0;while(i--){data <<= 1;IIC1_SCK_H();IIC_Delay();if(IIC1_SDA_D())data = data | 0x01;elsedata = data & 0xFE;IIC1_SCK_L();IIC_Delay();}IIC1_Ack(ack);return data;
}u8 IIC1_TXBUFF[10]={0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x10};
u8 IIC1_RXBUFF[10]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};u8 IIC1_WriteLen(u8 Device_Address,u32 Register_Address,u8 RA_Len,u8 *Txbuff,u8 TxLen)
{  	u8	i;u8	ACK=0;UN_32BIT Addr;Addr.R_DATA32=Register_Address;IIC1_Start();ACK|=IIC1_Send_Byte(Device_Address);switch(RA_Len){case 0x04:ACK|=IIC1_Send_Byte(Addr.R_DATA8[3]);case 0x03:ACK|=IIC1_Send_Byte(Addr.R_DATA8[2]);case 0x02:ACK|=IIC1_Send_Byte(Addr.R_DATA8[1]);case 0x01:ACK|=IIC1_Send_Byte(Addr.R_DATA8[0]);break;default:  ACK|=IIC1_Send_Byte(Addr.R_DATA8[0]);break;}for(i=0;i<TxLen;i++){ACK|=IIC1_Send_Byte(Txbuff[i]);if(ACK)break;}IIC1_Stop();return	ACK;
}u8 IIC1_ReadLen(u8 Device_Address,u32 Register_Address,u8 RA_Len,u8 *Rxbuff,u8 RxLen)
{  	u8	i;u8	ACK=0;UN_32BIT Addr;Addr.R_DATA32=Register_Address;IIC1_Start();ACK|=IIC1_Send_Byte(Device_Address);switch(RA_Len){case 0x04:ACK|=IIC1_Send_Byte(Addr.R_DATA8[3]);case 0x03:ACK|=IIC1_Send_Byte(Addr.R_DATA8[2]);case 0x02:ACK|=IIC1_Send_Byte(Addr.R_DATA8[1]);case 0x01:ACK|=IIC1_Send_Byte(Addr.R_DATA8[0]);break;default:  ACK|=IIC1_Send_Byte(Addr.R_DATA8[0]);break;}IIC1_Start();ACK|=IIC1_Send_Byte(Device_Address|0x01);if(!ACK){for(i=0;i<RxLen-1;i++){Rxbuff[i]=IIC1_Read_Byte(0);}Rxbuff[i]=IIC1_Read_Byte(1);}IIC1_Stop();return	ACK;
}

IIC_IO.h

#ifndef IIC_IO_H
#define IIC_IO_H#include "user_define.h"
//#include <stdbool.h>
#include "gpio.h"#define IIC1_SCK_GPIO_PORT 	GPIOA
#define IIC1_SDA_GPIO_PORT 	GPIOA
#define IIC1_SCK_PIN		GPIO_PIN_3
#define IIC1_SDA_PIN		GPIO_PIN_2#define IIC1_SDA_H()		IIC1_SDA_GPIO_PORT->PBSC 	= IIC1_SDA_PIN
#define IIC1_SDA_L()		IIC1_SDA_GPIO_PORT->PBC  	= IIC1_SDA_PIN
#define IIC1_SDA_I()		IIC1_SDA_GPIO_PORT->PMODE	= IIC1_SDA_GPIO_PORT->PMODE & 0xFFFFFFCF
#define IIC1_SDA_O()		IIC1_SDA_GPIO_PORT->PMODE	= (IIC1_SDA_GPIO_PORT->PMODE & 0xFFFFFFCF)|0x00000010
#define IIC1_SDA_D()		GPIO_Input_Pin_Data_Get(IIC1_SDA_GPIO_PORT,IIC1_SDA_PIN)#define IIC1_SCK_H()		IIC1_SCK_GPIO_PORT->PBSC 	= IIC1_SCK_PIN
#define IIC1_SCK_L()		IIC1_SCK_GPIO_PORT->PBC  	= IIC1_SCK_PINextern u8 IIC1_WriteLen(u8 Device_Address,u32 Register_Address,u8 RA_Len,u8 *Txbuff,u8 TxLen);
extern u8 IIC1_ReadLen(u8 Device_Address,u32 Register_Address,u8 RA_Len,u8 *Rxbuff,u8 TxLen);
extern u8 IIC1_TXBUFF[10];
extern u8 IIC1_RXBUFF[10];#endif

关键字:手机浏览器直接输入网址_企业简介模板ppt免费_如何让百度能查到自己_怎么做微信推广和宣传

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: