标题:
13213串口问题
[打印本页]
作者:
sohot2007
时间:
2007-3-23 21:42
标题:
13213串口问题
为了测试串口,我利用13213内部时钟写了一个串口发送程序(时钟相关寄存器的配置完全按照1321xRM中“Example #3: No External Crystal Connection, 5.4 MHz Bus
Frequency”设置,除了将参照smac中将icgc1中的OSCSTEN置为1),但是无法通过13213开发板和pc机的串口助手无法通信,请高手们现身给点建议,谢谢!代码如下:
ICGC1 = 0x2c;
ICGC2 = 0x31;
SCIInitGeneric(5400000, 38400, NO2_SCI_PORT);
SCIStartTransmit(0x7E);
void SCIInitGeneric(UINT32 u32BusClock, UINT32 u32BaudRate, UINT8 u8ComNumber) {
UINT16 u16Sbr = IDLE;
SCICounter = 0;
gu8SCIDataFlag = IDLE;
u16Sbr = (UINT16) ((u32BusClock) / (u32BaudRate * 16));
switch (u8ComNumber) {
case NO1_SCI_PORT:
SCI1BDL = (UINT8) u16Sbr;
u16Sbr = u16Sbr >> 8;
SCI1BDH = (UINT8) u16Sbr;
SCI1C2 = INIT_SCI2C2; // INIT_SCI2C2 = 0b00101100
break;
case NO2_SCI_PORT:
SCI2BDL = (UINT8) u16Sbr;
u16Sbr = u16Sbr >> 8;
SCI2BDH = (UINT8) u16Sbr;
SCI2C2 = INIT_SCI2C2;
break;
default:
SCI1BDL = (UINT8) u16Sbr;
u16Sbr = u16Sbr >> 8;
SCI1BDH = (UINT8) u16Sbr;
SCI1C2 = INIT_SCI2C2;
break;
}
}
void SCIStartTransmit(UINT8 cData)
{
while (!SCI2S1_TDRE); /* ensure Tx data buffer empty */
SCI2D = cData; /* load data to SCI2 register */
while (!SCI2S1_TC); /* wait for Tx complete */
LED4 = 0;
}
作者:
sohot2007
时间:
2007-3-24 08:23
刚搞到30天试用的licence,编译烧写了一下smac自带的Wireless Uart Demo 程序,PC机上使用的是串口助手,波特率38400,没有校验位,数据位8位,停止位1位,但是启动13213 NCB后,在串口助手上没有出现“Wireless Typematic Demo”,不知道是怎么回事,请高手们指点一下,万分感谢!
作者:
strongchen
时间:
2007-3-26 09:52
用示波器看一下通讯信号是否正常。
作者:
sohot2007
时间:
2007-3-26 15:16
我换了几个SRB板子试,也换了几台PC试,都不行
作者:
seuafu2005
时间:
2007-3-27 09:34
smac针对不同的平台板子可能采用不同的SCI串口
从程序来看,采用的是SCI2口,建议你查看一下板子上连线采用的是SCI1还是SCI2
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0