久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3517|回復: 0
打印 上一主題 下一主題
收起左側

[求助] 跪求各路高手, ccs3.3 2812的adc採樣但sci不能傳輸, 請求幫助

[復制鏈接]
跳轉到指定樓層
樓主
ID:47683 發表于 2013-1-19 19:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下面的碼就是結合了adc 和scki的, 但sci就是不能傳輸出去, 懇求指點 #include "DSP281x_Device.h" #include "DSP281x_Examples.h" // 函數原型聲明. void Gpio_select(void); void InitSystem(void); interrupt void adc_isr(void); // ADC結果讀取中斷服務程序 void SCI_Init(void); // 全局變量: int Voltage_A0; int Voltage_B0; int ADresult_num = 0; int ADC_buffer1[1024]={0}; int ADC_buffer2[1024]={0}; long abc[2]; int count=1; long message[2]; unsigned long i; void main(void) { message[0]=0x1122; message[1]=0x3344; InitSystem(); // 初始化DSP內核寄存器 Gpio_select(); // 配置GPIO復用寄存器 InitPieCtrl(); // 調用外設中斷擴展初始化單元 PIE-unit ( 代碼 : DSP281x_PieCtrl.c) InitPieVectTable(); // 初始化 PIE vector向量表 ( 代碼 : DSP281x_PieVect.c ) InitAdc(); // Function call for basic ADC initialisation // 重新映射 PIE - Timer 1的比較中斷 EALLOW; // 解除寄存器保護 PieVectTable.ADCINT = &adc_isr; EDIS; // 使能寄存器保護 // 使能ADC中斷: PIE-Group1 , interrupt 6 PieCtrlRegs.PIEIER1.bit.INTx6 = 1; // 使能 CPU INT1 (連接到CPU-Timer 0中斷) IER = 1; // 全局中斷使能和更高優先級的實時調試事件 EINT; // 全局中斷使能INTM ERTM; // 使能實時調試中斷DBGM // 配置 ADC AdcRegs.ADCTRL1.bit.SEQ_CASC = 0; // 雙排序器模式 AdcRegs.ADCTRL1.bit.CONT_RUN = 0; // 非連續運行 AdcRegs.ADCTRL1.bit.CPS = 0; // 預定標系數 = 1 AdcRegs.ADCMAXCONV.all = 0x0001; // SEQ1中設置2個轉換 AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; // 設置ADCINA0作為第一個SEQ1變換// 假定在系統初始化中EVA的時鐘已經被使能 AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x8; // 設置ADCINB0作為第二個SEQ1變換.//由T1/T2邏輯驅動 T1PWM / T2PWM AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1 = 1; // 使能EVASOC啟動SEQ1 // GP Timer 1 比較的輸出的有效 AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; // 使能SEQ1中斷(每次 EOEvaRegs.GPTCONA.bit.T1PIN = 1); AdcRegs.ADCTRL3.bit.ADCCLKPS = 2; // HSPCLK進行4分頻 // 配置事件管理器 EVA // Assumes EVA Clock is already enabled in InitSysCtrl(); // 禁止 T1PWM / T2PWM 輸出 EvaRegs.GPTCONA.bit.TCMPOE = 0; // GP Timer 1 比較輸出強制為低 EvaRegs.GPTCONA.bit.T1PIN = 0; EvaRegs.GPTCONA.bit.T1TOADC = 2; // 使能事件管理器A的EVASOC EvaRegs.T1CON.bit.FREE = 0; // 仿真器連接處理器時模塊處于掛起狀態 EvaRegs.T1CON.bit.SOFT = 0; // 仿真器連接處理器時模塊處于掛起狀態 EvaRegs.T1CON.bit.TMODE = 2; // 連續遞增模式 EvaRegs.T1CON.bit.TPS = 7; // 預定標系數 = 128 EvaRegs.T1CON.bit.TENABLE = 1; // 使能 GP Timer 1 EvaRegs.T1CON.bit.TCLKS10 = 0; // 內部時鐘 EvaRegs.T1CON.bit.TCLD10 = 0; // 當等于0時比較重新裝載 EvaRegs.T1CON.bit.TECMPR = 0; // 禁止比較操作 EvaRegs.T1PR = 58; while(1) { for(i=0;i<1500000;i++) { EALLOW; SysCtrlRegs.WDKEY = 0xAA; EDIS; if(ADresult_num==1023) { int="int" index,index_1; for(index=0;index<2;index++) { abc[0]=message[index]>>8; abc[1]=message[index]; for(index_1=0;index_1<2;index_1++) { SciaRegs.SCITXBUF = abc[index_1]; while(SciaRegs.SCICTL2.bit.TXRDY == 0); while="while" (SciaRegs.SCICTL2.bit.TXEMPTY == 0); EALLOW; SysCtrlRegs.WDKEY = 0x55; SysCtrlRegs.WDKEY = 0xAA; EDIS; } } } } } } void Gpio_select(void) { EALLOW; GpioMuxRegs.GPAMUX.all = 0x0; // 所有 GPIO="GPIO" 端口配置為I/O GpioMuxRegs.GPBMUX.all = 0x0; GpioMuxRegs.GPDMUX.all = 0x0; GpioMuxRegs.GPFMUX.all = 0x0; GpioMuxRegs.GPFMUX.bit.SCIRXDA_GPIOF5 = 1; //配置 SCI-RX GpioMuxRegs.GPFMUX.bit.SCITXDA_GPIOF4 = 1; GpioMuxRegs.GPEMUX.all = 0x0; GpioMuxRegs.GPGMUX.all = 0x0; GpioMuxRegs.GPADIR.all = 0x0; // GPIO="GPIO" PORT="PORT" 配置為輸入 GpioMuxRegs.GPBDIR.all = 0x00; // GPIO="GPIO" PORT="PORT" 配置為輸入 GpioMuxRegs.GPDDIR.all = 0x0; // GPIO="GPIO" PORT="PORT" 配置為輸入 GpioMuxRegs.GPEDIR.all = 0x0; // GPIO="GPIO" PORT="PORT" 配置為輸入 GpioMuxRegs.GPFDIR.all = 0x0; // GPIO="GPIO" PORT="PORT" 配置為輸入 GpioMuxRegs.GPGDIR.all = 0x0; // GPIO="GPIO" PORT="PORT" 配置為輸入 GpioMuxRegs.GPAQUAL.all = 0x0; // 設置所有 GPIO="GPIO" 輸入的量化值等于0 GpioMuxRegs.GPBQUAL.all = 0x0; GpioMuxRegs.GPDQUAL.all = 0x0; GpioMuxRegs.GPEQUAL.all = 0x0; EDIS; } void InitSystem(void) { EALLOW; SysCtrlRegs.WDCR= 0x00AF; // 配置看門狗 // 0x00E8="0x00E8" 禁止看門狗,預定標系數Prescaler = 1 // 0x00AF="0x00AF" 不禁止看門狗, 預定標系數Prescaler = 64 SysCtrlRegs.SCSR = 0; // 看門狗產生復位 SysCtrlRegs.PLLCR.bit.DIV = 10; // 配置處理器鎖相環,倍頻系數為5 SysCtrlRegs.HISPCP.all = 0x1; // 配置高速外設時鐘分頻系數: 2 SysCtrlRegs.LOSPCP.all = 0x2; // 配置低速外設時鐘分頻系數: 4 // 使用的外設時鐘時鐘設置: // 一般不使用的外設的時鐘禁止,降低系統功耗 SysCtrlRegs.PCLKCR.bit.EVAENCLK=1; SysCtrlRegs.PCLKCR.bit.EVBENCLK=0; SysCtrlRegs.PCLKCR.bit.SCIAENCLK=1; // 使能SCI模塊的時鐘 SysCtrlRegs.PCLKCR.bit.SCIBENCLK=0; SysCtrlRegs.PCLKCR.bit.MCBSPENCLK=0; SysCtrlRegs.PCLKCR.bit.SPIENCLK=0; SysCtrlRegs.PCLKCR.bit.ECANENCLK=0; SysCtrlRegs.PCLKCR.bit.ADCENCLK=1; EDIS; } interrupt void="void" adc_isr(void) { // 每次定時器中斷處理看門狗 EALLOW; SysCtrlRegs.WDKEY = 0x55; EDIS; //采樣結果保存 Voltage_A0="Voltage_A0" = AdcRegs.ADCRESULT0>>4; Voltage_B0 = AdcRegs.ADCRESULT1>>4; if(ADresult_num<1024) { ADresult_num++; ADC_buffer1[ADresult_num] = Voltage_A0; ADC_buffer2[ADresult_num] = Voltage_B0; } else { int="int" z; for(z=0;z<10000;z++) { DELAY_US(1000); EALLOW; SysCtrlRegs.WDKEY = 0x55; SysCtrlRegs.WDKEY = 0xAA; EDIS; } count++; ADresult_num="ADresult_num" = 0; } // 為下一個ADC排序重新初始化 AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; // 復位 SEQ1 AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; // 清除 INT="INT" SEQ1="SEQ1" 位 PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // 中斷響應位置位 } void SCI_Init(void) { SciaRegs.SCICCR.all =0x0007; // 1bit="1bit" 停止位 無循環模式 // 無極性, 字符長度:8 bits, // 異步模式, 空閑線協議 SciaRegs.SCICTL1.all =0x0003; // 使能 TX, RX, 內部 SCICLK, // 禁止 RX="RX" ERR, SLEEP, TXWAKE SciaRegs.SCIHBAUD = 487="487" >> 8 ; // 波特率:9600(LSPCLK = 37.5MHz) ; SciaRegs.SCILBAUD = 487 & 0x00FF; SciaRegs.SCICTL1.all =0x0023; // 使SCI退出復位 }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 男人的天堂亚洲 | 米奇成人网 | 欧美日韩久| 日本黄色影片在线观看 | 91麻豆精品国产91久久久久久久久 | 亚洲免费视频网站 | 亚洲综合久久精品 | 欧美三级久久久 | 一区二区三区精品在线视频 | 久久1区| 91激情视频 | 精品色| 国产精品久久久久久久久久尿 | 狠狠狠色丁香婷婷综合久久五月 | 亚洲精品中文字幕av | 国产精品中文字幕在线 | 丝袜久久| 黄免费观看视频 | 欧美日韩中文字幕在线播放 | 亚洲人成人一区二区在线观看 | 99久久久久久久久 | 日韩精品免费看 | 亚洲一区二区综合 | 亚洲一区二区久久久 | 国产欧美精品一区二区 | 国产丝袜一区二区三区免费视频 | 国产 日韩 欧美 在线 | 一级片aaa | 天天操夜夜操免费视频 | 日韩免费一二三区 | 日韩欧美天堂 | 夜夜夜夜夜夜曰天天天 | 爱爱综合网 | 欧美久久一区二区三区 | 国产精品久久久久久久久久久久冷 | 在线成人免费视频 | 久久这里有精品 | 一区二区三区精品在线视频 | 欧美成人高清 | 婷婷色在线播放 | 免费看色 |