28335-DSP實(shí)驗(yàn)報(bào)告_第1頁(yè)
28335-DSP實(shí)驗(yàn)報(bào)告_第2頁(yè)
28335-DSP實(shí)驗(yàn)報(bào)告_第3頁(yè)
28335-DSP實(shí)驗(yàn)報(bào)告_第4頁(yè)
28335-DSP實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 研究生實(shí)驗(yàn)報(bào)告XXXXXX大學(xué)研究生實(shí)驗(yàn)報(bào)告課程名稱: DSP技術(shù)應(yīng)用 綜合設(shè)計(jì)名稱:電量參數(shù)計(jì)算和發(fā)送 學(xué)生姓名: 班級(jí)學(xué)號(hào): 學(xué)科名稱: 2012年5月25日11一、綜合實(shí)驗(yàn)題目和要求1、 實(shí)驗(yàn)設(shè)計(jì)要求要求1:對(duì)給定的波形信號(hào),采用TMS320F28335的浮點(diǎn)功能計(jì)算該信號(hào)的以下時(shí)域參數(shù):信號(hào)的周期T(頻率f也需要計(jì)算),信號(hào)的均方根大小Vrms、平均值Vavg(即直流量)、峰峰值Vpp。其中,均方根Vrms的計(jì)算公式(數(shù)字量的離散公式)如下:式中,N為采樣點(diǎn)數(shù),u(i)為采樣序列中的第i個(gè)采樣點(diǎn)。要求2:所設(shè)計(jì)的軟件需要計(jì)算采樣的波形周期個(gè)數(shù),并控制采樣點(diǎn)數(shù)大于1個(gè)波形周期,小于3個(gè)

2、波形周期大小。要求3:對(duì)采樣的數(shù)據(jù)通過(guò)串口發(fā)送至PC界面。2、 實(shí)驗(yàn)?zāi)康闹饕己藢W(xué)生對(duì)TMS320F28335浮點(diǎn)處理器、A/D模塊、SCI模塊和信號(hào)時(shí)域分析等知識(shí)的掌握。產(chǎn)生的波形可選擇正弦波,也可以是其它任意波形。如果波形中添加了隨機(jī)噪聲,則建議采用軟件設(shè)計(jì)中加入數(shù)字濾波算法,否則可能計(jì)算中產(chǎn)生較大的誤差。實(shí)驗(yàn)所需的頻率不能太大,(建議范圍:10Hz100kHz),采樣點(diǎn)建議在256點(diǎn)左右(自己任意設(shè)定也可,不少于32點(diǎn))。二、硬件框圖圖1 系統(tǒng)硬件框圖圖1 給出了該綜合實(shí)驗(yàn)的硬件框圖,首先通過(guò)小鍵盤(pán)設(shè)置波形的參數(shù),包括頻率、幅值以及波形等。然后通過(guò)信號(hào)發(fā)生器產(chǎn)生模擬信號(hào),由DSP2833

3、5的AD通道6進(jìn)行采樣處理。DSP與PC機(jī)之間通過(guò)串口進(jìn)行通信,由DSP28335的SCIb通道處理。ADC模塊有16個(gè)轉(zhuǎn)換通道,可配置成兩個(gè)獨(dú)立的8通道轉(zhuǎn)換模塊,分別對(duì)應(yīng)于管理器A和B,根據(jù)用戶需求,兩個(gè)獨(dú)立的8通道轉(zhuǎn)換模塊可以級(jí)聯(lián)成一個(gè)8通道模塊,在ADC模塊中盡管可以多通道輸入和有兩個(gè)排序器,但只有一個(gè)A/D轉(zhuǎn)換器可以。兩個(gè)8通道模塊可以自動(dòng)對(duì)一系列轉(zhuǎn)換進(jìn)行排序,而且每個(gè)模塊都可以通過(guò)多路復(fù)用開(kāi)關(guān)選擇任何一個(gè)通道。在級(jí)聯(lián)模式下,自動(dòng)排序器將作為一個(gè)單一的8通道排序器。對(duì)于每個(gè)排序器,當(dāng)轉(zhuǎn)換結(jié)束時(shí),選擇通道的轉(zhuǎn)換結(jié)果被儲(chǔ)存在相應(yīng)的結(jié)果寄存器中。在DSP28335,自動(dòng)排序模式允許用戶對(duì)統(tǒng)一

