📄 flowcontrol.c
字号:
//-----------------------------------------------
//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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -