线程中讨论的其他部件:controlSUITE, C2000WARE, TMS320F2.8379万D
您好,
我尝试在 F2.8377万s和PC之间运行UART (SCI)接口。 我正在使用SCI-C (根据launchpad,它映射到引脚55和18)。 我使用FTDI转换器将串行连接转换为USB连接。 我在我的PC上启动了PuTTY会话(串行会话)(使用正确的波特率,起始位,停止位,奇偶校验位),并且能够在显示屏上看到一些垃圾数据(无论控制器何时发送数据)。 我无法理解此代码中的确切错误。 我修改了controlSUITE (TI)的代码以满足我的需要。
代码如下:
#include "driverlib.h"
包含"device.h"
//
//定义
//
//定义自动波特率以使用自动波特率锁定功能
//#定义自动波特率
//
//全局
//
UINT16_t环计数器=0;
//
//主菜单
//
Void主(void)
{
UINT16_t已接收字符;
unsigned char *msg;
//
//配置PLL,禁用WD,启用外设时钟。
//
device_init();
//
//禁用引脚锁并启用内部上拉。
//
DEVICE_INITGPIO ();
//
// GPIO28是SCI Rx引脚。
//
GPIO _setMasterCore (62,GPIO核心_CPU1);
GPIO_setPinConfig (GPIO _62_SCIRXDC);
GPIO_setDirectionMode (62,GPIO_DIR_MODE_In);
GPIO _setPadConfig (62,GPIO PIN类型标准);
GPIO_setQualificationMode (62,GPIO _Qual_Async);
//
// GPIO29是SCI Tx引脚。
//
GPIO _setMasterCore (63,GPIO _CORE _CPU1);
GPIO_setPinConfig (GPIO _63_SCITXDC);
GPIO_setDirectionMode (63,GPIO_DIR_MODE_OUT);
GPIO_setPadConfig (63,GPIO PIN类型标准);
GPIO_setQualificationMode (63,GPIO _Qual_Async);
//
//初始化中断控制器和矢量表。
//
interrup_initModule();
interrupT_initVectorTable();
//
//初始化SCIA及其FIFO。
//
sci_performSoftwareReset(SCIC_base);
//
//为回声堆配置SCIA。
//
Sci_setConfig (SCIC_BASE,DEVICE_LSPCLK_FREQ,9600,(SCI_CONFIG_WLEN_8 |)
sci_config_stop_one |
sci_config_par_none);
Sci_resetChannels (SCIC_BASE);
SCI_resetRxFIFO (SCIC_BASE);
SCI_resetTxFIFO (SCIC_BASE);
SCI_clearInterruptStatus (SCIC_BASE,SCI_INT_TXFF | SCI_INT_RXFF);
sci_enableFIFO (scic_base);
sci_enableModule (scic_Base);
sci_performSoftwareReset(SCIC_base);
#ifdef自动波特
//
//执行自动波特锁。
// SCI期望'A'或'A'来锁定波特率。
//
SCI_lockAutobaud (SCIC_BASE);
#endif
//
//发送起始消息。
//
MSG ="\r\n\n\nHello World!\0";
Sci_writeCharArray (SCIC_BASE,(uint16_t*)msg,17);
MSG =“\r\n您将输入一个字符,DSP将回显它!\n\n";
Sci_writeCharArray (SCIC_BASE,(uint16_t*)msg,62);
对于(;;)
{
MSG ="\r\n输入一个字符:\0";
Sci_writeCharArray (SCIC_BASE,(uint16_t*)msg,22);
//
//从FIFO读取字符。
//
receivedChar = SCI_readCharBlockingFIFO (SCIC_BASE);
//
//回显字符。
//
MSG ="您已发送:\0";
Sci_writeCharArray (SCIC_BASE,(uint16_t*)msg,13);
SCI_writeCharBlockingFIFO (SCIC_Base,receivedChar);
//
//增加循环计数变量。
//
环计数器++;
}
}
如果有人告诉我这方面的错误。
谢谢!
Afwaan