TIwilliam hill官网
直播中

易静帜

7年用户 228经验值
私信 关注
[问答]

C6747 UART RBR

我用CSL编写uart中断接收数据并发送出去,但是当我用串口调试助手发送数据时,RBR中的数据和我发送的不一样,而且也并没有收到uart发出的数据
void UART_init();
void UART_int();

int main(void)
[
UART_init();
UART_int();
while(1);
]
void UARtisr()
[
int rxData = 0;
IntEventClear(CSL_INTC_EVENTID_UARTINT0);
rxData = UART_charGetNonBlocking_v0(CSL_UART_0_REGS);
UART_charPut_v0(CSL_UART_0_REGS, rxData);
]
void UART_init()
[
int divisor = 0;
int intFlag;
UART_operatingModeSelect_v0(CSL_UART_0_REGS, UART16x_OPER_MODE);
UART_pwremuConfig_v0(CSL_UART_0_REGS, 0x00006003);
UART_fIFORegisterWrite_v0(CSL_UART_0_REGS, 0x00000000);
UART_breakCtl_v0(CSL_UART_0_REGS, UART_BREAK_COND_DISABLE);
divisor = UART_divisorValCompute_v0(150000000, 9600, UART16x_OPER_MODE);
UART_divisorLatchWrite_v0(CSL_UART_0_REGS, divisor);
UART_divisorLatchDisable_v0(CSL_UART_0_REGS);
UART_lineCharacConfig_v0(CSL_UART_0_REGS, (CSL_UART_LCR_WLS__8BITS | CSL_UART_LCR_STB__1BIT), UART_PARITY_NONE);
intFlag = (UART_INT_LINE_STAT | UART_INT_RHR_CTI);
UART_intEnable_v0(CSL_UART_0_REGS, intFlag);
]
void UART_int()
[
Intc_SystemDisable ();
Intc_Init ();
IntEventMap (C674X_MASK_INT4, CSL_INTC_EVENTID_UARTINT0);
Intc_IntRegister (C674X_MASK_INT4, UARTIsr);
Intc_IntEnable (C674X_MASK_INT4);
Intc_SystemEnable ();
]

回帖(2)

余少虹

2018-7-31 07:13:05
请问是接收到完全错误的数据还是只是错位的数据?串口调试助手的配置是否和代码里的uart配置一致(波特率,字长,停止位)?
有没有量过串口的接收时序?看从PC发出来的数据是否是正确的?
举报

易静帜

2018-7-31 07:27:36
引用: vuywsdfwf 发表于 2018-7-31 07:13
请问是接收到完全错误的数据还是只是错位的数据?串口调试助手的配置是否和代码里的uart配置一致(波特率,字长,停止位)?
有没有量过串口的接收时序?看从PC发出来的数据是否是正确的?

感谢您的回复,问题已经解决,是PLLC出问题了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分