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

📄 main.c

📁 USART构成RS485程序
💻 C
字号:
/***********************************************/
/***********************************************/
#include <p30f6010A.h>
#include <stdio.h>
#include "UART2_RS485.h"


const unsigned char table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};	//不带小数点的LED码值
const unsigned char table0[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};	//带小数点显示的LED码值

void init_SPI1(void)
{
SPI1CON=0x0063;// "0000000001100011"	;
SPI1STAT=0x8000;//"1000000000000000"	;  
}

void spiled(unsigned char led_data)
{
	unsigned char tmpData;
	while(SPI1STATbits.SPITBF);
	SPI1BUF=led_data;
	while(!IFS0bits.SPI1IF);
	IFS0bits.SPI1IF=0;
	tmpData = SPI1BUF; //Dummy read in order not to set SPIROV bit

//    ClrWdt(); 
}

void display(unsigned int a)	//显示代码值:GExx;unsigned char a是代码值,范围是0~31
{
char s[4];
unsigned char data_x=0;
sprintf(s,"%4d",a);             //通过 sprintf 函数把需要显示的电压数据转换成ASII 码,并存于数组 S 中
spiled(0x12);
data_x=s[3];data_x=data_x&0X0F; data_x=table[data_x];
spiled(data_x);
data_x=s[2];data_x=data_x&0X0F; data_x=table0[data_x];
spiled(data_x);  
data_x=s[1];data_x=data_x&0X0F; data_x=table[data_x];
spiled(data_x);
data_x=s[0];data_x=data_x&0X0F; data_x=table[data_x];
spiled(data_x);
}

int main (void)
{
/* Initialization of the system and the functions*/
//INIT_UART1();
//INIT_UART2();
INIT_UART2_485();
init_SPI1();
unsigned int i=0;

///*while(1)*//*while(1)*//*while(1)*//*while(1)*//*while(1)*//*while(1)*//*while(1)*///
while(1)
  {
	display(receive[0]);

	communicate485();


///向上发送=》OK
/**/
/*
if(i<65530){i++;}//LATDbits.LATD1=1;
else{i=0;SendMonitor485();}//LATDbits.LATD1=0;
*/
	for(;i<100;i++);


  }	
//end of while(1);end of while(1);end of while(1);end of while(1);end of while(1);//
}
/*---------------------------------- End of MAIN ----------------------------------------*/
/*---------------------------------- End of MAIN ----------------------------------------*/











⌨️ 快捷键说明

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