4、通道進(jìn)行多次采樣。模擬輸入與數(shù)字輸出的關(guān)系如下圖2ADC模塊結(jié)構(gòu)框圖外設(shè)時(shí)鐘HSPCLK通過(guò)ADCTRL3寄存器的SDCCLKPS(3:0)位分頻,然后再通過(guò)通過(guò)ADCTRL1寄存器中的CPS位進(jìn)行二分頻。另外,ADC模塊還可以通過(guò)擴(kuò)展采樣/獲取周期,調(diào)整信號(hào)源的阻抗,這是由ADCTRL1寄存器中的ACQ_PS(3:0)位決定的。這些位并不影響采樣/保持和轉(zhuǎn)換過(guò)程,但可以通過(guò)增大脈沖長(zhǎng)度增加采樣的時(shí)間長(zhǎng)度。圖3ADC內(nèi)核時(shí)鐘以及采樣/保持時(shí)鐘三、程序流程圖1、主程序流程圖程序使用兩個(gè)中斷:ADC中斷和CPU定時(shí)器2中斷。ADC用于對(duì)波形進(jìn)行采樣、濾波、存儲(chǔ)以及計(jì)算波形的有效值、峰峰值、平均值,

5、并使用串口發(fā)送;CPU定時(shí)器2中斷用于計(jì)算波形周期和頻率。圖4 主程序流程圖圖4給出了主程序流程圖,該程序的主要步驟是進(jìn)行初始化使能中斷等待中斷響應(yīng)。2、子程序流程圖圖5 ADC中斷服務(wù)子程序圖6 定時(shí)器2中斷服務(wù)子程序圖7濾波程序段圖8求最大值最小值程序段圖9求有效值和平均值程序段圖10串口通信程序段圖5圖10給出了所有子程序的框圖,下面分別說(shuō)明各個(gè)程序的設(shè)計(jì)思想:(1)AD中斷子程序(圖5):該程序?qū)Σㄐ芜M(jìn)行采樣,濾波以及存儲(chǔ),并求出有效值,峰峰值和平均值。采樣后的波形存儲(chǔ)在一個(gè)長(zhǎng)度為1024的數(shù)組里。為了減少CPU開(kāi)銷(xiāo),程序設(shè)定為采樣累計(jì)到1024個(gè)點(diǎn)后再進(jìn)行波形的有效值,峰峰值和平均值

6、計(jì)算。(2)定時(shí)器2中斷子程序(圖6):該程序通過(guò)定時(shí)器中斷來(lái)實(shí)現(xiàn)對(duì)波形等時(shí)間間隔的判斷和處理,從而可以較為精確的計(jì)算出波形周期和頻率。在波形每次正向過(guò)零點(diǎn)時(shí),計(jì)算出兩次過(guò)零點(diǎn)的時(shí)間間隔,并乘以定時(shí)器2中斷周期,從而得到波形的實(shí)際周期。定時(shí)器2中斷周期設(shè)置為10us。(3)濾波程序(圖7):該程序?qū)?024個(gè)點(diǎn)進(jìn)行了低通值濾波,根據(jù)本次采樣點(diǎn)和上次采樣點(diǎn),來(lái)修正本次的采樣值。濾波公式如下,程序中取K=0.15。 (4)求最大值最小值程序(圖8):該程序定義數(shù)組第一個(gè)值為初值,再比較1023個(gè)點(diǎn),如果找到更大的點(diǎn),則賦給最大值對(duì)應(yīng)的變量;如果找到更小的點(diǎn)就賦給最小值對(duì)應(yīng)的變量。(5)求有效值和平

7、均值程序段(圖9):有效值的計(jì)算:將1024個(gè)點(diǎn)的平方值相加求平均后,再開(kāi)根號(hào)。平均值的計(jì)算:將1024個(gè)點(diǎn)求和然后求平均。(6)SCI通信程序(圖10):PC端為串口接收助手,為了使顯示界面上顯示的是實(shí)際數(shù)值,發(fā)送之前將有關(guān)的數(shù)據(jù)量的個(gè)十百千位拆開(kāi),并轉(zhuǎn)換為ASCII碼進(jìn)行發(fā)送。在發(fā)送之前檢測(cè)SCIb_buff是否為空,若不為空則等待。串口發(fā)送子程序定義了一個(gè)計(jì)數(shù)器,以控制串口發(fā)送的速率。 四、實(shí)驗(yàn)結(jié)果和分析1、軟件調(diào)試結(jié)果圖11 900Hz 1200mV正弦波調(diào)試結(jié)果 (上圖)圖12 1700Hz 800mV正弦波調(diào)試結(jié)果 (上圖)圖13 800Hz 1000mV三角波調(diào)試結(jié)果 (上圖)2

