📄 8.2 selftr.c
字号:
/*****************************************************************
**功能描述: 串行通信自测试程序**
*****************************************************************/
#include "DSP28_Device.h"
Uint16 ReceivedChar;
Uint16 SendChar;
Uint16 RecieveChar;
void Scib_init()
{
EALLOW;
GpioMuxRegs.GPGMUX.all = 0x0030; // 设置G4和G5为通信端口
EDIS;
ScibRegs.SCICCR.all =0x0007; // 1个停止位,禁止自测试,禁止奇偶
// 校验,8位字符,异步空闲线协议
ScibRegs.SCICTL1.all=0x0003; // 使能接收和发送
ScibRegs.SCICTL2.all=0x0000; // 禁止接收和发送中断
ScibRegs.SCIHBAUD=0x0001; // 波特率=9600
ScibRegs.SCILBAUD=0x00E7;
ScibRegs.SCICTL1.all=0x0023; // 使SCI脱离复位状态
ScibRegs.SCIPRI.all=0x0000;
ScibRegs.SCICCR.bit.LOOPBKENA=1; // 使能自测试
}
void main(void)
{
InitSysCtrl(); // 系统初始化
DINT; // 禁止和清除所有的CPU中断
IER = 0x0000;
IFR = 0x0000;
Scib_init(); // Scib初始化
SendChar=0xaa;
for(;;)
{
ScibRegs.SCITXBUF=SendChar;
while(ScibRegs.SCIRXST.bit.RXRDY !=1) { } // RXRDY =1 表示接收到数据
RecieveChar=ScibRegs.SCIRXBUF.all;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -