Board logo

标题: 大家看看SCI的一个程序!!!! [打印本页]

作者: infland    时间: 2007-6-14 10:44     标题: 大家看看SCI的一个程序!!!!

#include /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
unsigned char temp=0;
unsigned char rxdata=0;



void main(void) {
unsigned char temp,rxdata ;

/* enable interrupts */
/* include your code here */
temp=0;
rxdata=0;
CONFIG1=0X39;
CONFIG2=0X00;
SCBR=0X04;
SCC1=0X53;
SCC2=0X2C;
SCC3=0;
SCC2_SCTIE=0;

EnableInterrupts;
for(; ;) ;

}
/*接收中断子程序*/
interrupt void SCIRx(void) {
temp=SCS1;
rxdata=SCDR;
SCC2_SCTIE=1;
}


/*发送中断子程序*/
interrupt void SXITx(void) {
temp=SCS1;
SCDR=rxdata;
SCC2_SCTIE=0;
}


这是一个SCI接收中断的程序,这里的FOR为什么要死循环???如果不要的话,程序就出错了!!这样就能达到接收中断的效果吗??请大家帮我看看.我不太明白!!!!
谢谢了!!!

作者: seuafu2005    时间: 2007-6-14 14:28

for循环是在main函数主程序里面。你的SCI通讯都是中断处理的,主程序如果不用for运行的话程序就飞了
作者: kdl_cyy    时间: 2007-6-17 22:53

在单片机的程序设计中,主函数里一般都是有一个主循环的。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0