8、、結(jié)果分析(1)從圖11所示的調(diào)試結(jié)果波形圖可以看出,濾波后的波形平滑度明顯變好,說(shuō)明低通濾波效果良好。各個(gè)波形參數(shù)MIN(最小值)、MAX(最大值)、VRM(有效值)、FRE(頻率)、 PER(周期)均和實(shí)際輸入的指標(biāo)誤差在5%以內(nèi),說(shuō)明電參量的計(jì)算方法準(zhǔn)確性良好。(2)從圖12所示的實(shí)驗(yàn)波形可以看出,當(dāng)輸入波形的電參量變化時(shí),輸出電參量的值也發(fā)生了相同變化,且誤差值在5%以內(nèi)。由ADC的采樣頻率可以得到,本程序可以計(jì)算出頻率最低為150Hz的正弦波的周期。(3)比較圖13和前兩幅波形可以得出,本程序在對(duì)三角波進(jìn)行采樣時(shí),波形濾波效果良好,電參量計(jì)算準(zhǔn)確,也達(dá)到了良好的效果。由此驗(yàn)證了本程序

9、的通用性,并進(jìn)一步驗(yàn)證了程序的準(zhǔn)確性。(4)通過(guò)實(shí)驗(yàn)結(jié)果總結(jié)出本程序在以下方面需要進(jìn)一步改進(jìn):AD采樣的速率以及采樣窗口的大小目前為確定值,當(dāng)波形頻率變化范圍較大時(shí),會(huì)影響到采樣的結(jié)果,如:當(dāng)頻率過(guò)大時(shí),采樣波形每個(gè)周期的點(diǎn)數(shù)減小,將直接影響各個(gè)電參量的計(jì)算結(jié)果;當(dāng)頻率過(guò)小時(shí),采樣的窗口不能采樣出一個(gè)完整的波形周期,也將直接影響各個(gè)電參量的計(jì)算結(jié)果。這是需要進(jìn)一步作出改進(jìn)的地方。五、源程序#include "DSP2833x_Device.h" / DSP2833x Headerfile Include File#include "DSP2833x_Example

10、s.h" / DSP2833x Examples Include File#include "math.h"/ Prototype statements for functions found within this errupt void adc_isr(void);interrupt void ISRTimer2(void);void number_count(void);/確定周期采樣點(diǎn),計(jì)算頻率和有效值并發(fā)送數(shù)據(jù)void scib_fifo_init();void InitScibGpio(void);/串口初始化程序void number

11、_C(unsigned long i); /數(shù)字各位拆分函數(shù)#if (CPU_FRQ_150MHZ) / Default - 150 MHz SYSCLKOUT #define ADC_MODCLK 0x3 / HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3) = 25.0 MHz#endif#if (CPU_FRQ_100MHZ) #define ADC_MODCLK 0x2 / HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 100/(2*2) = 25.0 MHz#endif#define ADC_CKPS 0x1 / ADC

12、 module clock = HSPCLK/2*ADC_CKPS = 25.0MHz/(1*2) = 12.5MHz#define ADC_SHCLK 0xf / S/H width in ADC module periods = 16 ADC clocks#define AVG 1000 / Average sample limit#define ZOFFSET 0x00 / Average Zero offset#define BUF_SIZE 160 / Sample buffer size/Global variables used in this example:Uint16 Lo

13、opCount;Uint16 ConversionCount;Uint16 Voltage11024;Uint16 i = 0;Uint16 j = 0;Uint16 Ticker50;/在AD采樣的例程基礎(chǔ)上修改,以下為新定義的變量:Uint16 ADt1,ADt2,ADt,ADt3,ADt4;/AD時(shí)間間隔Uint16 Voltagelb1024;Uint16 vref=500; /參考值int PreConversion=0;int crosszero=0;Uint32 t1,t2,t,t3,t4;/定時(shí)器時(shí)間間隔float Data=0.0;float Vavg=0.0;/平均值flo

14、at Vmax=0.0;/最大值float Vmin=0.0;/最小值float Vrms=0.0;/有效值float Vpp=0.0;/峰峰值float frequency=0;float period=0;float MAX=0.0;float MIN=0.0;/以下為整型變量,用于串口發(fā)送Uint16 T=0;/周期msUint16 F=0;/Uint16 V=0;/有效值mvUint16 max=0;/最大值mvUint16 min=0;/最小值mvunsigned int TX_flag = 0;/串口發(fā)送時(shí)間間隔標(biāo)志unsigned int TX_Ticker = 500;/串口發(fā)

