首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

13213串口问题

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;
}
刚搞到30天试用的licence,编译烧写了一下smac自带的Wireless Uart Demo 程序,PC机上使用的是串口助手,波特率38400,没有校验位,数据位8位,停止位1位,但是启动13213 NCB后,在串口助手上没有出现“Wireless Typematic Demo”,不知道是怎么回事,请高手们指点一下,万分感谢!
用示波器看一下通讯信号是否正常。
海纳百川  有容乃大
我换了几个SRB板子试,也换了几台PC试,都不行
smac针对不同的平台板子可能采用不同的SCI串口
从程序来看,采用的是SCI2口,建议你查看一下板子上连线采用的是SCI1还是SCI2
返回列表