请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: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 引脚时看到的结果。 我认为设置正确、但我不确定自己的行为有什么错误、对此我相对较新。 欢迎您提出任何建议!
