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.

[参考译文] LAUNCHXL-F28379D:通过 SCI 配置和发送消息

Guru**** 2407630 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1543103/launchxl-f28379d-configuring-and-sending-messages-through-sci

器件型号:LAUNCHXL-F28379D
主题:C2000WARE 中讨论的其他器件

工具/软件:

您好:  

我一直无法在此控制器上配置 SCI、根据用户手册、我将 GPIO 18 和 19 分别配置为 Tx 和 Rx。 但是、当我尝试从电路板传输信息时、不会发出任何信息、我可以通过 PicoScope 示波器确认引脚变为高电平 (3.3V)、但不发送任何消息。  

以下是用于设置 SCI B 的 GPIO 引脚的代码
Void ConfigIoForSCI (void)
  //接收 Rx 物理引脚 3
  GPIO_setMasterCore (19、GPIO_CORE_CPU1);
  GPIO_setPinConfig (GPIO_19_SCIRXDB);
  GPIO_setDirectionMode (19、GPIO_DIR_MODE_IN);// IN 用于 Rx 接收
  GPIO_setPadConfig (19、GPIO_PIN_TYPE_STD);
  GPIO_setQualificationMode (19、GPIO_QUAL_ASYNC);
  

  //发送 Tx 物理引脚 4
  GPIO_setMasterCore (18、GPIO_CORE_CPU1);
  GPIO_setPinConfig (GPIO_18_SCITXDB);
  GPIO_setDirectionMode (18、GPIO_DIR_MODE_OUT);//用于 Tx 发送
  GPIO_setPadConfig (18、GPIO_PIN_TYPE_STD);
  GPIO_setQualificationMode (18、GPIO_QUAL_ASYNC);

}
这是用于初始化 SCI B 的代码  
void initSCIB()

  SysCtl_enablePeripheral (SYSCTL_PERIPH_CLK_SCIB);//启用 SCI 时钟
  Sci_performSoftwareReset (SCIB_BASE);
  
  SCI_setConfig (SCIB_BASE、DEVICE_LSPCLK_FREQ、115200、(SCI_CONFIG_WLEN_8| SCI_CONFIG_PAR_NONE | SCI_CONFIG_STOP_ONE);
  
  Sci_resetChannels (SCIB_BASE);
  SCI_resetRxFIFO (SCIB_BASE);
  SCI_resetTxFIFO (SCIB_BASE);   
  SCI_disableFIFO (SCIB_BASE);

  //SCI_enableFIFO (SCIB_BASE );//与 writeCharBlockingNonFifo() 一起使用

  Sci_enableModule (SCIB_BASE);//启用 SCI 模块
  SCI_enableTxModule (SCIB_BASE);//启用发送引脚-->物理引脚 4
  SCI_enableRxModule (SCIB_BASE);//启用接收引脚-->物理引脚 3

  
}
U16 testnum = 5775//十进制 5775 -->十六进制 168F
INT MASK = 255

以下是我尝试通过 SCI B 发出测试编号/消息的代码  
sciTransmit()
  //SCI_writeCharBlockingFIFO (SCIB_BASE、0x55);
  //SCI_writeCharBlockingFIFO (SCIB_BASE、0x55);

  // SCI_writeCharBlockingFIFO (SCIB_BASE、(testnum 和 MASK));
  // SCI_writeCharBlockingFIFO (SCIB_BASE、(testnum >> 8)& mask);
 
  SCI_writeCharBlockingNonFIFO (SCIB_BASE、0x55);
  SCI_writeCharBlockingNonFIFO (SCIB_BASE、(testnum 和 MASK));
  SCI_writeCharBlockingNonFIFO (SCIB_BASE、(testnum >> 8)& mask);
 

  //SCI_writeCharNonBlocking (SCIB_BASE、(testnum 和 MASK));
  //SCI_writeCharNonBlocking (SCIB_BASE、(testnum >> 8)& mask);
  
}
下面是将探头连接到电路板上的 Tx 引脚时看到的结果。 我认为设置正确、但我不确定自己的行为有什么错误、对此我相对较新。 欢迎您提出任何建议!  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Daniel:

    感谢您的查询。 我现在正在审查这件事、并将在第二天内回复您。 感谢您的耐心!

    此致、

    Allison

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

    尊敬的 Daniel:

    需要检查的几个事项:

    1. 您能否顺利运行我们的 SCI C2000Ware 示例?
    2. 您能否再次检查波特率参数(SYSCLK、LSPCLK 分频器和 LSPCLK 频率、SCI BRR 值)? 您为这些值配置了什么?
    3. 您是否看到在 SCI 寄存器中设置了任何错误标志?
    4. 如果您还没有、能否将 F28379D LaunchPad 预定义添加到项目属性?
      1. 某些 C2000 板需要一个预定义符号来正确设置器件上的时钟和其他配置设置(例如在 device.h 中)
      2. 在 CCS 中、右键点击正在使用的工程、然后选择 Properties→Build→C2000 Compiler→Predefined Symbol→、然后选择加号按钮“add"符号“符号。 为 device.h 文件中找到的特定器件添加给定的预定义符号(如“_LAUNCHXL_F28379D")“)

    此致、

    Allison