⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text2.c

📁 几个关于lpc2103开发板的keil例程
💻 C
字号:
#include<stdio.h>
#include<lpc2103.h>
#define f (15000000/115200/16)
void init()
{
	PINSEL0=(PINSEL0&(~0xff))|0x55;
	I2C0CONCLR=0x2c;
	I2C0CONSET=0x40;
	I2C0SCLH=15000000/200000/2;
	I2C0SCLL=15000000/200000/2;
//	I2C0SCLH=16;
//	I2C0SCLL=16;

//	PINSEL0=(PINSEL0&(~0x0f))|0x05;
	U0FCR=0x7;
	U0LCR=0x83;
	U0DLL=f%256;
	U0DLM=f/256;
	U0LCR=0x3;

}
void send1(int adr1)
{
	I2C0CONSET=0x20;		   
	while((I2C0CONSET&(0x08))==0x00);		  //发送起始位 进入主发送
	I2C0DAT=adr1;							  //发送要写入的地址
	I2C0CONCLR=0x08;						  //SI清零
	while((I2C0CONSET&(0x08))==0x00);		  //等待发送完毕
	while(I2C0STAT!=0x18);	
}
void send2(int adr2)
{
	I2C0DAT=adr2;							  //装入要发送的数据(可以为二级地址)
	I2C0CONCLR=0x28;						  //STA位必须清零,SI位清零	
	while((I2C0CONSET&(0x08))==0x00);
	while(I2C0STAT!=0x28);		
//	while(I2C0STAT!=0x28);
//	I2C0CONSET=0x10;						  //此句可有可无
//	I2C0CONCLR=0x28;
//	while((I2C0CONSET&(0x08))==0x00);
}
char receiv1()
{
	char s;
	I2C0CONCLR=0x08;
	I2C0CONSET=0x20;						   //重新发送起始位进入主接收
	while((I2C0CONSET&(0x08))==0x00);
	I2C0DAT=0xa1;							   //装入要接收的地址
	I2C0CONCLR=0x08;
	while((I2C0CONSET&(0x08))==0x00);
	while(I2C0STAT!=0x40);
	 I2C0CONCLR=0x28;						   //STA位和SI位清零
	 I2C0CONSET=0x04;
	 while((I2C0CONSET&(0x08))==0x00);		   //等待接收寄存器满
	s=I2C0DAT;
	return s;
}
 char receiv2()
{
	char s;
	I2C0CONCLR=0x08;
	while((I2C0CONSET&(0x08))==0x00);
	s=I2C0DAT;
	I2C0CONSET=0x10;
 	I2C0CONCLR=0x48;						   //关闭总线
	return s;
}
void uartsend(char q)
{
	U0THR=q;
	while((U0LSR&0x40)==0);
}
int main()
{
	char str[2]={0};
	init();
	send1(0xa0);
	send2(0x02);
	str[0]=receiv1();
//	str[1]=receiv2();
	uartsend(str[0]);
//	uartsend(str[1]);
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -