5502串口和DMA问题求救

[复制链接]
4989|7
 楼主| navywhj 发表于 2007-9-14 15:08 | 显示全部楼层 |阅读模式
我是想用McBSP接收一个帧信号为8K,时钟为4.096M的2倍E1的信号。<br />想法是帧信号和时钟都由外部提供,每帧64个8比特数据,A-law压扩。<br /><br />DMA设置为64个元素,接收/发送完64个数据产生中断。<br /><br />我搞了好几天还是不行。<br />似乎是串口没有配置对,明明配置成一帧64个元素,用rrdy/xrdy来触发中断,结果一帧只来了一个中断,也就是说只收到一个数据,其它63个都没有了?不知道怎么回事。<br />我的DMA也一直工作不正常,中断只能进去一次,后面就进不去了。<br />现在天天找问题,头晕脑胀啊。<br /><br />我的配置文件放在下面大家看看。<br />因为怕那个8k的时钟对不齐,所以先初始化一个由FRAME触发的中断,然后在这个中断程序里面重新初始化串口和DMA。<br />发现5502真是很麻烦。<br /><br /><br /><br /><br />/********************************************************************************/<br />/*&nbsp;文件名:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GSBPerConfg.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />/*&nbsp;创建日期:&nbsp;&nbsp;&nbsp;&nbsp;08/06/2007&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;功能描述:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;外设寄存器配置参数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;Author&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;whj&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/********************************************************************************/<br />#ifndef&nbsp;_GSB_PER_CNFG<br />#define&nbsp;_GSB_PER_CNFG<br /><br />#include&nbsp;&ltcsl.h&gt<br />#include&nbsp;&ltcsl_pll.h&gt<br />#include&nbsp;&ltcsl_chip.h&gt<br />#include&nbsp;&ltcsl_irq.h&gt<br />#include&nbsp;&ltcsl_gpt.h&gt<br /><br />#include&nbsp;&ltcsl_chip.h&gt<br />#include&nbsp;&ltcsl_mcbsp.h&gt<br />#include&nbsp;&ltcsl_hpi.h&gt<br />#include&nbsp;&ltcsl_dma.h&gt<br /><br /><br />//一帧中的时隙数<br />#define&nbsp;&nbsp;&nbsp;TS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;64<br /><br /><br />/*&nbsp;Define&nbsp;transmit&nbsp;and&nbsp;receive&nbsp;buffers&nbsp;*/<br />#pragma&nbsp;DATA_SECTION(xmt,&quot;dmaMem&quot;)<br />Int16&nbsp;xmt[TS];<br /><br />#pragma&nbsp;DATA_SECTION(rcv,&quot;dmaMem&quot;)<br />Int16&nbsp;rcv[TS];<br /><br /><br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;/*64&nbsp;bit&nbsp;general&nbsp;purpose&nbsp;timer&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Define&nbsp;and&nbsp;initialize&nbsp;the&nbsp;GPT&nbsp;module&nbsp;configuration&nbsp;structure&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;GPT_Config&nbsp;&nbsp;MyGptConfig&nbsp;=&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Emulation&nbsp;management&nbsp;register<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//GPIO&nbsp;interrupt&nbsp;control&nbsp;register<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//GPIO&nbsp;enable&nbsp;register<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//GPIO&nbsp;direction&nbsp;register<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//GPIO&nbsp;data&nbsp;register<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xB9EF,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Timer&nbsp;period&nbsp;register&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x05F5,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Timer&nbsp;period&nbsp;register&nbsp;2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Timer&nbsp;period&nbsp;register&nbsp;3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Timer&nbsp;period&nbsp;register&nbsp;4<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL1_RMK(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Timer&nbsp;control&nbsp;register&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL1_TIEN_NOT_GATED,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL1_CLKSRC_VBUS,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL1_ENAMODE_CONTINUOUS,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL1_PWID_INACTIVE_1CYCLE,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL1_CP_CLOCK_MODE,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL1_INVIN_DONT_INVERT_OUTPUT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL1_INVOUT_DONT_INVERT_OUTPUT<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL2_RMK(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Timer&nbsp;control&nbsp;register&nbsp;2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL2_TIEN_NOT_GATED,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL2_CLKSRC_VBUS,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL2_ENAMODE_CONTINUOUS,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL2_PWID_INACTIVE_1CYCLE,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL2_CP_CLOCK_MODE,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL2_INVIN_DONT_INVERT_OUTPUT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTCTL2_INVOUT_DONT_INVERT_OUTPUT<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTGCTL1_RMK(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Global&nbsp;timer&nbsp;control&nbsp;register<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTGCTL1_PSC34_DEFAULT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTGCTL1_TIMMODE_DEFAULT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTGCTL1_TIM34RS_NOT_IN_RESET,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPT_GPTGCTL1_TIM12RS_NOT_IN_RESET<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;};<br /><br />/**********&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;McBSP&nbsp;Config&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*****************/<br />&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_Config&nbsp;GSBMcBspConfigInit&nbsp;=&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_DLB_OFF,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;Digital&nbsp;loopback&nbsp;Disable&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_RJUST_RZF,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Right&nbsp;justify&nbsp;the&nbsp;data&nbsp;and&nbsp;zero&nbsp;fill&nbsp;the&nbsp;MSBs.&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_CLKSTP_DISABLE,&nbsp;/*Clock&nbsp;stop&nbsp;mode&nbsp;is&nbsp;disabled.&nbsp;only&nbsp;used&nbsp;in&nbsp;SPI&nbsp;protocol&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_DXENA_OFF,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*DX&nbsp;delay&nbsp;enabler&nbsp;off&nbsp;&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_ABIS_DISABLE,&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_RINTM_FRM,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Receive&nbsp;Ready&nbsp;interrupt*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_RSYNCERR_NO,&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;No&nbsp;error&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_RFULL_YES,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Read&nbsp;Only&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_RRDY_YES,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Read&nbsp;Only&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_RRST_ENABLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Not&nbsp;in&nbsp;Reset&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//0x01,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_FREE_NO,&nbsp;&nbsp;&nbsp;&nbsp;/*The&nbsp;McBSP&nbsp;transmit&nbsp;and&nbsp;receive&nbsp;clocks&nbsp;are&nbsp;affected&nbsp;as&nbsp;determined&nbsp;by&nbsp;the&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*SOFT&nbsp;bit.&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_SOFT_YES,&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;The&nbsp;McBSP&nbsp;transmit&nbsp;clock&nbsp;stops&nbsp;after&nbsp;completion&nbsp;of&nbsp;the&nbsp;current<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;serial&nbsp;word&nbsp;transfer.&nbsp;The&nbsp;McBSP&nbsp;receive&nbsp;clock&nbsp;is&nbsp;not&nbsp;affected.*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_FRST_FSG,&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;1:&nbsp;frame-sync&nbsp;logic&nbsp;not&nbsp;in&nbsp;Reset*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_GRST_CLKG,&nbsp;&nbsp;&nbsp;/*&nbsp;1:&nbsp;Not&nbsp;in&nbsp;reset&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_XINTM_XRDY,&nbsp;&nbsp;/*&nbsp;interrupt&nbsp;is&nbsp;sent&nbsp;when&nbsp;each&nbsp;one&nbsp;word&nbsp;is&nbsp;tansmitted&nbsp;completely*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_XSYNCERR_NO,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_XEMPTY_YES,&nbsp;&nbsp;&nbsp;/*Read&nbsp;Only&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_XRDY_YES,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*Read&nbsp;Only&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_XRST_ENABLE&nbsp;&nbsp;&nbsp;/*&nbsp;enable&nbsp;transmitter&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR1_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR1_RFRLEN1_OF(1),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;1&nbsp;words&nbsp;per&nbsp;receive&nbsp;frame&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR1_RWDLEN1_8BIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;receive&nbsp;word&nbsp;length&nbsp;8&nbsp;bit&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR2_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR2_RPHASE_SINGLE,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;signle&nbsp;phase&nbsp;*/&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR2_RFRLEN2_OF(0),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;phase&nbsp;2&nbsp;not&nbsp;used&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR2_RWDLEN2_8BIT&nbsp;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;no&nbsp;meaning&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR2_RCOMPAND_ALAW,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*ALAW&nbsp;companding&nbsp;in&nbsp;reception&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR2_RFIG_YES,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;An&nbsp;unexpected&nbsp;FSR&nbsp;pulse&nbsp;causes&nbsp;the&nbsp;receiver&nbsp;to&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;discard&nbsp;the&nbsp;contents&nbsp;of&nbsp;RSR[1,2]&nbsp;in&nbsp;favor&nbsp;of&nbsp;the&nbsp;new&nbsp;incoming&nbsp;data.*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR2_RDATDLY_1BIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;rcv&nbsp;1&nbsp;bit&nbsp;delay&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR1_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR1_XFRLEN1_OF(1),&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Transmit&nbsp;frame&nbsp;length&nbsp;1&nbsp;(1&nbsp;to&nbsp;128&nbsp;words).&nbsp;64&nbsp;words&nbsp;per&nbsp;frame&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR1_XWDLEN1_8BIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;transmit&nbsp;word&nbsp;length1&nbsp;8&nbsp;bit&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR2_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR2_XPHASE_SINGLE,&nbsp;&nbsp;/*&nbsp;&nbsp;The&nbsp;transmit&nbsp;frame&nbsp;has&nbsp;only&nbsp;one&nbsp;phase,&nbsp;phase&nbsp;1&nbsp;*/&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR2_XFRLEN2_OF(0),&nbsp;&nbsp;/*&nbsp;phase&nbsp;2&nbsp;not&nbsp;used&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR2_XWDLEN2_8BIT,&nbsp;&nbsp;&nbsp;/*&nbsp;Transmit&nbsp;word&nbsp;length&nbsp;2,&nbsp;no&nbsp;used&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR2_XCOMPAND_ALAW,&nbsp;&nbsp;/*&nbsp;&nbsp;ALAW&nbsp;companding&nbsp;in&nbsp;transmission&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR2_XFIG_YES,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;Unexpected&nbsp;Transmit&nbsp;Frame-Synch&nbsp;Pulse&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR2_XDATDLY_1BIT&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;xmt&nbsp;1&nbsp;bit&nbsp;delay&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR1_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR1_FWID_OF(0),&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Frame-sync(FSG)&nbsp;pulse&nbsp;width&nbsp;is&nbsp;1(0+1)&nbsp;CLKG&nbsp;cycles&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR1_CLKGDV_OF(0)&nbsp;&nbsp;&nbsp;/*&nbsp;CLKG&nbsp;frequency&nbsp;=&nbsp;(Input&nbsp;clock&nbsp;frequency)&nbsp;/&nbsp;(CLKGDV&nbsp;+&nbsp;1),&nbsp;CLKG&nbsp;equals&nbsp;to&nbsp;CLKR/CLKX&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR2_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR2_GSYNC_FREE,&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Always&nbsp;write&nbsp;0&nbsp;to&nbsp;this&nbsp;bit&nbsp;on&nbsp;5502,NO&nbsp;this&nbsp;function&nbsp;on&nbsp;5502&nbsp;&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR2_CLKSP_RISING,&nbsp;&nbsp;/*&nbsp;we&nbsp;don't&nbsp;use&nbsp;CLKS&nbsp;input,&nbsp;don't&nbsp;care&nbsp;this&nbsp;bit*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR2_CLKSM_CLKS,/*&nbsp;0&nbsp;:&nbsp;input&nbsp;clock&nbsp;for&nbsp;sample&nbsp;rate&nbsp;generator&nbsp;is&nbsp;Signal&nbsp;on&nbsp;CLKS/CLKR&nbsp;pin,depend&nbsp;on&nbsp;SCLKME&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR2_FSGM_FSG,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;the&nbsp;transmitter&nbsp;uses&nbsp;frame-sync&nbsp;pulses&nbsp;generated&nbsp;by&nbsp;the&nbsp;sample&nbsp;rate&nbsp;generator&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR2_FPER_OF(511)&nbsp;&nbsp;&nbsp;/*&nbsp;Frame-sync&nbsp;period&nbsp;is&nbsp;512&nbsp;CLKG&nbsp;cycles*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_MCR1_DEFAULT,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;we&nbsp;don't&nbsp;use&nbsp;multiple&nbsp;channels*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_MCR2_DEFAULT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;IDLEEN,&nbsp;5502&nbsp;should&nbsp;write&nbsp;to&nbsp;0*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_XIOEN_SP,&nbsp;&nbsp;&nbsp;&nbsp;/*The&nbsp;CLKX,&nbsp;FSX,&nbsp;DX,&nbsp;and&nbsp;CLKS&nbsp;pins&nbsp;are&nbsp;serial&nbsp;port&nbsp;pins*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_RIOEN_SP,&nbsp;&nbsp;&nbsp;&nbsp;/*The&nbsp;CLKR,&nbsp;FSR,&nbsp;DR,&nbsp;and&nbsp;CLKS&nbsp;pins&nbsp;are&nbsp;serial&nbsp;port&nbsp;pins*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_FSXM_EXTERNAL,&nbsp;/*Transmit&nbsp;frame&nbsp;synchronization&nbsp;is&nbsp;supplied&nbsp;by&nbsp;an&nbsp;external&nbsp;source&nbsp;via&nbsp;the&nbsp;FSX&nbsp;pin.*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_FSRM_EXTERNAL,&nbsp;/*Receive&nbsp;&nbsp;frame&nbsp;synchronization&nbsp;is&nbsp;supplied&nbsp;by&nbsp;an&nbsp;external&nbsp;source&nbsp;via&nbsp;the&nbsp;FSR&nbsp;pin*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_SCLKME_BCLK,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*1&nbsp;:The&nbsp;input&nbsp;clock&nbsp;for&nbsp;the&nbsp;sample&nbsp;rate&nbsp;generator&nbsp;is&nbsp;taken&nbsp;from&nbsp;the&nbsp;CLKR&nbsp;pin&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*cause&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;CLKSM&nbsp;bit&nbsp;of&nbsp;SRGR2&nbsp;is&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_CLKSSTAT_0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;CLKS&nbsp;pin&nbsp;status&nbsp;bit.&nbsp;5502&nbsp;doesn't&nbsp;have&nbsp;this&nbsp;pin&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_DXSTAT_0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;DX&nbsp;pin&nbsp;status&nbsp;bit.&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_DRSTAT_0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;DR&nbsp;pin&nbsp;status&nbsp;bit.&nbsp;Not&nbsp;GPIO,&nbsp;no&nbsp;meaning&nbsp;here&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_CLKXM_INPUT,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;The&nbsp;transmitter&nbsp;gets&nbsp;its&nbsp;clock&nbsp;signal&nbsp;from&nbsp;an&nbsp;external&nbsp;source&nbsp;via&nbsp;the&nbsp;CLKX&nbsp;pin.&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_CLKRM_INPUT,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;The&nbsp;transmitter&nbsp;gets&nbsp;its&nbsp;clock&nbsp;signal&nbsp;from&nbsp;an&nbsp;external&nbsp;source&nbsp;via&nbsp;the&nbsp;CLKR&nbsp;pin.&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_FSXP_ACTIVEHIGH,&nbsp;&nbsp;/*&nbsp;&nbsp;Transmit&nbsp;frame-sync&nbsp;pulses&nbsp;are&nbsp;active&nbsp;low.&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_FSRP_ACTIVEHIGH,&nbsp;&nbsp;/*&nbsp;&nbsp;Receive&nbsp;frame-sync&nbsp;pulses&nbsp;are&nbsp;active&nbsp;low.&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_CLKXP_RISING,&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;Transmit&nbsp;data&nbsp;is&nbsp;driven&nbsp;on&nbsp;the&nbsp;rising&nbsp;edge&nbsp;of&nbsp;CLKX,发送上升沿&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_CLKRP_FALLING&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;When&nbsp;the&nbsp;CLKR&nbsp;pin&nbsp;is&nbsp;configured&nbsp;as&nbsp;an&nbsp;input,&nbsp;the&nbsp;external&nbsp;CLKR&nbsp;is&nbsp;not&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;inverted&nbsp;before&nbsp;being&nbsp;used&nbsp;internally&nbsp;and&nbsp;the&nbsp;receive&nbsp;data&nbsp;is&nbsp;sampled&nbsp;on&nbsp;the&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;falling&nbsp;edge&nbsp;of&nbsp;CLKR.&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERA_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERB_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERC_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERD_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERE_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERF_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERG_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERH_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERA_DEFAULT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERB_DEFAULT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERC_DEFAULT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERD_DEFAULT,&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERE_DEFAULT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERF_DEFAULT,&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERG_DEFAULT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERH_DEFAULT&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;};<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;/**********&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;McBSP&nbsp;Config&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*****************/<br />&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_Config&nbsp;GSBMcBspConfig&nbsp;=&nbsp;{<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_RMK(<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_DLB_OFF,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;Digital&nbsp;loopback&nbsp;Disable&nbsp;*/<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_RJUST_RZF,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Right&nbsp;justify&nbsp;the&nbsp;data&nbsp;and&nbsp;zero&nbsp;fill&nbsp;the&nbsp;MSBs.&nbsp;*/<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_CLKSTP_DISABLE,&nbsp;/*Clock&nbsp;stop&nbsp;mode&nbsp;is&nbsp;disabled.&nbsp;only&nbsp;used&nbsp;in&nbsp;SPI&nbsp;protocol&nbsp;&nbsp;*/<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_DXENA_OFF,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*DX&nbsp;delay&nbsp;enabler&nbsp;off&nbsp;&nbsp;*/&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_ABIS_DISABLE,&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;*/<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_RINTM_RRDY,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Receive&nbsp;Ready&nbsp;interrupt*/<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_RSYNCERR_NO,&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;No&nbsp;error&nbsp;*/<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_RFULL_YES,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Read&nbsp;Only&nbsp;*/<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_RRDY_YES,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Read&nbsp;Only&nbsp;*/<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR1_RRST_ENABLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Not&nbsp;in&nbsp;Reset&nbsp;*/<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x01,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_FREE_NO,&nbsp;&nbsp;&nbsp;&nbsp;/*The&nbsp;McBSP&nbsp;transmit&nbsp;and&nbsp;receive&nbsp;clocks&nbsp;are&nbsp;affected&nbsp;as&nbsp;determined&nbsp;by&nbsp;the&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*SOFT&nbsp;bit.&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_SOFT_YES,&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;The&nbsp;McBSP&nbsp;transmit&nbsp;clock&nbsp;stops&nbsp;after&nbsp;completion&nbsp;of&nbsp;the&nbsp;current<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;serial&nbsp;word&nbsp;transfer.&nbsp;The&nbsp;McBSP&nbsp;receive&nbsp;clock&nbsp;is&nbsp;not&nbsp;affected.*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_FRST_FSG,&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;1:&nbsp;frame-sync&nbsp;logic&nbsp;not&nbsp;in&nbsp;Reset*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_GRST_CLKG,&nbsp;&nbsp;&nbsp;/*&nbsp;1:&nbsp;Not&nbsp;in&nbsp;reset&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_XINTM_XRDY,&nbsp;&nbsp;/*&nbsp;interrupt&nbsp;is&nbsp;sent&nbsp;when&nbsp;each&nbsp;one&nbsp;word&nbsp;is&nbsp;tansmitted&nbsp;completely*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_XSYNCERR_NO,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_XEMPTY_YES,&nbsp;&nbsp;&nbsp;/*Read&nbsp;Only&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_XRDY_YES,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*Read&nbsp;Only&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SPCR2_XRST_ENABLE&nbsp;&nbsp;&nbsp;/*&nbsp;enable&nbsp;transmitter&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR1_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR1_RFRLEN1_OF(TS),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;64&nbsp;words&nbsp;per&nbsp;receive&nbsp;frame&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR1_RWDLEN1_8BIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;receive&nbsp;word&nbsp;length&nbsp;8&nbsp;bit&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR2_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR2_RPHASE_SINGLE,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;signle&nbsp;phase&nbsp;*/&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR2_RFRLEN2_OF(0),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;phase&nbsp;2&nbsp;not&nbsp;used&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR2_RWDLEN2_8BIT&nbsp;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;no&nbsp;meaning&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR2_RCOMPAND_ALAW,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*ALAW&nbsp;companding&nbsp;in&nbsp;reception&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR2_RFIG_YES,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;An&nbsp;unexpected&nbsp;FSR&nbsp;pulse&nbsp;causes&nbsp;the&nbsp;receiver&nbsp;to&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;discard&nbsp;the&nbsp;contents&nbsp;of&nbsp;RSR[1,2]&nbsp;in&nbsp;favor&nbsp;of&nbsp;the&nbsp;new&nbsp;incoming&nbsp;data.*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCR2_RDATDLY_1BIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;rcv&nbsp;1&nbsp;bit&nbsp;delay&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR1_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR1_XFRLEN1_OF(TS),&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Transmit&nbsp;frame&nbsp;length&nbsp;1&nbsp;(1&nbsp;to&nbsp;128&nbsp;words).&nbsp;64&nbsp;words&nbsp;per&nbsp;frame&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR1_XWDLEN1_8BIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;transmit&nbsp;word&nbsp;length1&nbsp;8&nbsp;bit&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR2_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR2_XPHASE_SINGLE,&nbsp;&nbsp;/*&nbsp;&nbsp;The&nbsp;transmit&nbsp;frame&nbsp;has&nbsp;only&nbsp;one&nbsp;phase,&nbsp;phase&nbsp;1&nbsp;*/&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR2_XFRLEN2_OF(0),&nbsp;&nbsp;/*&nbsp;phase&nbsp;2&nbsp;not&nbsp;used&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR2_XWDLEN2_8BIT,&nbsp;&nbsp;&nbsp;/*&nbsp;Transmit&nbsp;word&nbsp;length&nbsp;2,&nbsp;no&nbsp;used&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR2_XCOMPAND_ALAW,&nbsp;&nbsp;/*&nbsp;&nbsp;ALAW&nbsp;companding&nbsp;in&nbsp;transmission&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR2_XFIG_YES,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;Unexpected&nbsp;Transmit&nbsp;Frame-Synch&nbsp;Pulse&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCR2_XDATDLY_1BIT&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;xmt&nbsp;1&nbsp;bit&nbsp;delay&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR1_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR1_FWID_OF(0),&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Frame-sync(FSG)&nbsp;pulse&nbsp;width&nbsp;is&nbsp;1(0+1)&nbsp;CLKG&nbsp;cycles&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR1_CLKGDV_OF(0)&nbsp;&nbsp;&nbsp;/*&nbsp;CLKG&nbsp;frequency&nbsp;=&nbsp;(Input&nbsp;clock&nbsp;frequency)&nbsp;/&nbsp;(CLKGDV&nbsp;+&nbsp;1),&nbsp;CLKG&nbsp;equals&nbsp;to&nbsp;CLKR/CLKX&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR2_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR2_GSYNC_FREE,&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Always&nbsp;write&nbsp;0&nbsp;to&nbsp;this&nbsp;bit&nbsp;on&nbsp;5502,NO&nbsp;this&nbsp;function&nbsp;on&nbsp;5502&nbsp;&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR2_CLKSP_RISING,&nbsp;&nbsp;/*&nbsp;we&nbsp;don't&nbsp;use&nbsp;CLKS&nbsp;input,&nbsp;don't&nbsp;care&nbsp;this&nbsp;bit*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR2_CLKSM_CLKS,/*&nbsp;0&nbsp;:&nbsp;input&nbsp;clock&nbsp;for&nbsp;sample&nbsp;rate&nbsp;generator&nbsp;is&nbsp;Signal&nbsp;on&nbsp;CLKS/CLKR&nbsp;pin,depend&nbsp;on&nbsp;SCLKME&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR2_FSGM_FSG,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;the&nbsp;transmitter&nbsp;uses&nbsp;frame-sync&nbsp;pulses&nbsp;generated&nbsp;by&nbsp;the&nbsp;sample&nbsp;rate&nbsp;generator&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_SRGR2_FPER_OF(511)&nbsp;&nbsp;&nbsp;/*&nbsp;Frame-sync&nbsp;period&nbsp;is&nbsp;512&nbsp;CLKG&nbsp;cycles*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_MCR1_DEFAULT,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;we&nbsp;don't&nbsp;use&nbsp;multiple&nbsp;channels*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_MCR2_DEFAULT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;IDLEEN,&nbsp;5502&nbsp;should&nbsp;write&nbsp;to&nbsp;0*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_XIOEN_SP,&nbsp;&nbsp;&nbsp;&nbsp;/*The&nbsp;CLKX,&nbsp;FSX,&nbsp;DX,&nbsp;and&nbsp;CLKS&nbsp;pins&nbsp;are&nbsp;serial&nbsp;port&nbsp;pins*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_RIOEN_SP,&nbsp;&nbsp;&nbsp;&nbsp;/*The&nbsp;CLKR,&nbsp;FSR,&nbsp;DR,&nbsp;and&nbsp;CLKS&nbsp;pins&nbsp;are&nbsp;serial&nbsp;port&nbsp;pins*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_FSXM_EXTERNAL,&nbsp;/*Transmit&nbsp;frame&nbsp;synchronization&nbsp;is&nbsp;supplied&nbsp;by&nbsp;an&nbsp;external&nbsp;source&nbsp;via&nbsp;the&nbsp;FSX&nbsp;pin.*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_FSRM_EXTERNAL,&nbsp;/*Receive&nbsp;&nbsp;frame&nbsp;synchronization&nbsp;is&nbsp;supplied&nbsp;by&nbsp;an&nbsp;external&nbsp;source&nbsp;via&nbsp;the&nbsp;FSR&nbsp;pin*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_SCLKME_BCLK,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*1&nbsp;:The&nbsp;input&nbsp;clock&nbsp;for&nbsp;the&nbsp;sample&nbsp;rate&nbsp;generator&nbsp;is&nbsp;taken&nbsp;from&nbsp;the&nbsp;CLKR&nbsp;pin&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*cause&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;CLKSM&nbsp;bit&nbsp;of&nbsp;SRGR2&nbsp;is&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_CLKSSTAT_0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;CLKS&nbsp;pin&nbsp;status&nbsp;bit.&nbsp;5502&nbsp;doesn't&nbsp;have&nbsp;this&nbsp;pin&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_DXSTAT_0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;DX&nbsp;pin&nbsp;status&nbsp;bit.&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_DRSTAT_0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;DR&nbsp;pin&nbsp;status&nbsp;bit.&nbsp;Not&nbsp;GPIO,&nbsp;no&nbsp;meaning&nbsp;here&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_CLKXM_INPUT,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;The&nbsp;transmitter&nbsp;gets&nbsp;its&nbsp;clock&nbsp;signal&nbsp;from&nbsp;an&nbsp;external&nbsp;source&nbsp;via&nbsp;the&nbsp;CLKX&nbsp;pin.&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_CLKRM_INPUT,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;The&nbsp;transmitter&nbsp;gets&nbsp;its&nbsp;clock&nbsp;signal&nbsp;from&nbsp;an&nbsp;external&nbsp;source&nbsp;via&nbsp;the&nbsp;CLKR&nbsp;pin.&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_FSXP_ACTIVEHIGH,&nbsp;&nbsp;/*&nbsp;&nbsp;Transmit&nbsp;frame-sync&nbsp;pulses&nbsp;are&nbsp;active&nbsp;low.&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_FSRP_ACTIVEHIGH,&nbsp;&nbsp;/*&nbsp;&nbsp;Receive&nbsp;frame-sync&nbsp;pulses&nbsp;are&nbsp;active&nbsp;low.&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_CLKXP_RISING,&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;Transmit&nbsp;data&nbsp;is&nbsp;driven&nbsp;on&nbsp;the&nbsp;rising&nbsp;edge&nbsp;of&nbsp;CLKX,发送上升沿&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_PCR_CLKRP_FALLING&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;When&nbsp;the&nbsp;CLKR&nbsp;pin&nbsp;is&nbsp;configured&nbsp;as&nbsp;an&nbsp;input,&nbsp;the&nbsp;external&nbsp;CLKR&nbsp;is&nbsp;not&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;inverted&nbsp;before&nbsp;being&nbsp;used&nbsp;internally&nbsp;and&nbsp;the&nbsp;receive&nbsp;data&nbsp;is&nbsp;sampled&nbsp;on&nbsp;the&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;falling&nbsp;edge&nbsp;of&nbsp;CLKR.&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERA_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERB_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERC_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERD_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERE_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERF_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERG_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_RCERH_DEFAULT,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERA_DEFAULT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERB_DEFAULT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERC_DEFAULT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERD_DEFAULT,&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERE_DEFAULT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERF_DEFAULT,&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERG_DEFAULT,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_XCERH_DEFAULT&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;};<br /><br /><br /><br /><br /><br /><br />/*&nbsp;Create&nbsp;DMA&nbsp;Receive&nbsp;Side&nbsp;Configuration&nbsp;*/<br /><br />/*&nbsp;&nbsp;&nbsp;DMACSDP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dstben&nbsp;&nbsp;&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dstpack&nbsp;&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dst&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;srcben&nbsp;&nbsp;&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;srcpack&nbsp;&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;==&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;datatype&nbsp;&nbsp;==&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;DMACCR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dstamode&nbsp;&nbsp;==&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;srcamode&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endprog&nbsp;&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;repeat&nbsp;&nbsp;&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;autoinit&nbsp;&nbsp;==&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;en&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prio&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sync&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;DMACICR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;blockie&nbsp;&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lastie&nbsp;&nbsp;&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frameie&nbsp;&nbsp;&nbsp;==&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;firsthalfie&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dropie&nbsp;&nbsp;&nbsp;&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timeoutie&nbsp;==&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />DMA_Config&nbsp;&nbsp;dmaRcvConfig&nbsp;=&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACSDP_RMK(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACSDP_DSTBEN_NOBURST,&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;dest&nbsp;NO&nbsp;burst&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACSDP_DSTPACK_OFF,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;DST&nbsp;Packing&nbsp;disabled&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACSDP_DST_DARAM,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;DST&nbsp;is&nbsp;DARAM&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACSDP_SRCBEN_NOBURST,&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;source&nbsp;NO&nbsp;burst&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACSDP_SRCPACK_OFF,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;source&nbsp;&nbsp;Packing&nbsp;disabled*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACSDP_SRC_PERIPH,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;source&nbsp;is&nbsp;PERIPH,&nbsp;McBSP0(RCV)*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACSDP_DATATYPE_16BIT<br />&nbsp;&nbsp;&nbsp;&nbsp;),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;DMACSDP&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACCR_RMK(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;chanel&nbsp;control&nbsp;register&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACCR_DSTAMODE_DBLINDX,&nbsp;&nbsp;/*After&nbsp;each&nbsp;element&nbsp;transfer,&nbsp;the&nbsp;address&nbsp;is&nbsp;incremented&nbsp;according&nbsp;to&nbsp;the&nbsp;selected&nbsp;data&nbsp;type:*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACCR_SRCAMODE_CONST,&nbsp;&nbsp;&nbsp;&nbsp;/*Constant&nbsp;address*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACCR_ENDPROG_ON,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;1&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACCR_REPEAT_ON,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*Repeat&nbsp;only&nbsp;if&nbsp;ENDPROG&nbsp;=&nbsp;1*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACCR_AUTOINIT_ON,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*Auto-initialization&nbsp;is&nbsp;enabled*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACCR_EN_START,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*1,&nbsp;Channel&nbsp;is&nbsp;enabled*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACCR_PRIO_LOW,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACCR_FS_ELEMENT,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;event&nbsp;occurs,&nbsp;one&nbsp;element&nbsp;transfered&nbsp;*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACCR_SYNC_REVT0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;McBSP&nbsp;0&nbsp;receive&nbsp;event&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;DMACCR&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACICR_RMK(&nbsp;&nbsp;&nbsp;/*&nbsp;interrupt&nbsp;control&nbsp;register&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACICR_BLOCKIE_OFF,&nbsp;&nbsp;/*&nbsp;address&nbsp;error&nbsp;interrupt&nbsp;off&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACICR_LASTIE_OFF,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACICR_FRAMEIE_ON,&nbsp;&nbsp;&nbsp;/*&nbsp;when&nbsp;all&nbsp;of&nbsp;current&nbsp;frame&nbsp;transfer&nbsp;complete,&nbsp;send&nbsp;int&nbsp;to&nbsp;cpu&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACICR_FIRSTHALFIE_OFF,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACICR_DROPIE_OFF,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_DMACICR_TIMEOUTIE_OFF<br />&nbsp;&nbsp;&nbsp;&nbsp;),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;DMACICR&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;(DMA_AdrPtr)(MCBSP_ADDR(DRR10)),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;DMACSSAL,&nbsp;lower&nbsp;part,&nbsp;Data&nbsp;Receive&nbsp;Register&nbsp;1,&nbsp;McBSP&nbsp;#0&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;DMACSSAU&nbsp;&nbsp;source&nbsp;start&nbsp;address&nbsp;upper&nbsp;part*/<br />&nbsp;&nbsp;&nbsp;&nbsp;(DMA_AdrPtr)&rcv[0],&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;DMACDSAL;&nbsp;Destination&nbsp;Start&nbsp;Address&nbsp;Registers&nbsp;lower&nbsp;part&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;DMACDSAU&nbsp;upper&nbsp;part*/<br />&nbsp;&nbsp;&nbsp;&nbsp;(TS-1),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;DMACEN;&nbsp;numbr&nbsp;of&nbsp;element&nbsp;per&nbsp;Frame&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;1,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;DMACFN;&nbsp;frame&nbsp;number&nbsp;per&nbsp;block&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;DMACFI;&nbsp;source&nbsp;frame&nbsp;index&nbsp;&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;DMACEI;&nbsp;source&nbsp;element&nbsp;index&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp
 楼主| navywhj 发表于 2007-9-14 15:11 | 显示全部楼层

