18f_232.c

来自「18 pic18f实现232串行通信工程实例(调试通过)」· C语言 代码 · 共 50 行

C
50
字号
//*********************************************
//232通信示例程序,晶振为10MHZ,波特率9600,通过
//*********************************************

#include		"p18f6585.h"			
void InterruptHandlerHigh(void);
void initial();

void initial(void)
{
	SPBRG=0X40;				//波特率设置为9600
	TXSTA=0X04;				//告诉波特率
	RCSTA=0X80;				//串行口势能
	TRISC=0X80;				//RC7输入,RC6输出
	TRISA=0;
	TXSTAbits.TXEN=1;			//开发送中断
	RCSTAbits.CREN=1;			//开接受中断
	PIE1bits.RCIE=1;			//势能接收中断
	INTCON=0xc0;
}

#pragma code InterruptVectorHigh=0x08
void InterruptVectorHigh(void)
{
	_asm
	goto	InterruptHandlerHigh
	_endasm
}



#pragma code
#pragma interrupt InterruptHandlerHigh
void InterruptHandlerHigh()
{
	while(PIR1bits.RCIF==1)
	{
		TXREG=RCREG;
		PORTAbits.RA4=0;	
	}
}


void main(void)
{
	initial();
	TXREG=0X55;						//发送数据0x55
	for(;;);						//循环等待中断产生
}

⌨️ 快捷键说明

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