15、送的周期間隔main()/ Step 1. Initialize System Control:/ PLL, WatchDog, enable Peripheral Clocks/ This example function is found in the DSP2833x_SysCtrl.c file. InitSysCtrl();/ Step 2. Initialize GPIO:/ This example function is found in the DSP2833x_Gpio.c file and/ illustrates how to set the GPIO to it

16、9;s default state. InitGpio(); / Skipped for this example InitScibGpio();/*起初遺漏了這句話*/ Step 3. Clear all interrupts and initialize PIE vector table:/ Disable CPU interrupts DINT;/ Initialize the PIE control registers to their default state./ The default state is all PIE interrupts disabled and flags/

17、 are cleared./ This function is found in the DSP2833x_PieCtrl.c file. InitPieCtrl();/ Disable CPU interrupts and clear all CPU interrupt flags: IER = 0x0000; IFR = 0x0000;/ Initialize the PIE vector table with pointers to the shell Interrupt/ Service Routines (ISR)./ This will populate the entire ta

18、ble, even if the interrupt/ is not used in this example. This is useful for debug purposes./ The shell ISR routines are found in DSP2833x_DefaultIsr.c./ This function is found in DSP2833x_PieVect.c. InitPieVectTable();/ Interrupts that are used in this example are re-mapped to/ ISR functions found w

19、ithin this file. EALLOW; / This is needed to write to EALLOW protected register PieVectTable.ADCINT = &adc_isr; PieVectTable.TINT2 = &ISRTimer2; EDIS; InitXintf();/*設(shè)置CPU*/ InitCpuTimers(); ConfigCpuTimer(&CpuTimer2, 150, 10);/中斷時(shí)間10us.1MHz StartCpuTimer2(); CpuTimer2Regs.TCR.all = 0x400

20、1; / Use write-only instruction to set TSS bit = 0 /*開(kāi)中斷*/ IER |= M_INT14;/ Enable TINT0 in the PIE: Group 1 interrupt 7 PieCtrlRegs.PIEIER1.bit.INTx7 = 1;/ Step 4. Initialize all the Device Peripherals:/ This function is found in DSP2833x_InitPeripherals.c/ InitPeripherals(); / Not required for thi

21、s example InitAdc(); / For this example, init the ADC scib_fifo_init();/ Step 5. User specific code, enable interrupts:/ Enable ADCINT in PIE PieCtrlRegs.PIEIER1.bit.INTx6 = 1; IER |= M_INT1; / Enable CPU Interrupt 1 EINT; / Enable Global interrupt INTM ERTM; / Enable Global realtime interrupt DBGM

22、LoopCount = 0; ConversionCount = 0; AdcRegs.ADCTRL1.bit.ACQ_PS = ADC_SHCLK; AdcRegs.ADCTRL3.bit.ADCCLKPS = ADC_CKPS; AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; / 0 Non-Cascaded Mode; 1 Cascaded Mode AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 0x1; AdcRegs.ADCTRL2.bit.RST_SEQ1 = 0x1; AdcRegs.ADCCHSELSEQ1.bit.CONV00 =

23、0x6; AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 15; AdcRegs.ADCTRL2.bit.SOC_SEQ1 = 0x1 ; for(i=0;i<1024;i+) Voltagelbi = 0; / Wait for interrupt for(;);/*此中斷完成AD采樣以及相關(guān)波形參數(shù)的計(jì)算(除周期外)*interrupt void adc_isr(void)/*采樣并濾波*Voltage1ConversionCount=AdcRegs.ADCRESULT0 >>4;PreConversion=ConversionCount-1;if(

24、PreConversion<0) PreConversion=1024; VoltagelbConversionCount= Voltage1ConversionCount*0.15+ VoltagelbPreConversion*0.85;/一階滯后濾波 if(ConversionCount = 1024)ConversionCount = 0;/*計(jì)算有效值,平均值,峰峰值程序段*/Vavg平均值,Vmax最大值,Vmin最小值,Vrms有效值,Vpp峰-峰值Vavg = 0;Data = 0;Vmax=Voltagelb0;Vmin=Voltagelb0;for(i=0;i<

25、1024;i+)Data+=Voltagelbi*Voltagelbi; Vavg+=Voltagelbi;if(Vmax<Voltagelbi) Vmax=Voltagelbi;if(Vmin>Voltagelbi) Vmin=Voltagelbi;Data=Data/1024;Vrms=sqrt(Data);/計(jì)算有效值 Vavg=Vavg/1024;/計(jì)算平均值Vpp=Vmax-Vmin;/計(jì)算峰-峰值/*計(jì)算有效值,平均值,峰峰值程序段結(jié)束*/ T=period*1000000; F=frequency; Vrms=Vrms*3/4095; MAX=Vmax*3/4095;

