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

📄 sc16is系列控制经验.txt

📁 本代码为SPI/I2C转双串口驱动程序。开发环境为Keil c51.
💻 TXT
字号:
	请注意有的寄存器只能在满足有的条件下被修改.

//------------------------------------------
1	WriteRegister(LCR,ChannelA,0xBF);	//Enter enhance mode

2	WriteRegister(MCR,ChannelA,0x04);	//Enable TCR,TLR	
3	WriteRegister(EFR,ChannelA,0x10);	//Enhance fucntion
4	WriteRegister(TCR,ChannelA,0x23);	//TCR[3:0](halt) Must > TCR[7:4](resume)

5	WriteRegister(EFR,ChannelA,0xC0);	//1100 0000,Auto CTS,Auto RTS	
	在这里如果5插在2的前面,有可能导致对EFR的操作被3更改.

6	WriteRegister(LCR,ChannelA,0x00);	//0000 0000,	
7	WriteRegister(FCR,ChannleA,0x00);	//00 00000,8 characters
	FCR的bit6,bit7操作前,需要保持LCR的bit7=0.

	在SC16IS中,可以不用对FCR进行设置,使用他的默认值.

//------------------------------------------


sbit TX=P0^0;

void Delay20us()
{
	_nop_();_nop_();
	_nop_();_nop_();
	_nop_();_nop_();
	_nop_();_nop_();
	_nop_();_nop_();
	_nop_();_nop_();
	_nop_();_nop_();
	_nop_();_nop_();
	_nop_();
}

void Delay84us()
{
	Delay20us();
	Delay20us();
	Delay20us();
	Delay20us();
}

void test()
{
	TX=0;
	Delay20us();
	TX=1;
	Delay84us();

	Delay20us();
	Delay84us();

	TX=0;
	Delay20us();
	TX=1;
	Delay84us();

	Delay20us();
	Delay84us();

	TX=0;
	Delay20us();
	TX=1;
	Delay84us();

}

⌨️ 快捷键说明

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