程序也发过来吧,一直在调,就是不知道问题在哪里。

<br />/********************************************************************************/<br />/*&nbsp;文件名:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Main.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />/*&nbsp;创建日期:&nbsp;&nbsp;&nbsp;&nbsp;08/06/2007&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;功能描述:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;主程序&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;&nbsp;&nbsp;Author&nbsp;&nbsp;:&nbsp;&nbsp;whj&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />/********************************************************************************/<br />#include&nbsp;&ltstdio.h&gt<br />#include&nbsp;&ltcsl.h&gt<br />#include&nbsp;&ltcsl_pll.h&gt<br />#include&nbsp;&ltcsl_chip.h&gt<br />#include&nbsp;&ltcsl_irq.h&gt<br />#include&nbsp;&ltcsl_gpt.h&gt<br />#include&nbsp;&ltcsl_chip.h&gt<br /><br />#include&nbsp;&ltcsl_mcbsp.h&gt<br />#include&nbsp;&ltcsl_hpi.h&gt<br /><br />#include&nbsp;&quot;GSBPerConfg.h&quot;<br />#include&nbsp;&quot;MFCFrequent.h&quot;<br /><br /><br /><br />Uint16&nbsp;MFC_Detect(Int16&nbsp;input_x[],&nbsp;Int16&nbsp;coef_cos[],&nbsp;Uint16&nbsp;N_point,&nbsp;Uint16&nbsp;MFC_num);<br />//extern&nbsp;void&nbsp;SingleFrqGen(Int16&nbsp;freq,&nbsp;float&nbsp;Amptd,&nbsp;Int16&nbsp;Q8frqtab[],&nbsp;Uint16&nbsp;N);<br /><br />/*&nbsp;Function/ISR&nbsp;prototypes&nbsp;*/<br />interrupt&nbsp;void&nbsp;Timer0Isr(void);<br /><br />void&nbsp;BSP_Init();<br />void&nbsp;DMA_Init();<br />void&nbsp;GPTimer_Init();<br />void&nbsp;HPI_Init();<br /><br />void&nbsp;DSPSendIntToHost(Uint16&nbsp;ts,&nbsp;Uint16&nbsp;SigNum);<br /><br />interrupt&nbsp;void&nbsp;dmaXmtIsr(void);&nbsp;<br />interrupt&nbsp;void&nbsp;dmaRcvIsr(void);&nbsp;<br />interrupt&nbsp;void&nbsp;HpiIntIsr(void);&nbsp;<br />interrupt&nbsp;void&nbsp;McBSP0XmtInt(void);<br />interrupt&nbsp;void&nbsp;McBSP0RcvInt(void);<br />interrupt&nbsp;void&nbsp;NmiIntIsr(void);<br /><br /><br /><br /><br />/*&nbsp;Reference&nbsp;start&nbsp;of&nbsp;interrupt&nbsp;vector&nbsp;table&nbsp;&nbsp;&nbsp;*/<br />/*&nbsp;This&nbsp;symbol&nbsp;is&nbsp;defined&nbsp;in&nbsp;file,&nbsp;vectors.s55&nbsp;*/<br />extern&nbsp;void&nbsp;VECSTART(void);<br /><br /><br />#define&nbsp;DSPNUM&nbsp;1<br /><br /><br />#pragma&nbsp;DATA_SECTION(HpiData,&quot;HpiRam&quot;)<br />Uint16&nbsp;HpiData[128];<br /><br />//HpiData[0]:为HOST对DSP的命令,分别为下面两个宏定义,表示是开始接收MFC采样点还是发送MFC信号<br />#define&nbsp;HOSTCMD_RCVMFC&nbsp;0<br />#define&nbsp;HOSTCMD_SNDMFC&nbsp;0x55<br />//HpiData[1]:为发送MFC信号时,HOST对DSP的数据,高8比特为时隙号,低8比特为信令号<br />//HpiData[2]:为接收MFC信号时,HOST对DSP的数据,为时隙号,即那个时隙开始接收MFC<br /><br />//HpiData[3]:为接收MFC信号时,DSP对HOST的数据,为时隙号,即那个时隙已经接收到MFC<br />//HpiData[4]:为接收MFC信号时,DSP对HOST的数据,为信令号,&nbsp;即收到的是那个MFC<br />//HpiData[5]:为本地DSP号&nbsp;<br /><br /><br /><br /><br /><br /><br /><br />//MFC检测时的系数<br />//分别对应cos(2PI*(780+i*120)/8000以及cos(2PI*(1380+i*120)/8000的Q8值<br />Int16&nbsp;MFC_coef[10]={209,&nbsp;195,&nbsp;178,&nbsp;160,&nbsp;120,&nbsp;98,&nbsp;75,&nbsp;51,&nbsp;28,&nbsp;4};<br /><br /><br /><br />Uint16&nbsp;LEDMARK&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;设置指示灯的开关标志<br />/*&nbsp;通过定义宏来控制两个外围存储器映射的寄存器,从而实现对GPIO口的控制&nbsp;*/<br />#define&nbsp;&nbsp;GPIODIR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(volatile&nbsp;ioport&nbsp;Uint16*)(0x3400))<br />#define&nbsp;&nbsp;GPIODATA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(volatile&nbsp;ioport&nbsp;Uint16*)(0x3401))<br /><br /><br />#define&nbsp;&nbsp;DRR1_0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(volatile&nbsp;ioport&nbsp;Uint16*)(0x2800))<br />#define&nbsp;&nbsp;DXR1_0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(volatile&nbsp;ioport&nbsp;Uint16*)(0x2802))<br />&nbsp;<br />//每个MFC信号的采样点数<br />#define&nbsp;SAMPNUM&nbsp;105<br /><br />//接收发送状态<br />#define&nbsp;IDLE&nbsp;&nbsp;&nbsp;&nbsp;0<br />#define&nbsp;RCVMFC&nbsp;&nbsp;1<br />#define&nbsp;CALCMFC&nbsp;2<br />#define&nbsp;SNDMFC&nbsp;&nbsp;3<br /><br />//前后向信令<br />#define&nbsp;BACKSIG1&nbsp;&nbsp;20<br />#define&nbsp;BACKSIG2&nbsp;&nbsp;21<br />#define&nbsp;BACKSIG3&nbsp;&nbsp;22<br />#define&nbsp;BACKSIG4&nbsp;&nbsp;23<br />#define&nbsp;BACKSIG5&nbsp;&nbsp;24<br />#define&nbsp;BACKSIG6&nbsp;&nbsp;25<br /><br />#define&nbsp;FWDSIG1&nbsp;&nbsp;0<br />#define&nbsp;FWDSIG2&nbsp;&nbsp;1<br />#define&nbsp;FWDSIG3&nbsp;&nbsp;2<br />#define&nbsp;FWDSIG4&nbsp;&nbsp;3<br />#define&nbsp;FWDSIG5&nbsp;&nbsp;4<br />#define&nbsp;FWDSIG6&nbsp;&nbsp;5<br />#define&nbsp;FWDSIG7&nbsp;&nbsp;6<br />#define&nbsp;FWDSIG8&nbsp;&nbsp;7<br />#define&nbsp;FWDSIG9&nbsp;&nbsp;8<br />#define&nbsp;FWDSIG10&nbsp;&nbsp;9<br />#define&nbsp;FWDSIG11&nbsp;&nbsp;10<br />#define&nbsp;FWDSIG12&nbsp;&nbsp;11<br />#define&nbsp;FWDSIG13&nbsp;&nbsp;12<br />#define&nbsp;FWDSIG14&nbsp;&nbsp;13<br />#define&nbsp;FWDSIG15&nbsp;&nbsp;14<br /><br /><br /><br />/*&nbsp;全局变量定义&nbsp;*/<br />typedef&nbsp;struct&nbsp;CircuitData<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uint16&nbsp;RcvStatus;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;当前时隙状接收状态&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uint16&nbsp;RcvCnt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;接收采样信号计数器&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Int16&nbsp;&nbsp;MFCSampleData[SAMPNUM];&nbsp;&nbsp;/*&nbsp;MFC采样点数据&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uint16&nbsp;SndStatus;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;当前时隙发送状态&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Int16&nbsp;&nbsp;SndNum;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;发送的数据,对应于两个频率的数据&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uint16&nbsp;Sndcnt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;发送MFC计数器&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;CircuitData;&nbsp;&nbsp;&nbsp;&nbsp;<br />CircuitData&nbsp;TsCircuitData[TS];<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Create&nbsp;a&nbsp;TIMER_Handle&nbsp;object&nbsp;for&nbsp;use&nbsp;with&nbsp;TIMER_open&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;GPT_Handle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hGpt;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Define&nbsp;a&nbsp;MCBSP_Handle&nbsp;object&nbsp;to&nbsp;be&nbsp;used&nbsp;with&nbsp;MCBSP_open&nbsp;function&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_Handle&nbsp;hMcbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Define&nbsp;a&nbsp;DMA_Handle&nbsp;object&nbsp;to&nbsp;be&nbsp;used&nbsp;with&nbsp;DMA_open&nbsp;function&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;DMA_Handle&nbsp;hDmaRcv,&nbsp;hDmaXmt;<br /><br />Uint16&nbsp;McbspWork&nbsp;=&nbsp;0;<br />Uint16&nbsp;TstCnt&nbsp;=&nbsp;0;<br />void&nbsp;main(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;Int16&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;Uint16&nbsp;SigNum;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Initialize&nbsp;CSL&nbsp;library&nbsp;-&nbsp;This&nbsp;is&nbsp;REQUIRED&nbsp;!!!&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;CSL_init();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;PLL&nbsp;configuration&nbsp;structure&nbsp;used&nbsp;to&nbsp;set&nbsp;up&nbsp;PLL&nbsp;interface&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;主频为300Mhz<br />&nbsp;&nbsp;&nbsp;&nbsp;PLL_setFreq(1,&nbsp;0xF,&nbsp;0,&nbsp;1,&nbsp;3,&nbsp;3,&nbsp;0);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Set&nbsp;IVPH/IVPD&nbsp;to&nbsp;start&nbsp;of&nbsp;interrupt&nbsp;vector&nbsp;table&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_setVecs((Uint32)(&VECSTART));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Temporarily&nbsp;disable&nbsp;all&nbsp;maskable&nbsp;interrupts&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;&nbsp;i&lt64;&nbsp;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rcv&nbsp;=&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmt&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_globalDisable();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;GPTimer_Init();&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;BSP_Init();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Start&nbsp;Timer&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;GPT_start(hGpt);&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//IRQ_plug(IRQ_EVT_NMI,&nbsp;&NmiIntIsr);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Config&nbsp;GPIO7&nbsp;in&nbsp;order&nbsp;to&nbsp;ignite&nbsp;led&nbsp;D5*/&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;GPIODIR&nbsp;=&nbsp;0x80;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;config&nbsp;the&nbsp;GPIO7&nbsp;as&nbsp;output&nbsp;pin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;变量初始化&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;&nbsp;i&ltTS;&nbsp;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData.RcvStatus&nbsp;=&nbsp;IDLE;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData.RcvCnt&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData.SndStatus&nbsp;=&nbsp;IDLE;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData.Sndcnt&nbsp;=&nbsp;0;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(;;)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Enter&nbsp;system&nbsp;loop&nbsp;and&nbsp;waiting&nbsp;for&nbsp;interrupt&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(LEDMARK)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHIP_FSET(ST1_55,&nbsp;XF,&nbsp;0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHIP_FSET(ST1_55,&nbsp;XF,&nbsp;1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;&nbsp;i&ltTS;&nbsp;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(TsCircuitData.RcvStatus&nbsp;==&nbsp;CALCMFC)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HpiData[5]&nbsp;=&nbsp;DSPNUM;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//那个DSP发生中断<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SigNum&nbsp;=&nbsp;MFC_Detect(TsCircuitData.MFCSampleData,&nbsp;MFC_coef,&nbsp;SAMPNUM,&nbsp;10);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData.RcvStatus&nbsp;=&nbsp;IDLE;&nbsp;&nbsp;//计算完成,将标志设为idle<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DSPSendIntToHost(i,&nbsp;SigNum);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//计算完成,向主机发中断,并告知主机计算结果<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br /><br /><br /><br /><br /><br />/*定时器0的中断程序*/<br />interrupt&nbsp;void&nbsp;Timer0Isr(void)<br />{<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(LEDMARK==0)<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPIODATA&nbsp;=&nbsp;0x00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;关闭指示灯D5&nbsp;*/<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LEDMARK&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPIODATA&nbsp;=&nbsp;0x80;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;打开指示灯D5&nbsp;*/<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LEDMARK&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />/*<br />函数:void&nbsp;BSP_Init()&nbsp;<br />功能:初始化DMA和McBSP<br />*/<br />void&nbsp;BSP_Init()&nbsp;<br />{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Open&nbsp;MCBSP&nbsp;Port&nbsp;0&nbsp;and&nbsp;set&nbsp;registers&nbsp;to&nbsp;their&nbsp;power&nbsp;on&nbsp;defaults&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;hMcbsp&nbsp;=&nbsp;MCBSP_open(MCBSP_PORT0,&nbsp;MCBSP_OPEN_RESET);&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/********&nbsp;&nbsp;for&nbsp;test&nbsp;&nbsp;***************&nbsp;&nbsp;for&nbsp;test&nbsp;&nbsp;*********/<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_plug(IRQ_EVT_RINT0,&nbsp;&McBSP0RcvInt);<br />&nbsp;&nbsp;&nbsp;&nbsp;//IRQ_plug(IRQ_EVT_XINT0,&nbsp;&McBSP0XmtInt);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_enable(IRQ_EVT_RINT0);<br />&nbsp;&nbsp;&nbsp;&nbsp;//IRQ_enable(IRQ_EVT_XINT0);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Write&nbsp;values&nbsp;from&nbsp;configuration&nbsp;structure&nbsp;to&nbsp;MCBSP&nbsp;control&nbsp;regs&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_config(hMcbsp,&nbsp;&GSBMcBspConfigInit);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_globalEnable();<br />&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_start(hMcbsp,&nbsp;MCBSP_RCV_START,&nbsp;0x200u);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />}<br /><br /><br />/*<br />函数:void&nbsp;DMA_BSP_Init()&nbsp;<br />功能:初始化DMA和McBSP<br />*/<br />void&nbsp;DMA_Init()<br />{&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;Uint16&nbsp;xmtEventId,&nbsp;rcvEventId;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;Uint16&nbsp;srcAddrHi,&nbsp;srcAddrLo;<br />&nbsp;&nbsp;&nbsp;&nbsp;Uint16&nbsp;dstAddrHi,&nbsp;dstAddrLo;<br /><br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;By&nbsp;default,&nbsp;the&nbsp;TMS320C55xx&nbsp;compiler&nbsp;assigns&nbsp;all&nbsp;data&nbsp;symbols&nbsp;word&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;addresses.&nbsp;The&nbsp;DMA&nbsp;however,&nbsp;expects&nbsp;all&nbsp;addresses&nbsp;to&nbsp;be&nbsp;byte&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;addresses.&nbsp;Therefore,&nbsp;we&nbsp;must&nbsp;shift&nbsp;the&nbsp;address&nbsp;by&nbsp;2&nbsp;in&nbsp;order&nbsp;to&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;change&nbsp;the&nbsp;word&nbsp;address&nbsp;to&nbsp;a&nbsp;byte&nbsp;address&nbsp;for&nbsp;the&nbsp;DMA&nbsp;transfer.&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;srcAddrHi&nbsp;=&nbsp;(Uint16)(((Uint32)(dmaRcvConfig.dmacssal))&nbsp;&gt&gt&nbsp;15)&nbsp;&&nbsp;0xFFFFu;<br />&nbsp;&nbsp;&nbsp;&nbsp;srcAddrLo&nbsp;=&nbsp;(Uint16)(((Uint32)(dmaRcvConfig.dmacssal))&nbsp;&lt&lt&nbsp;1)&nbsp;&&nbsp;0xFFFFu;<br />&nbsp;&nbsp;&nbsp;&nbsp;dstAddrHi&nbsp;=&nbsp;(Uint16)(((Uint32)(dmaRcvConfig.dmacdsal))&nbsp;&gt&gt&nbsp;15)&nbsp;&&nbsp;0xFFFFu;<br />&nbsp;&nbsp;&nbsp;&nbsp;dstAddrLo&nbsp;=&nbsp;(Uint16)(((Uint32)(dmaRcvConfig.dmacdsal))&nbsp;&lt&lt&nbsp;1)&nbsp;&&nbsp;0xFFFFu;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;dmaRcvConfig.dmacssal&nbsp;=&nbsp;(DMA_AdrPtr)srcAddrLo;<br />&nbsp;&nbsp;&nbsp;&nbsp;dmaRcvConfig.dmacssau&nbsp;=&nbsp;srcAddrHi;<br />&nbsp;&nbsp;&nbsp;&nbsp;dmaRcvConfig.dmacdsal&nbsp;=&nbsp;(DMA_AdrPtr)dstAddrLo;<br />&nbsp;&nbsp;&nbsp;&nbsp;dmaRcvConfig.dmacdsau&nbsp;=&nbsp;dstAddrHi;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;srcAddrHi&nbsp;=&nbsp;(Uint16)(((Uint32)(dmaXmtConfig.dmacssal))&nbsp;&gt&gt&nbsp;15)&nbsp;&&nbsp;0xFFFFu;<br />&nbsp;&nbsp;&nbsp;&nbsp;srcAddrLo&nbsp;=&nbsp;(Uint16)(((Uint32)(dmaXmtConfig.dmacssal))&nbsp;&lt&lt&nbsp;1)&nbsp;&&nbsp;0xFFFFu;<br />&nbsp;&nbsp;&nbsp;&nbsp;dstAddrHi&nbsp;=&nbsp;(Uint16)(((Uint32)(dmaXmtConfig.dmacdsal))&nbsp;&gt&gt&nbsp;15)&nbsp;&&nbsp;0xFFFFu;<br />&nbsp;&nbsp;&nbsp;&nbsp;dstAddrLo&nbsp;=&nbsp;(Uint16)(((Uint32)(dmaXmtConfig.dmacdsal))&nbsp;&lt&lt&nbsp;1)&nbsp;&&nbsp;0xFFFFu;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;dmaXmtConfig.dmacssal&nbsp;=&nbsp;(DMA_AdrPtr)srcAddrLo;<br />&nbsp;&nbsp;&nbsp;&nbsp;dmaXmtConfig.dmacssau&nbsp;=&nbsp;srcAddrHi;<br />&nbsp;&nbsp;&nbsp;&nbsp;dmaXmtConfig.dmacdsal&nbsp;=&nbsp;(DMA_AdrPtr)dstAddrLo;<br />&nbsp;&nbsp;&nbsp;&nbsp;dmaXmtConfig.dmacdsau&nbsp;=&nbsp;dstAddrHi;<br /><br />&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Open&nbsp;DMA&nbsp;channels&nbsp;4&nbsp;&&nbsp;5&nbsp;and&nbsp;set&nbsp;regs&nbsp;to&nbsp;power&nbsp;on&nbsp;defaults&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;hDmaRcv&nbsp;=&nbsp;DMA_open(DMA_CHA4,&nbsp;DMA_OPEN_RESET);<br />&nbsp;&nbsp;&nbsp;&nbsp;hDmaXmt&nbsp;=&nbsp;DMA_open(DMA_CHA5,&nbsp;DMA_OPEN_RESET);&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Get&nbsp;interrupt&nbsp;event&nbsp;associated&nbsp;with&nbsp;DMA&nbsp;receive&nbsp;and&nbsp;transmit&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;xmtEventId&nbsp;=&nbsp;DMA_getEventId(hDmaXmt);<br />&nbsp;&nbsp;&nbsp;&nbsp;rcvEventId&nbsp;=&nbsp;DMA_getEventId(hDmaRcv);&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Clear&nbsp;any&nbsp;pending&nbsp;interrupts&nbsp;for&nbsp;DMA&nbsp;channels&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_clear(xmtEventId);<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_clear(rcvEventId);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Enable&nbsp;DMA&nbsp;interrupt&nbsp;in&nbsp;IER&nbsp;register&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_enable(xmtEventId);<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_enable(rcvEventId);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Place&nbsp;DMA&nbsp;interrupt&nbsp;service&nbsp;addresses&nbsp;at&nbsp;associate&nbsp;vector&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_plug(xmtEventId,&nbsp;&dmaXmtIsr);<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_plug(rcvEventId,&nbsp;&dmaRcvIsr);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Write&nbsp;values&nbsp;from&nbsp;configuration&nbsp;structure&nbsp;to&nbsp;DMA&nbsp;control&nbsp;regs&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;DMA_config(hDmaRcv,&nbsp;&dmaRcvConfig);<br />&nbsp;&nbsp;&nbsp;&nbsp;DMA_config(hDmaXmt,&nbsp;&dmaXmtConfig);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br />/*<br /><br />功能:&nbsp;定时器0初始化函数,该定时器主要用来点亮LED灯,没有什么实际用途<br /><br />*/<br />void&nbsp;GPTimer_Init()<br />{&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;Uint16&nbsp;EventId0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;定时器0所对应的事件ID号<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Open&nbsp;Timer&nbsp;0,&nbsp;set&nbsp;registers&nbsp;to&nbsp;power&nbsp;on&nbsp;defaults&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;And&nbsp;return&nbsp;handle&nbsp;of&nbsp;Timer&nbsp;0&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;hGpt&nbsp;=&nbsp;GPT_open(GPT_DEV0,&nbsp;GPT_OPEN_RESET);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Get&nbsp;Event&nbsp;Id&nbsp;associated&nbsp;with&nbsp;Timer&nbsp;0,&nbsp;for&nbsp;use&nbsp;with&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;CSL&nbsp;interrupt&nbsp;enable&nbsp;functions.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;EventId0&nbsp;=&nbsp;GPT_getEventId(hGpt);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Clear&nbsp;any&nbsp;pending&nbsp;Timer&nbsp;interrupts&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_clear(EventId0);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Place&nbsp;interrupt&nbsp;service&nbsp;routine&nbsp;address&nbsp;at&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;associated&nbsp;vector&nbsp;location&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_plug(EventId0,&nbsp;&Timer0Isr);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Write&nbsp;configuration&nbsp;structure&nbsp;values&nbsp;to&nbsp;Timer&nbsp;control&nbsp;regs&nbsp;*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;GPT_config(hGpt,&nbsp;&MyGptConfig);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Enable&nbsp;Timer&nbsp;interrupt&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_enable(EventId0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br />/*<br /><br />功能:&nbsp;初始化HPI<br /><br />*/<br />void&nbsp;HPI_Init()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;HPI_Config&nbsp;myConfig&nbsp;=&nbsp;{0x3,&nbsp;&nbsp;/*HPWREMU,&nbsp;Select&nbsp;FREE&nbsp;=&nbsp;SOFT&nbsp;=1&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0,&nbsp;&nbsp;/*HGPIOEB,&nbsp;Disable&nbsp;all&nbsp;GPIO&nbsp;pins&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0,&nbsp;&nbsp;/*HGPIODIR,&nbsp;Default&nbsp;GPIO&nbsp;pins&nbsp;to&nbsp;output&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x80&nbsp;&nbsp;/*HPIC,&nbsp;Reset&nbsp;HPI&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;HPI_config(&myConfig);<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_plug(IRQ_EVT_DSPINT,&nbsp;&HpiIntIsr);<br />&nbsp;&nbsp;&nbsp;&nbsp;IRQ_enable(IRQ_EVT_DSPINT);&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;HPI_FSET(HPIC,&nbsp;HPIRST,&nbsp;0);&nbsp;&nbsp;/*&nbsp;enable&nbsp;HPI,&nbsp;not&nbsp;in&nbsp;reset*/<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br />/*<br /><br />功能:&nbsp;向HOST发送中断信号<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DSP给HOST发中断的功能只有一个,识别出某个时隙存在MFC信令,并将该信令送给HOST<br /><br />*/<br />void&nbsp;DSPSendIntToHost(Uint16&nbsp;ts,&nbsp;Uint16&nbsp;SigNum)<br />{&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;HpiData[3]&nbsp;=&nbsp;ts;<br />&nbsp;&nbsp;&nbsp;&nbsp;HpiData[4]&nbsp;=&nbsp;SigNum;<br />&nbsp;&nbsp;&nbsp;&nbsp;HPI_FSET(HPIC,&nbsp;HINT,&nbsp;1);&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br />/*<br /><br />功能:&nbsp;HPI中断函数,响应HOST端中断请求<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HOST给HPI发中断的功能有两个个,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;请求DSP在相应时隙发送MFC信令<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;请求DSP在相应的时隙开始接收MFC信令数据,并进行识别计算<br /><br />*/<br />interrupt&nbsp;void&nbsp;HpiIntIsr(void)&nbsp;<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;Uint16&nbsp;hostcmd;<br />&nbsp;&nbsp;&nbsp;&nbsp;Uint16&nbsp;ts,&nbsp;SigNum;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;HPI_FSET(HPIC,&nbsp;DSPINT,&nbsp;1);&nbsp;&nbsp;//进入中断以后先清除中断标志&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;hostcmd&nbsp;=&nbsp;HpiData[0];<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(hostcmd&nbsp;==&nbsp;HOSTCMD_SNDMFC)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ts&nbsp;=&nbsp;(HpiData[1]&nbsp;&&nbsp;0xff00u)&nbsp;&gt&gt&nbsp;8;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SigNum&nbsp;=&nbsp;HpiData[1]&nbsp;&&nbsp;0x00ffu;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData[ts].SndStatus&nbsp;=&nbsp;SNDMFC;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData[ts].SndNum&nbsp;=&nbsp;SigNum;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData[ts].Sndcnt&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(hostcmd&nbsp;==&nbsp;HOSTCMD_RCVMFC)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ts&nbsp;=&nbsp;HpiData[2];&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;该时隙开始接收数据<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData[ts].RcvStatus&nbsp;=&nbsp;RCVMFC;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData[ts].RcvCnt&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><br /><br /><br />/*<br /><br />功能:&nbsp;DMA发送中断函数,向E1线路发送MFC信号<br /><br />*/<br />interrupt&nbsp;void&nbsp;dmaXmtIsr(void)&nbsp;<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;Uint16&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;&nbsp;i&ltTS;&nbsp;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//当前时隙正在发送信令<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(TsCircuitData.SndStatus&nbsp;==&nbsp;SNDMFC)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(TsCircuitData.Sndcnt&nbsp;&gt=&nbsp;SAMPNUM)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData.SndStatus&nbsp;=&nbsp;IDLE;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData.Sndcnt&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmt&nbsp;=&nbsp;0x55;&nbsp;&nbsp;&nbsp;//发送完一个MFC,当时隙没有信令的时候,线路传送0x55<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(TsCircuitData.SndNum&nbsp;&gt=&nbsp;20)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//发送后向信令<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmt&nbsp;=&nbsp;bb[TsCircuitData].SndNum&nbsp;-20]&nbsp;&lt&lt&nbsp;3;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//发送前向信令<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmt&nbsp;=&nbsp;ff[TsCircuitData].SndNum]&nbsp;&lt&lt&nbsp;3;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData.Sndcnt++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmt&nbsp;=&nbsp;i;&nbsp;&nbsp;&nbsp;//当时隙没有信令的时候,线路传送0x55<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />}<br /><br /><br /><br />/*<br /><br />功能:&nbsp;DMA接收中断函数<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;需要将接收到的一帧(64个时隙)的数据按规定的格式存储,以便MFC算法检测<br /><br />*/<br />interrupt&nbsp;void&nbsp;dmaRcvIsr(void)&nbsp;<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;Uint16&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;TstCnt&nbsp;=&nbsp;TstCnt+1;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;&nbsp;i&ltTS;&nbsp;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(TsCircuitData.RcvStatus&nbsp;==&nbsp;RCVMFC)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(TsCircuitData.RcvCnt&nbsp;&lt&nbsp;SAMPNUM)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData.MFCSampleData[(TsCircuitData].RcvCnt)++]&nbsp;=&nbsp;rcv&nbsp;&gt&gt&nbsp;3;&nbsp;//A律扩展以后,为13bit高对齐,需右移3位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData.RcvStatus&nbsp;=&nbsp;CALCMFC;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TsCircuitData.RcvCnt&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><br /><br />interrupt&nbsp;void&nbsp;McBSP0RcvInt(void)&nbsp;<br />{&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;rcv[0]&nbsp;=&nbsp;DRR1_0;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(LEDMARK==0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPIODATA&nbsp;=&nbsp;0x00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;关闭指示灯D5&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LEDMARK&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPIODATA&nbsp;=&nbsp;0x80;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;打开指示灯D5&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LEDMARK&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(McbspWork&nbsp;==&nbsp;0)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;McbspWork&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_globalDisable();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_close(hMcbsp);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Open&nbsp;MCBSP&nbsp;Port&nbsp;0&nbsp;and&nbsp;set&nbsp;registers&nbsp;to&nbsp;their&nbsp;power&nbsp;on&nbsp;defaults&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hMcbsp&nbsp;=&nbsp;MCBSP_open(MCBSP_PORT0,&nbsp;MCBSP_OPEN_RESET);&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/********&nbsp;&nbsp;for&nbsp;test&nbsp;&nbsp;*********&nbsp;&nbsp;******&nbsp;&nbsp;for&nbsp;test&nbsp;&nbsp;*********/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_plug(IRQ_EVT_RINT0,&nbsp;&McBSP0RcvInt);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_plug(IRQ_EVT_XINT0,&nbsp;&McBSP0XmtInt);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_enable(IRQ_EVT_RINT0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_enable(IRQ_EVT_XINT0);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_Init();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Enable&nbsp;DMA&nbsp;*/<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_start(hDmaRcv);<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA_start(hDmaXmt);<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Write&nbsp;values&nbsp;from&nbsp;configuration&nbsp;structure&nbsp;to&nbsp;MCBSP&nbsp;control&nbsp;regs&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_config(hMcbsp,&nbsp;&GSBMcBspConfig);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_globalEnable();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_write16(hMcbsp,&nbsp;xmt[0]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Take&nbsp;MCBSP&nbsp;transmit&nbsp;and&nbsp;receive&nbsp;out&nbsp;of&nbsp;reset&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCBSP_start(hMcbsp,&nbsp;MCBSP_XMIT_START&nbsp;|&nbsp;MCBSP_RCV_START,&nbsp;0x200u);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><br /><br />interrupt&nbsp;void&nbsp;McBSP0XmtInt(void)&nbsp;<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;//printf(&quot;xmt&nbsp;int&nbsp;\n&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;DXR1_0&nbsp;=&nbsp;0x55;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br /><br />interrupt&nbsp;void&nbsp;NmiIntIsr(void)&nbsp;<br />{&nbsp;&nbsp;&nbsp;&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;&nbsp;rcv[1]&nbsp;is&nbsp;:&nbsp;%3d&nbsp;\n&quot;,&nbsp;rcv[1]);<br />//&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;&nbsp;rcv[2]&nbsp;is&nbsp;:&nbsp;%3d&nbsp;\n&quot;,&nbsp;rcv[2]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;rcv[1]&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;rcv[2]&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br />
zhangsifu 发表于 2007-9-14 15:22 | 显示全部楼层

