vk33.c

来自「STC51系列单片机通过vk3x系列芯片扩展串口的源码」· C语言 代码 · 共 73 行

C
73
字号
#include "def.h"
//************************************************************************************
void config_vkxx()
{
//***********************************************************
	write_reg(1,SCTLR,0X38);
	write_reg(2,SCTLR,0X38);
	write_reg(3,SCTLR,0X38);
	write_reg(4,SCTLR,0X38);
//使能子串口,设置子串口的波特率,具体参看数据手册中,子串口波特率设置
//************************************************************

//************************************************************
	write_reg(1,SFOCR,0XFF);
	write_reg(2,SFOCR,0XFF);
	write_reg(3,SFOCR,0XFF);
	write_reg(4,SFOCR,0XFF);


	write_reg(1,SFOCR,0XFC);
	write_reg(2,SFOCR,0XFC);
	write_reg(3,SFOCR,0XFC);
	write_reg(4,SFOCR,0XFC);
//清空发送接收FIFO中的数据,使能发送接收FIFO
//**************************************************************

//**************************************************************
	while(read_reg(1,SFSR))
		read_reg(1,SFDR);
	while(read_reg(2,SFSR))
		read_reg(2,SFDR);
	while(read_reg(3,SFSR))
		read_reg(3,SFDR);
	while(read_reg(4,SFSR))
		read_reg(4,SFDR);
//查看发送接收FIFO中是否有数据,如果有则把FIFO中的数据读出来,
//使发送接收FIFO中的数据为0
//**************************************************************
}
//*********************************************************************************

//******************************************************
void stop_bit(port)
{
	write_reg(port-1,SCONR,0X48);	
}
//需要说明的是:有奇偶校验的时候,数据位必须设置为9位;这里是偶校验
//这里还可以设置该路子串口的强制校验模式
//***************************************************************

//***************************************************************
void net_add(port)
{	unsigned char reg;
	reg=read_reg(port-1,SCONR);
	write_reg(port-1,SCONR,reg|0x03);	
}
//设置网络地址可见设置,网络地址自动识别,网络地址是否
//写入FIFO的设置
//*******************************************************

//********************************************************
void address(unsigned char port,unsigned char add)
{
	write_reg(port-1,SADR,add);
}
//485模式下的网络地址
//*********************************************************
//*******************************************************
void mode(port)
{
	write_reg(port-1,SCTLR,0X38);	
}
//子串口波特率设置为上电默认值,使能该子串口,设置模

⌨️ 快捷键说明

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