Board logo

标题: 请教班主,一个SCI的怪问题 [打印本页]

作者: jianw007    时间: 2007-11-23 10:55     标题: 请教班主,一个SCI的怪问题

1.写485通信,用串口调试助手.只能send不能read.要么只能read不能send.外围元件主要是MAX485.和485-232换转
2.拔掉BDM或不接BDM数据就不正确.ICS Trim Register (ICSTRM)设置改过,但不知道怎么改回.
针对第一个问题相关代码如下:

/**************************发送数据底层函数*******************************/
void SendChar(char s_char)
{
byte dummy;
RS485_RW_PORT=1;

SCIC2 = 0x08;
dummy = SCIS1;
SCID = s_char;
while(!SCIS1_TDRE){
feedCOP();
};
while(!SCIS1_TC){
feedCOP();
};
SCIC2_TE = 0;
RS485_RW_PORT=0;
}

/**************************接收中断*******************************/
interrupt 15 void SCI_RE(void)
{


if (SCIS1_RDRF)
{
rec_buf = SCID;
SCIC2_RE = 1;
if (rec_buf == 0x55 )
{
SendChar(0xAA);
}

}
SCIS1_RDRF=0;
}


谢谢解答.

作者: strongchen    时间: 2007-11-23 14:02

芯片初时化时,要将FLASH中的TRIM值写入TRIM寄存器中。
作者: jianw007    时间: 2007-11-23 22:07

解决第二个问题:
extern volatile byte _NVICSTRM @0x0000FFAF;
#define NVICSTRM _NVICSTRM
*************************************
ICSTRM = NVICSTRM;

希望能帮助同样问题的朋友.




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