DSP的SCI及printf问题记录

在DSP实验中,使用printf进行参数打印时遇到数据错误问题。尽管Scia模块配置正常,字符发送无误,但形如printf(""i=%d\n"
摘要由CSDN通过智能技术生成

实验结果

实验结果

Scia模块的简单配置

#include "sci.h"
void Sci_GPIO_Init(void)
{
   
    EALLOW;
    GpioCtrlRegs.GPBPUD.bit.GPIO36 = 0;    // Enable pull-up for GPIO36 (SCIRXDA)
    GpioCtrlRegs.GPBPUD.bit.GPIO35 = 0;    // Enable pull-up for GPIO35 (SCITXDA)
    /* Set qualification for selected pins to asynch only */
    // Inputs are synchronized to SYSCLKOUT by default.
    // This will select asynch (no qualification) for the selected pins.
    GpioCtrlRegs.GPBQSEL1.bit.GPIO36 = 3;  // Asynch input GPIO28 (SCIRXDA)
    /* Configure SCI-A pins using GPIO regs*/
    // This specifies which of the possible GPIO pins will be SCI functional pins.
    GpioCtrlRegs.GPBMUX1.bit.GPIO36 = 1;   // Configure GPIO36 for SCIRXDA operation
    GpioCtrlRegs.GPBMUX1.bit.GPIO35 = 1;   // Configure GPIO35 for SCITXDA operation
    EDIS;
}
void Sci_Init(volatile struct SCI_REGS  *pSciRegs,Uint32 BaudRate)
{
   
    Uint16 baud_temp;
    baud_temp=(Uint16)(4687500/BaudRate-1);
	// SYSCLOCKOUT = 150MHz; LSPCLK = 1/(2*2)= 37.5 MHz
    // baud_temp = (LSPCLK / (BaudRate x 8)) -1
    //pSciRegs->SCICCR.all =0x0007;    //数据格式:8位数据位,1个起始位,1个停止位,无奇偶校验位。
    pSciRegs->SCICCR.bit.SCICHAR        =7; // 2:0  Character length control
    pSciRegs->SCICCR.bit.ADDRIDLE_MODE  =0; // 3    ADDR/IDLE Mode control  :0-idle line protocol 1-address bit protocol
    pSciRegs->
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值