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

📄 rs485.c

📁 本代码为SPI/I2C转双串口驱动程序。开发环境为Keil c51.
💻 C
字号:
//-----------------------------------------------
//www.zlgmcu.com
//-----------------------------------------------

#include "sc16is752.h"

//-----------------------------
//Multidrop mode
//-----------------------------

void Multidrop()
{

	WriteRegister(LCR,ChannelA,0x2B);	//0011 1011, set parity
										//Paritybit bit5=1: Address byte
										//Paritybit bit5=0: Data byte
	WriteRegister(MCR,ChannelA,0x02);	//Force RTS low level

	WriteRegister(EFCR,ChannelA,0x31);	//0011 0001 , 485 RTS control,Enable 485
	WriteRegister(FCR,ChannelA,0x06);	//enable ,reset FIFO
	WriteRegister(FCR,ChannelA,0x01);	//enable  FIFO	


//	WriteRegister(IER,ChannelA,0x04);	//0000 0100	Enable line interrupt	

}


//-----------------------------
//Auto address mode
//-----------------------------
void AutoAddress(char Address)
{
	WriteRegister(LCR,ChannelA,0xBF);	//Enter enhance mode		
	WriteRegister(EFR,ChannelA,0x20);
	WriteRegister(Xoff2,ChannelA,Address);


	WriteRegister(LCR,ChannelA,0x3B);	//0011 1011, set parity
										//Paritybit bit5=1: Address byte
										//Paritybit bit5=0: Data byte
	WriteRegister(MCR,ChannelA,0x02);	//Force RTS low level

	WriteRegister(EFCR,ChannelA,0x31);	//0011 0001 , 485 RTS control,Enable 485

	WriteRegister(FCR,ChannelA,0x06);	//enable ,reset FIFO
	WriteRegister(FCR,ChannelA,0x01);	//enable  FIFO	

//	WriteRegister(IER,ChannelA,0x04);	//0000 0100	Enable line interrupt	
}

⌨️ 快捷键说明

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