26、MIN=Vmin*3/4095;V=Vrms*1000;max=MAX*1000; min=MIN*1000;/得出的整型值單位均為mv number_count();/調(diào)用串口發(fā)送else ConversionCount+; / Reinitialize for next ADC sequence AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; / Reset SEQ1 AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; / Clear INT SEQ1 bit PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; / Ack

27、nowledge interrupt to PIE AdcRegs.ADCTRL2.bit.SOC_SEQ1 = 0x1 ; return;/*此中斷中計(jì)算波形周期,10us執(zhí)行一次*interrupt void ISRTimer2(void)CpuTimer2.InterruptCount+;/32位無(wú)符號(hào)整型:最大4294967295if(CpuTimer2.InterruptCount>4294967290) CpuTimer2.InterruptCount=0;if(VoltagelbPreConversion<vref)&&(vref<Voltage

28、lbConversionCount)&&(crosszero=0)/第1個(gè)交點(diǎn)crosszero=1;t1=CpuTimer2.InterruptCount;ADt1=ConversionCount; if(VoltagelbPreConversion>vref)&&(vref>VoltagelbConversionCount)&&(crosszero=1)/第2個(gè)交點(diǎn)crosszero=2;t2=CpuTimer2.InterruptCount;ADt2=ConversionCount;if(VoltagelbPreConversi

29、on<vref)&&(vref<VoltagelbConversionCount)&&(crosszero=2)/第3個(gè)交點(diǎn)crosszero=0;t3=CpuTimer2.InterruptCount;ADt3=ConversionCount;if(t3<=t1) /計(jì)算一個(gè)周期的定時(shí)器間隔t=4294967295+t3-t1;elset=t3-t1;period=t*0.00001;frequency=1/period; PieCtrlRegs.PIEACK.all|=0x01;/清除中斷響應(yīng)位void number_count(void)

30、/此處定時(shí)發(fā)送數(shù)據(jù)TX_flag+;/記錄發(fā)送時(shí)間間隔標(biāo)志if( TX_flag >= TX_Ticker )TX_flag = 0;/需要發(fā)送頻率、有效值、最大值、最小值ScibRegs.SCITXBUF= ''while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'M'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'I'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);Sc

31、ibRegs.SCITXBUF= 'N'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= ':'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);number_C(min);ScibRegs.SCITXBUF= 'm'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'v'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs

32、.SCITXBUF= ','while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'M'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'A'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'X'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= ':

33、9;while(ScibRegs.SCIFFTX.bit.TXFFST != 0);number_C(max);ScibRegs.SCITXBUF= 'm'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'v'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= ','while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'V'whil

34、e(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'R'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'M'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= ':'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);number_C(V);ScibRegs.SCITXBUF= 'm'while(ScibRe

35、gs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'v'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= ','while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'F'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'R'while(ScibRegs.SCIFFTX.bit.TXFFS

36、T != 0);ScibRegs.SCITXBUF= 'E'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= ':'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);number_C(F);ScibRegs.SCITXBUF= 'H'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'Z'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);

37、ScibRegs.SCITXBUF= ','while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'P'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'E'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 'R'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= &

38、#39;:'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);number_C(T);ScibRegs.SCITXBUF= 'u'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 's'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= ''while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF= 't'

39、;while(ScibRegs.SCIFFTX.bit.TXFFST != 0);/清有效值和周期采樣點(diǎn)數(shù),為下周期做準(zhǔn)備 void scib_fifo_init()/串口B初始化ScibRegs.SCICCR.all = 0x0007; / 1個(gè)停止位、無(wú)奇偶校驗(yàn)ScibRegs.SCICTL1.all = 0x0003; / 使能TX、RXScibRegs.SCICTL2.all = 0x0003;ScibRegs.SCICTL2.bit.TXINTENA = 1;ScibRegs.SCICTL2.bit.RXBKINTENA = 1;ScibRegs.SCIHBAUD = 0x0001;

40、ScibRegs.SCILBAUD = 0x00e7;/波特率9600ScibRegs.SCICCR.bit.LOOPBKENA =0; /禁止自檢模式ScibRegs.SCICTL1.all =0x0023;ScibRegs.SCIFFTX.bit.TXFIFOXRESET=0;ScibRegs.SCIFFRX.bit.RXFIFORESET=0;ScibRegs.SCIFFTX.all=0xE040;ScibRegs.SCIFFRX.all=0x204f;ScibRegs.SCIFFCT.all=0x0;void InitScibGpio(void)EALLOW;GpioCtrlRegs.GPAPUD.bit.GPIO18 = 0;/ GPIO18

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論