DSP论坛
直播中

大抽象家123

3年用户 9经验值
私信 关注

DSP2812 SCIB 串口通讯问题

问题1:查询方式:示例程序中用这句代码接收字符串
sci_varRx[scib_count]=ScibRegs.SCIRXBUF.all;
执行完后接收字符串例如11 22 33
数组就会变成
sci_varRx[0]=11;
sci_varRx[1]=22;
sci_varRx[2]=33;
为啥我按这样写,就只能接收到最后一个字节
sci_varRx[0]=33;

问题2:中断方式
因为是在别人程序上添加SCIB的串口通讯,需要使能 CPU INT 9
我在程序里加上IER |= M_INT9; 后,程序会卡死不跑了,目前也没条件仿真,IER使能别的cpu都没问题,我看头文件和网上的对比了一下,M_INT9的值都是0x0100没问题啊。
有没有大神遇到同样的问题啊,求解答

已退回3积分

回帖(1)

李星童

2024-1-15 16:59:37
问题1:可能是因为您没有正确配置 SCI 控制寄存器(SCICCR)和 SCI 波特率寄存器(SCIBRR),导致只能接收到最后一个字节。建议检查一下这些寄存器的配置。

问题2:可能是因为您在使能 CPU INT 9 后,没有正确处理 SCIB 的中断。在 SCIB 接收到数据后,会触发 SCI 模块的中断。建议检查一下中断向量表和中断服务程序的配置。另外,也建议您在调试过程中使用仿真器进行调试,以便更好地定位问题。
举报

更多回帖

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