flowcontrol.c

来自「本代码为SPI/I2C转双串口驱动程序。开发环境为Keil c51.」· C语言 代码 · 共 55 行

C
55
字号
//-----------------------------------------------
//www.zlgmcu.com
//-----------------------------------------------

#include "sc16is752.h"

void SoftFlow(char on1,char on2,char off1,char off2)
{

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

//-----------------------------------------										
										//If use FCR,neednt setting TCR
//	WriteRegister(EFR,ChannelA,0x10);	//Enhance fucntion
//	WriteRegister(MCR,ChannelA,0x04);	//Enable TCR,TLR	
//	WriteRegister(TCR,ChannelA,0x23);	//TCR[3:0](halt) Must > TCR[7:4](resume)	
//-----------------------------------------	
			
	WriteRegister(Xon1,ChannelA,on1);		
	WriteRegister(Xon2,ChannelA,on2);
	WriteRegister(Xoff1,ChannelA,off1);
	WriteRegister(Xoff2,ChannelA,off2);
	WriteRegister(EFR,ChannelA,0x0B);	//0000 1011 ,transmit Xon1,xoff1,	compare it

	WriteRegister(LCR,ChannelA,0x03);	//0000 0011,
										//If use FCR reset value, neednt setting FCR.	
	WriteRegister(FCR,ChannelA,0x06);	//reset FIFO
	WriteRegister(FCR,ChannelA,0x01);	//enable  FIFO	

}


void HardwareFlow()
{
	WriteRegister(LCR,ChannelA,0xBF);	//Enter enhance mode

//-----------------------------------------		
										//If use FCR,neednt setting TCR
//	WriteRegister(EFR,ChannelA,0x10);	//Enhance fucntion
//	WriteRegister(MCR,ChannelA,0x04);	//Enable TCR,TLR	
//	WriteRegister(TCR,ChannelA,0x23);	//TCR[3:0](halt) Must > TCR[7:4](resume)
//-----------------------------------------	
	
	WriteRegister(EFR,ChannelA,0xC0);	//1100 0000,Auto CTS,Auto RTS	

	WriteRegister(LCR,ChannelA,0x03);	//0000 0011,
										//If use FCR reset value, neednt setting FCR.	
	WriteRegister(FCR,ChannelA,0x06);	//reset FIFO
	WriteRegister(FCR,ChannelA,0x01);	//enable  FIFO	

//	WriteRegister(IER,ChannelA,0x20);	//0010 0000	

}

⌨️ 快捷键说明

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