先自发自收试试

先自发自收试试
 楼主| navywhj 发表于 2007-9-15 17:07 | 显示全部楼层

自发自收,用串口中断可以,DMA就不行

这是什么问题呢?<br />另外我想问一下,用串口方式,设置为单帧模式,每帧64个元素,用RRDY和XRDY触发中断,那么每帧就会有64个中断,对吗?<br />我现在不能确定,是不是来了64个串口中断,反正中断连续产生了,我设断点都看到了,数据也正确。
wowow 发表于 2007-9-15 19:35 | 显示全部楼层

提一下我原来做MFC时McBsp与DMA的思路

由于项目保密要求,不能给代码了,只能提一下思路。再说我也忘得差不多了。用RRDY和XRDY触发中断肯定是不行了。
 楼主| navywhj 发表于 2007-9-17 08:16 | 显示全部楼层

To wowow

能不能多给点提示?<br /><br />你为什么用这么多DMA?用两个缓冲不是浪费内存了吗?<br /><br />你的DMA0和DMA1是用RRDY/XRDY作为DMA的事件吗?<br /><br />另外你的McBSP用到多通道了吗?关于多通道我是看不明白了,我觉得一个帧里包含多个元素,每个元素实际就代表一个通道,何必再麻烦去搞什么多通道?<br />希望大家多指导一下小弟!!!
wowow 发表于 2007-9-17 08:49 | 显示全部楼层

re

双缓冲是必须的,收完一帧计算要很长时间,这时候还有新的数据过来,如果不用双缓冲,部分数据会被覆盖。缓冲区之间的复制可以不用DMA2、3。<br /><br />DMA0&nbsp;Element&nbsp;synchronization.McBSP&nbsp;0&nbsp;Receive&nbsp;Event&nbsp;(REVT0)<br />DMA1&nbsp;Element&nbsp;synchronization.McBSP&nbsp;0&nbsp;Transmit&nbsp;Event&nbsp;(XEVT0)<br /><br />Mcbsp没用多通道。
 楼主| navywhj 发表于 2007-9-17 16:00 | 显示全部楼层

to wowow

你们用5509才处理32路MFC?<br /><br />我的那中断总算是对了,但是64路MFC,我都不知道5502能不能处理得过来。<br /><br />另外我想问一下,数据经过A-law压缩扩展以后是不是有一定的误差??<br />我自发自收的时候发现收到的和发送的不一样。(压扩是啥原理也没搞懂,呵呵)<br /><br /><br />唉,我觉得像我这样子研发做的很失败啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

69

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部