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.

[参考译文] CCS/TMS320F28377S:C2000

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/665284/ccs-tms320f28377s-c2000

器件型号:TMS320F28377S

工具/软件:Code Composer Studio

大家好、

我正在使用 TMS320F28377S 控制器、首先我尝试控制 GPIO 引脚。 我在 C2000 ware 中使用示例进行尝试。

当我编译错误时、会显示在 Main.obj 中首先引用的 GPIO_Writepin

帮助我重新了解这一点

Yuvaraj

我的代码是


//
//包含的文件
//
#include "driverlib.h"
#include "device.h"

uint16_t sDataA[10];
uint16_t rDataA[10];
uint16_t rDataPointA;
uint16_t a、j;


_interrupt void sciaTXFIFOISR (void);
_interrupt void sciaRXFIFOISR (void);
void initSCIAFIFO (void);
void 错误(void);

void main (void)

uint16_t i;
device_init();
//InitSysCtrl();
DEVICE_initGPIO();

GPIO_setMasterCore (12、GPIO_CORE_CPU1);
GPIO_setMasterCore (13、GPIO_CORE_CPU1);
GPIO_setPinConfig (GPIO_12_GPIO12);
GPIO_setDirectionMode (12、GPIO_DIR_MODE_OUT);
GPIO_setPadConfig (12、GPIO_PIN_TYPE_STD);
GPIO_setPinConfig (GPIO_13_GPIO13);
GPIO_setDirectionMode (13、GPIO_DIR_MODE_OUT);
GPIO_setPadConfig (13、GPIO_PIN_TYPE_STD);

GPIO_setMasterCore (43、GPIO_CORE_CPU1);
GPIO_setPinConfig (GPIO_43_SCIRXDA);
GPIO_setDirectionMode (43、GPIO_DIR_MODE_IN);
GPIO_setPadConfig (43、GPIO_PIN_TYPE_STD);
GPIO_setQualificationMode (43、GPIO_QUAL_异 步);

GPIO_setMasterCore (42、GPIO_CORE_CPU1);
GPIO_setPinConfig (GPIO_42_SCITXDA);
GPIO_setDirectionMode (42、GPIO_DIR_MODE_OUT);
GPIO_setPadConfig (42、GPIO_PIN_TYPE_STD);
GPIO_setQualificationMode (42、GPIO_QUAL_异 步);

interrupt_initModule();

interrupt_initVectorTable();

//此示例中使用的中断被重新映射到
//此文件中的 ISR 函数。
interrupt_register (INT_SCIA_RX、sciaRXFIFOISR);
interrupt_register (INT_SCIA_TX、sciaTXFIFOISR);

//初始化设备外设:
initSCIAFIFO();

//初始化发送数据。 该数据之后传输该数据
//将在下一次传输时更新
对于(I = 0;I < 10;I++)

sDataA[i]= i;

rDataPointA = sDataA[0];

INTERRUPT_ENABLE (INT_SCIA_RX);
INTERRUPT_ENABLE (INT_SCIA_TX);

INTERRUPT_DISABLE (INT_SCIA_RX);
INTERRUPT_clearACKGROUP (INTERRUPT_ACK_group9);

//启用全局中断(INTM)和实时中断(DBGM)
EINT;
ERTM;

//空闲循环。 只需坐下来循环(可选):
for (;;)

//打开 LED
GPIO_WritePin (13、0);
//GPIO_WritePin (12、1);

对于(j = 0;j < 10000;j++)

对于(A = 0;A < 100;A++)


INTERRUPT_ENABLE (INT_SCIA_TX);

//关闭 LED
// GPIO_WritePin (13、1);
//GPIO_WritePin (12、0);
/*for (j = 0;j < 10000;j++)

对于(A = 0;A < 100;A++)


}*/

//错误-错误时停止调试器的函数
空错误(空)

asm (" ESTOP0");//测试失败!! 停下来!
适用于(;);

// sciaTXFIFOISR - SCIA 发送 FIFO ISR
_interrupt void sciaTXFIFOISR (void)

uint16_t i;

sDataA[0]= 0x55;
sDataA[1]= 0xAA;

SCI_writeCharArray (SCIA_BASE、sDataA、10);

//递增发送下一个周期的数据
/*表示(i = 0;i < 2;i++)

sDataA[i]=(sDataA[i]+ 1)& 0x00FF;
}*/

SCI_clearInterruptStatus (SCIA_BASE、SCI_INT_TXFF);

//发出 PIE ACK
INTERRUPT_clearACKGROUP (INTERRUPT_ACK_group9);

INTERRUPT_DISABLE (INT_SCIA_TX);
INTERRUPT_ENABLE (INT_SCIA_RX);

// sciaRXFIFOISR - SCIA 接收 FIFO ISR
_interrupt void sciaRXFIFOISR (void)

uint16_t i;

SCI_readCharArray (SCIA_BASE、rDataA、2);

//检查接收到的数据
对于(I = 0;I < 2;I++)

if (rDataA[i]!=(rDataPointA)& 0x00FF)

// error();

// rDataPointA =(rDataPointA + 1)& 0x00FF;

SCI_clearOverflowStatus (SCIA_BASE);

SCI_clearInterruptStatus (SCIA_BASE、SCI_INT_RXFF);

//发出 PIE ACK
INTERRUPT_clearACKGROUP (INTERRUPT_ACK_group9);

// initSCIAFIFO -配置 SCIA FIFO
空 initSCIAFIFO()

// 8个字符位,1个停止位,无奇偶校验。 波特率为9600。
SCI_setConfig (SCIA_BASE、DEVICE_LSPCLK_FREQ、384000、(SCI_CONFIG_WLEN_8 | SCI_CONFIG_STOP_ONE |
SCI_CONFIG_PAR_NONE));
SCI_enableModule (SCIA_BASE);
SCI_enableLoopback (SCIA_BASE);
SCI_resetChannels (SCIA_BASE);
SCI_enableFIFO (SCIA_BASE);

//启用 RX 和 TX FIFO 中断
SCI_enableInterrupt (SCIA_BASE、(SCI_INT_RXFF | SCI_INT_TXFF);
SCI_disableInterrupt (SCIA_BASE、SCI_INT_RXERR);

SCI_setFIFOInterruptLevel (SCIA_BASE、SCI_FIFO_TX2、SCI_FIFO_RX2);
SCI_performSoftwareReset (SCIA_BASE);

SCI_resetTxFIFO (SCIA_BASE);
// SCI_resetRxFIFO (SCIA_BASE);

/*

#ifdef 自动波特率
//执行自动波特率锁定。
// SCI 要求用'A'或'A'来锁定波特率。
SCI_lockAutobaud (SCIA_BASE);
#endif*/

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

    您的项目中是否包含 device_support/f2837xs/common/source/F2837xS_GPIO.c? 它具有 GPIO_WritePin 函数的定义。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、我解决了问题