This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F28377S:请求有关 TMS320F28377S 的 SCI 波特率问题的建议

Guru**** 2694555 points

Other Parts Discussed in Thread: TMS320F28377S, C2000WARE, SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1595820/tms320f28377s-request-for-advice-on-sci-baud-rate-issue-with-tms320f28377s

器件型号: TMS320F28377S
Thread 中讨论的其他器件: C2000WARESysConfig

你好。

我目前使用的是使用 C2000Ware_6_00_01_00 和 TI CCS 的 TMS320F28377S(176 引脚封装)。  
由于 syscfg 不支持 176 引脚封装、因此我要手动配置代码。
我已将 SCID Rx (GPIO46) 和 SCID Tx (GPIO47) 连接到 115200bps、8N1 的 PC。  
但是、当我尝试输出调试消息时、Tera Term 没有响应。  
有趣的是、当我将 Tera Term 的波特率设置为 57600 时、数据会正确显示。
这让我认为时钟配置可能没有正确设置。  
您能否就如何解决此问题提供指导或建议?

非常感谢您的支持。

此致、  
sjkim

 

------------------------ 我的测试代码------------------------
void initSCID (void)

  //(1) 多路复用器
  GPIO_setPinConfig (GPIO_46_SCIRXDD);  
  GPIO_setPinConfig (GPIO_47_SCITXDD);

  //(2) 输入/输出
  GPIO_setDirectionMode (46、GPIO_DIR_MODE_IN);  
  GPIO_setDirectionMode (47、GPIO_DIR_MODE_OUT);
   
  //(3) 焊盘
  GPIO_setPadConfig (46、GPIO_PIN_TYPE_PULLUP);
  GPIO_setPadConfig (47、GPIO_PIN_TYPE_STD);
   
  //(4) 资质
  GPIO_setQualificationMode (46、GPIO_QUAL_ASYNC);
  GPIO_setQualificationMode (47、GPIO_QUAL_ASYNC);
   
  SCI_disableModule (SCID_BASE);

  SCI_enableFIFO (SCID_BASE);
  sci_resetChannels (scid_base);
   
  // 115200 波特率、8N1
  SCI_setConfig (SCID_BASE、DEVICE_LSPCLK_FREQ、115200、(SCI_CONFIG_WLEN_8 | SCI_CONFIG_STOP_ONE | SCI_CONFIG_PAR_NONE);

  SCI_enableModule (SCID_BASE);
   
  //SCI_enableInterrupt (SCID_BASE、SCI_INT_TXFF);  
}

void initSystemClock (void)

  InitSysCtrl();
  InitGpio();

  DINT;

  InitPieCtrl();

  IER = 0x0000;
  IFR = 0x0000;

  InitPieVectTable();
}

void main (void)

如果是 1   
  initSystemClock ();
#else
  设备初始化 ();
#endif   
  interrupt_initModule();
  Interrupt_initVectorTable();

  initSCID();

  for(;;)
  {
    SCI_writeCharBlockingNonFIFO (SCID_BASE、“A")“);
    SCI_writeCharBlockingNonFIFO (SCID_BASE、“B")“);     
    SCI_writeCharBlockingNonFIFO (SCID_BASE、“C")“);         
    SCI_writeCharBlockingNonFIFO (SCID_BASE、'D');         

    DEVICE_DELAY_US (100000);// 0.1 秒延迟
  }
}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    实际上、F2837xS 器件的 176 引脚封装具有 SysConfig 支持。 但是,我确实看到,这是一个有点难到达。 您可以在 C2000ware 中导入“empty_project"。“。 打开 SysConfig 文件时、您只能选择 100 引脚封装。 但是、导入后、您可以使用开关功能更改为 176 引脚封装。  

    正确设置 SysConfig 后、您可以使用它对 SCI 时钟进行适当编程。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好。

    感谢您的反馈。

    我尝试将 SCID Tx (GPIO46) 和 SCID Rx (GPIO47) 用作调试端口。
    对于测试,我称之为函数:
    SCI_writeCharBlockingFIFO (SCID_BASE、“A")“);

    但是、在 SysConfig 中、我只看到 SCIA、SCIB 和 SCIC 的选项、没有可用的 SCID。
    我尝试手动编辑自动生成的 board.h 文件来分配引脚编号
    但是每次重建项目时、文件都会被重新生成、我的更改也会丢失。
    您能告诉我如何正确配置 SCID 以用作调试端口吗?

    此致、
    sjkim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    每次构建工程时、SysConfig 都会自动生成 board.h 文件。 您无法编辑 board.h 文件。 不过我在 SysConfig 中看到使用 SCID 的选项。 您是否使用了 SysConfig 中的“SWITCH"命令“命令移至 176 引脚封装? 我看到 GPIO46/47 不采用 100 引脚封装。 因此、如果您仍在 SysConfig 中使用 100 引脚封装、则将无法使用这些引脚。