⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mymcbsp.h

📁 6713MCBSP模拟异步UART串口程序
💻 H
字号:
#include "regs_6713.h"

//unsigned short buf[11];
unsigned short cnt;
//McBSP initialization
void init_McBSP()//Config McBSP as UART
{
	SPCR0 &= 0xff9efffe;
	wait(100);
	XCR0 = 0x11040840;//16 bits word;10 words phase;0 delay;
	RCR0 = 0x11040840;//16 bits word;10 words phase;0 delay;
	SRGR0 = 0x2000001a;//CLKGDV+1=27;internal clock;baud 115200
	//SRGR0 = 0x2000000a;//CLKGDV+1=11;internal cpu clock20MHz;baud rate 57600,
	MCR0 = 0x00000000;
	RCER0 = 0x00000000;
	XCER0 = 0x00000000;
	PCR0 = 0x00000B0C;
	wait(100);
	SPCR0 |= 0x00400000;
	wait(100000);
	SPCR0 |= 0x00010001;
	wait(100);
	//for interruption
	/*INT_MUXL &= 0xe7ffffff;
	INT_MUXL |= 0x60000000;
	ICR=0xFFFFFFFF;
	CSR |= 0x00000001;
	IER |= 0x00000202; 
	//open the MCBSP0*/
}
void UART_Tran(unsigned char trandata)
{
	unsigned short buf[10];
	short i;
	for (i=0; i<10; i++)//打包一个字节的数据送入buf待发送
	{
		if (i == 0)
			buf[i] = 0x0000;
		else if ((i > 0) && (i <9))
		{
			if(trandata & (0x01 << (i-1)))
				buf[i] = 0xFFFF;
			else
				buf[i] = 0x0000;
		}
		else if (i == 9)
			buf[i] = 0xFFFF;
		else
			buf[i] = 0x0000;
	}
	i = 0;
	while(i<10)
	{
		if((SPCR0 & 0x00020000)!=0)
			DXR0 = buf[i++];
	}
}

interrupt void c_int09(void)
{
	/*UART_Tran(0x55);
	if(cnt<11)
	{
		DXR0 = buf[cnt];
		cnt++;
	}
	else
	cnt = 0;
	ICR=0xFFFFFFFF;*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -