📄 sysinit.c
字号:
/***********************************************************
系统变量初始化
***********************************************************/
#include "VoiceProcess.h"
int ioport *port0;
Uint16 old_intm;
Uint16 rcvEventId2;
Uint16 rcvEventId1;
/*--------------------------------------*/
int checkflag=0;
/*************************************************************/
void dsp_init();
int mcbsp_init();
void GPIO_init();
void sys_init();
/*------------------------------ 设定DSP工作模式 -----------*/
void dsp_init()
{
port0=(int *)0x6c00;
*port0=0x1;
*(int *)0x0=0x1000; //同步串口2接收中断使能
}
int mcbsp_init()
{
// 串口1的初始化
old_intm = IRQ_globalEnable();
// Get Event Id's associated with MCBSP 0 receive and transmit
rcvEventId1 = MCBSP_getRcvEventId(hMcbsp1);
// Enable receive/transmit interrupts
IRQ_enable(rcvEventId1);
/* Start MCBSP. The MCBSP_Handle object, hMcbsp0 has been predefined */
/* in the code automatically generated by the DSPBIOS/CCSL GUI config*/
MCBSP_start(hMcbsp1,
MCBSP_XMIT_START | MCBSP_RCV_START |
MCBSP_SRGR_START | MCBSP_SRGR_FRAMESYNC,
0x300u);
MCBSP_ASSERT_HANDLE(hMcbsp1,return 10);
return 1;
}
/*------------------------- 串口1、串口2的初始化 --------------------*/
/*int mcbsp_init()
{
old_intm = IRQ_globalEnable();
rcvEventId2 = MCBSP_getRcvEventId(hMcbsp2);
rcvEventId1 = MCBSP_getRcvEventId(hMcbsp1);
IRQ_clear(rcvEventId2);
IRQ_clear(rcvEventId1);
IRQ_enable(rcvEventId2);
IRQ_disable(rcvEventId1);
MCBSP_start(hMcbsp1,
MCBSP_XMIT_START | MCBSP_RCV_START |
MCBSP_SRGR_START | MCBSP_SRGR_FRAMESYNC,
0x300u);
MCBSP_start(hMcbsp2,
MCBSP_XMIT_START | MCBSP_RCV_START |
MCBSP_SRGR_START | MCBSP_SRGR_FRAMESYNC,
0x300u);
MCBSP_ASSERT_HANDLE(hMcbsp1,return 10);
MCBSP_ASSERT_HANDLE(hMcbsp2,return 11);
return 1;
}
*/
/*-------------- 初始化GPIO0~GPIO7,设定GPIO引脚为输出 ----------*/
void GPIO_init()
{
GPIO_pinEnable(GPIO_PIN1);
GPIO_pinDirection(GPIO_PIN1,GPIO_OUTPUT);
GPIO_pinEnable(GPIO_PIN2);
GPIO_pinDirection(GPIO_PIN2,GPIO_OUTPUT);
GPIO_pinEnable(GPIO_PIN0);
GPIO_pinDirection(GPIO_PIN0,GPIO_OUTPUT);
GPIO_pinEnable(GPIO_PIN3);
GPIO_pinDirection(GPIO_PIN3,GPIO_OUTPUT);
GPIO_pinEnable(GPIO_PIN4);
GPIO_pinDirection(GPIO_PIN4,GPIO_OUTPUT);
GPIO_pinEnable(GPIO_PIN6); //Led
GPIO_pinDirection(GPIO_PIN6,GPIO_OUTPUT);
GPIO_pinEnable(GPIO_PIN7); //led
GPIO_pinDirection(GPIO_PIN7,GPIO_OUTPUT);
GPIO_pinEnable(GPIO_PIN10); //dog
GPIO_pinDirection(GPIO_PIN10,GPIO_OUTPUT);
//PIO_pinWrite(GPIO_PIN9,0);
//GPIO_RSET(IODIR,0x0ff);//设置GPIO口为输出,某位"0"为输入、"1"为输出
}
void sys_init()
{
int a;
checkflag=0;
abc:
a=0;
dsp_init(); //设定DSP工作模式
GPIO_init(); //GPIO0~GPIO7的初始化
a=mcbsp_init(); //串行口1、2的初始化
if(a!=1)
goto abc;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -