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.
工具与软件:
大家好、我正在尝试实现 SCI。 一个字符、然后是一个帧。
我按照一些步骤操作、但在终端上看不到任何内容。 我已附上下面的代码。 请提供帮助
/**
* main.c
*/
#include "F28x_Project.h"
void uart_pin_init ();
void sci_init();
#define dataBuf ="Hello";
int main (void)
{
InitSysCtrl();
InitGpio();
//初始化 SCI 外设
颜色;
uart_pin_init ();
SCI_INIT ();
EINT;
ERTM;
while (1){
if (ScibRegs.SCIFFTX.bit.TXFFST!=0){
ScibRegs.SCITXBUF.all ="a";
}
}
返回0;
}
void uart_pin_init (){
EALLOW;
// UART 的引脚选择
GpioCtrlRegs.GPBMUX1.bit.GPIO42 = 3;
GpioCtrlRegs.GPBGMUX1.bit.GPIO43 = 3;
GpioCtrlRegs.GPBMUX1.bit.GPIO42 = 3;
GpioCtrlRegs.GPBMUX1.bit.GPIO43 = 3;
//引脚方向配置
GpioCtrlRegs.GPBDIR.bit.GPIO42 = 1;
GpioCtrlRegs.GPBDIR.bit.GPIO43 = 0;
EDIS;
}
void sci_init(){
// SCI 外设处于非活动状态
ScibRegs.SCICTL1.bit.SWRESET = 0;
//通信控制寄存器配置
ScibRegs.SCICCR.bit.SCICHAR = 0x8;
ScibRegs.SCICCR.bit.PARITYENA = 0;
ScibRegs.SCICCR.bit.stopbits = 0;
ScibRegs.SCICCR.bit.LOOPBKENA = 0;
//波特率寄存器配置
ScibRegs.SCIHBAUD.all = 0x515;
//启用 Tx 和 Rx
ScibRegs.SCICTL1.bit.TXENA = 1;
ScibRegs.SCICTL1.bit.RXENA = 1;
//激活 SCI 外设
ScibRegs.SCICTL1.bit.SWRESET = 1;
}
Sandeep、您好!
您是否运行 C2000ware 示例? 如果是、哪一个? 您要与什么设备通信?
您是否已尝试启用内部环回模式(在内部将 RX 和 TX 连接在一起)、以验证 SCI 模块是否能够自行识别正确的字符、并验证其是否独立于外部硬件运行?
此致、
Allison
您好、Allison、
我不运行 C2000ware 示例、我遵循参考手册、并尝试根据手册进行实施。
Sandeep、您好!
我们有几个 SCI 示例、我想先向您介绍。 我们通常建议将其作为修改项目的起点或用作黄金参考。 此器件的 SCI 示例可以在以下几个位置找到:
请先查看此信息、如果仍有问题、请告诉我。 同样、环回模式也是测试 SCI 功能的好方法(我们也提供了示例)。
此致。
Allison