上级目录TMS320F28335使用教程
commonly known as a UART(通常被称为UART)
首先了解一下关于SCI的大致框图
开发板电路
本次使用SCI-A口,外部接口232,通过232转usb然后用电脑串口助手接收数据。
开发板电路:
GPIO28——rx
GPIO29——tx
单片机SCI外设配置
基本收发功能
实现通过串口助手发送数据到单片机,单片机返回相同数据的功能
首先使能外设时钟
SysCtrlRegs.PCLKCR0.bit.SCIAENCLK = 1; // SCI-A
GPIO配置
首先需要设置GPIO28\GPIO29为SCI外设功能
GPAMUX2的对对应为设置:
GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 1; // Configure GPIO28 for SCIRXDA operation
GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 1; // Configure GPIO29 for SCITXDA operation
SCI寄存器
接下来结合官方提供的头文件了解一下关于SCI外设的寄存器:
//---------------------------------------------------------------------------
// SCI Register File:
//
struct SCI_REGS {
union SCICCR_REG SCICCR; // Communications control register
union SCICTL1_REG SCICTL1; // Control register 1
Uint16 SCIHBAUD; // Baud rate (high) register
Uint16 SCILBAUD; // Baud rate (low) register
union SCICTL2_REG SCICTL2; // Control register 2
union SCIRXST_REG SCIRXST; // Recieve status register
Uint16 SCIRXEMU; // Recieve emulation buffer register
union SCIRXBUF_REG SCIRXBUF; // Recieve data buffer
Uint16 rsvd1; // reserved
Uint16 SCITXBUF; // Transmit data buffer
union SCIFFTX_REG SCIFFTX; // FIFO transmit register
union SCIFFRX_REG SCIFFRX; // FIFO recieve register
union SCIFFCT_REG SCIFFCT; // FIFO control register
Uint16 rsvd2; // reserved
Uint16 rsvd3; // reserved
union SCIPRI_REG SCIPRI; // FIFO Priority control
};
//对其寄存器SCICCR举例,后面每个寄存器基本都是同样的结构
union SCICCR_REG {
Uint16 all;
struct SCICCR_BITS bit;
};
//----------------------------------------------------------
// SCICCR communication control register bit definitions:
//
struct SCICCR_BITS {
// bit description
Uint16 SCICHAR:3; // 2:0 Character length control
Uint16 ADDRIDLE_MODE:1; // 3 ADDR/IDLE Mode control
Uint16 LOOPBKENA:1; // 4 Loop Back enable
Uint16 PARITYENA:1; // 5 Parity enable
Uint16 PARITY:1; // 6 Even or Odd Parity
Uint16 STOPBITS:1; // 7 Number of Stop Bits
Uint16 rsvd1:8; // 15:8 reserved
};