亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? section4.c

?? msp430應(yīng)用系統(tǒng)開(kāi)發(fā)典型實(shí)例 第5章程序代碼
?? C
字號(hào):
#include <MSP430X14X.h>
#include "init.h"

// 定義全局變量
// 模擬采集變量
int nADC_Flag;
int nADC_Count;
// 數(shù)字采集變量
int nD_Count;
int nD_Flag;
// 串口發(fā)送變量
int nSend_TX1;
static int nTX1_Len;
static char nTX1_Flag;
//串口接收變量
char nRX1_Len_temp;
char nRev_UART1;	// 串口 1 的接收標(biāo)志
static char nRX1_Len;
// 定義緩沖區(qū)
// 數(shù)字采集緩沖區(qū)
char D_BUF_Temp[10];
char D_BUF[10];
// 模擬采集緩沖區(qū)
int ADC_BUF_Temp0[10];
int ADC_BUF0[10];
int ADC_BUF_Temp1[10];
int ADC_BUF1[10];
int ADC_BUF_Temp2[10];
int ADC_BUF2[10];
int ADC_BUF_Temp3[10];
int ADC_BUF3[10];
int ADC_BUF_Temp4[10];
int ADC_BUF4[10];
int ADC_BUF_Temp5[10];
int ADC_BUF5[10];
int ADC_BUF_Temp6[10];
int ADC_BUF6[10];
int ADC_BUF_Temp7[10];
int ADC_BUF7[10];
// 發(fā)送緩沖區(qū)
char UART1_TX_BUF[50];
// 接收緩沖區(qū)
char UART1_RX_BUF[100];
char UART1_RX_TEMP[100]
void main(void)
{
    int i;
    
    WDTCTL = WDTPW + WDTHOLD; // 關(guān)閉看門狗
    
    _DINT();		      // 關(guān)閉中斷
     // 初始化
     Init_CLK();
     Init_ADC();
     Init_TimerA();
     Init_Port();
     Init_TimerB();
     //初始化變量
     nADC_Flag = 0;
     nADC_Count = 0;
     nD_Count = 0;
     nD_Flag = 0;
     nSend_TX1 = 0;
     nTX1_Len = 0;
     nTX1_Flag = 0;
     nRX1_Len_temp = 0;
     nRev_UART1 = 0;
     nRX1_Len = 0;
     
    _EINT();                  // 打開(kāi)中斷
    // 開(kāi)始循環(huán)
    for(;;)
    {
    	// 處理數(shù)字量采集并發(fā)送
    	if(nD_Flag == 1)//數(shù)字量數(shù)據(jù)
    	{
    	    nD_Flag = 0;
    	    for(i = 0;i < 10;i++) 
    	        UART1_TX_BUF[i] = D_BUF_Temp[i];
    	    nTX1_Len = 10;  //發(fā)送數(shù)據(jù)的長(zhǎng)度    		    	
            IFG2 |= UTXIFG1;// 設(shè)置中斷標(biāo)志
    	}
    	// 處理模擬采集并發(fā)送
    	if(nADC_Flag == 1)
    	{
    	    nADC_Flag = 0;
    	    while(1)	 // 等待緩沖區(qū)里的數(shù)據(jù)發(fā)送完畢
            {
            	if(nTX1_Flag == 1) break;
            }
    	    // 將數(shù)據(jù)由字轉(zhuǎn)換成字節(jié)
    	    for(i = 0;i < 10;i++)
    	    {
                UART1_TX_BUF[2 * i] = (char)(ADC_BUF_Temp0[i] & 0x00ff);
                UART1_TX_BUF[2 * i + 1] = (char)((ADC_BUF_Temp0[i] >> 8) & 0x00ff);
    	    }
    	    // 設(shè)置幀結(jié)束標(biāo)記
    	    UART1_TX_BUF[20] = 0xaa;
    	    UART1_TX_BUF[21] = 0xaa;
    	    nTX1_Len = 22;  //發(fā)送數(shù)據(jù)的長(zhǎng)度    		    	
            IFG2 |= UTXIFG1;// 設(shè)置中斷標(biāo)志
            
            while(1)	 // 等待緩沖區(qū)里的數(shù)據(jù)發(fā)送完畢
            {
            	if(nTX1_Flag == 1) break;
            }
    	    // 將數(shù)據(jù)由字轉(zhuǎn)換成字節(jié)
    	    for(i = 0;i < 10;i++)
    	    {
                UART1_TX_BUF[2 * i] = (char)(ADC_BUF_Temp1[i] & 0x00ff);
                UART1_TX_BUF[2 * i + 1] = (char)((ADC_BUF_Temp1[i] >> 8) & 0x00ff);
    	    }
    	    // 設(shè)置幀結(jié)束標(biāo)記
    	    UART1_TX_BUF[20] = 0xaa;
    	    UART1_TX_BUF[21] = 0xaa;
    	    nTX1_Len = 22;  //發(fā)送數(shù)據(jù)的長(zhǎng)度    		    	
            IFG2 |= UTXIFG1;// 設(shè)置中斷標(biāo)志
            
            while(1)	 // 等待緩沖區(qū)里的數(shù)據(jù)發(fā)送完畢
            {
            	if(nTX1_Flag == 1) break;
            }
    	    // 將數(shù)據(jù)由字轉(zhuǎn)換成字節(jié)
    	    for(i = 0;i < 10;i++)
    	    {
                UART1_TX_BUF[2 * i] = (char)(ADC_BUF_Temp2[i] & 0x00ff);
                UART1_TX_BUF[2 * i + 1] = (char)((ADC_BUF_Temp2[i] >> 8) & 0x00ff);
    	    }
    	    // 設(shè)置幀結(jié)束標(biāo)記
    	    UART1_TX_BUF[20] = 0xaa;
    	    UART1_TX_BUF[21] = 0xaa;
    	    nTX1_Len = 22;  //發(fā)送數(shù)據(jù)的長(zhǎng)度    		    	
            IFG2 |= UTXIFG1;// 設(shè)置中斷標(biāo)志
            
            while(1)	 // 等待緩沖區(qū)里的數(shù)據(jù)發(fā)送完畢
            {
            	if(nTX1_Flag == 1) break;
            }
    	    // 將數(shù)據(jù)由字轉(zhuǎn)換成字節(jié)
    	    for(i = 0;i < 10;i++)
    	    {
                UART1_TX_BUF[2 * i] = (char)(ADC_BUF_Temp3[i] & 0x00ff);
                UART1_TX_BUF[2 * i + 1] = (char)((ADC_BUF_Temp3[i] >> 8) & 0x00ff);
    	    }
    	    // 設(shè)置幀結(jié)束標(biāo)記
    	    UART1_TX_BUF[20] = 0xaa;
    	    UART1_TX_BUF[21] = 0xaa;
    	    nTX1_Len = 22;  //發(fā)送數(shù)據(jù)的長(zhǎng)度    		    	
            IFG2 |= UTXIFG1;// 設(shè)置中斷標(biāo)志
            
            while(1)	 // 等待緩沖區(qū)里的數(shù)據(jù)發(fā)送完畢
            {
            	if(nTX1_Flag == 1) break;
            }
    	    // 將數(shù)據(jù)由字轉(zhuǎn)換成字節(jié)
    	    for(i = 0;i < 10;i++)
    	    {
                UART1_TX_BUF[2 * i] = (char)(ADC_BUF_Temp4[i] & 0x00ff);
                UART1_TX_BUF[2 * i + 1] = (char)((ADC_BUF_Temp4[i] >> 8) & 0x00ff);
    	    }
    	    // 設(shè)置幀結(jié)束標(biāo)記
    	    UART1_TX_BUF[20] = 0xaa;
    	    UART1_TX_BUF[21] = 0xaa;
    	    nTX1_Len = 22;  //發(fā)送數(shù)據(jù)的長(zhǎng)度    		    	
            IFG2 |= UTXIFG1;// 設(shè)置中斷標(biāo)志
            
            while(1)	 // 等待緩沖區(qū)里的數(shù)據(jù)發(fā)送完畢
            {
            	if(nTX1_Flag == 1) break;
            }
    	    // 將數(shù)據(jù)由字轉(zhuǎn)換成字節(jié)
    	    for(i = 0;i < 10;i++)
    	    {
                UART1_TX_BUF[2 * i] = (char)(ADC_BUF_Temp5[i] & 0x00ff);
                UART1_TX_BUF[2 * i + 1] = (char)((ADC_BUF_Temp5[i] >> 8) & 0x00ff);
    	    }
    	    // 設(shè)置幀結(jié)束標(biāo)記
    	    UART1_TX_BUF[20] = 0xaa;
    	    UART1_TX_BUF[21] = 0xaa;
    	    nTX1_Len = 22;  //發(fā)送數(shù)據(jù)的長(zhǎng)度    		    	
            IFG2 |= UTXIFG1;// 設(shè)置中斷標(biāo)志
            
            while(1)	 // 等待緩沖區(qū)里的數(shù)據(jù)發(fā)送完畢
            {
            	if(nTX1_Flag == 1) break;
            }
    	    // 將數(shù)據(jù)由字轉(zhuǎn)換成字節(jié)
    	    for(i = 0;i < 10;i++)
    	    {
                UART1_TX_BUF[2 * i] = (char)(ADC_BUF_Temp6[i] & 0x00ff);
                UART1_TX_BUF[2 * i + 1] = (char)((ADC_BUF_Temp6[i] >> 8) & 0x00ff);
    	    }
    	    // 設(shè)置幀結(jié)束標(biāo)記
    	    UART1_TX_BUF[20] = 0xaa;
    	    UART1_TX_BUF[21] = 0xaa;
    	    nTX1_Len = 22;  //發(fā)送數(shù)據(jù)的長(zhǎng)度    		    	
            IFG2 |= UTXIFG1;// 設(shè)置中斷標(biāo)志
            
            while(1)	 // 等待緩沖區(qū)里的數(shù)據(jù)發(fā)送完畢
            {
            	if(nTX1_Flag == 1) break;
            }
    	    // 將數(shù)據(jù)由字轉(zhuǎn)換成字節(jié)
    	    for(i = 0;i < 10;i++)
    	    {
                UART1_TX_BUF[2 * i] = (char)(ADC_BUF_Temp7[i] & 0x00ff);
                UART1_TX_BUF[2 * i + 1] = (char)((ADC_BUF_Temp7[i] >> 8) & 0x00ff);
    	    }
    	    // 設(shè)置幀結(jié)束標(biāo)記
    	    UART1_TX_BUF[20] = 0xaa;
    	    UART1_TX_BUF[21] = 0xaa;
    	    nTX1_Len = 22;  //發(fā)送數(shù)據(jù)的長(zhǎng)度    		    	
            IFG2 |= UTXIFG1;// 設(shè)置中斷標(biāo)志
    	}
    	
    	// 處理接收數(shù)據(jù)
    	if(nRev_UART1 == 1)
    	{
    	    nRev_UART1 = 0;
    	    for(i = 0;i < nRX1_Len;i++)
    	        UART1_RX_TEMP[i] = UART1_RX_BUF[i];
    	}
    	
    }
}

//////////////////////////////////////////////
// 定時(shí)器中斷,完成 ADC 轉(zhuǎn)換
interrupt [TIMERA0_VECTOR] void TimerA_ISR(void)
{
    int results[8];
    int i;
    
    ADC12CTL0 &= ~ENC;		      // 關(guān)閉轉(zhuǎn)換
          	
    ADC_BUF0[nADC_Count] = ADC12MEM0; // 讀出轉(zhuǎn)換結(jié)果 
    ADC_BUF1[nADC_Count] = ADC12MEM1; // 讀出轉(zhuǎn)換結(jié)果 
    ADC_BUF2[nADC_Count] = ADC12MEM2; // 讀出轉(zhuǎn)換結(jié)果 
    ADC_BUF3[nADC_Count] = ADC12MEM3; // 讀出轉(zhuǎn)換結(jié)果 
    ADC_BUF4[nADC_Count] = ADC12MEM4; // 讀出轉(zhuǎn)換結(jié)果 
    ADC_BUF5[nADC_Count] = ADC12MEM5; // 讀出轉(zhuǎn)換結(jié)果 
    ADC_BUF6[nADC_Count] = ADC12MEM6; // 讀出轉(zhuǎn)換結(jié)果 
    ADC_BUF7[nADC_Count] = ADC12MEM7; // 讀出轉(zhuǎn)換結(jié)果 
            
    nADC_Count += 1;     
    if(nADC_Count == 10)
    {
         nADC_Flag = 1;            //設(shè)置標(biāo)志
         nADC_Count = 0; 
         // 將數(shù)據(jù)倒向數(shù)據(jù)緩沖區(qū)
         for(i = 0;i < 10;i++) ADC_BUF_Temp0[i] = ADC_BUF0[i];  
         for(i = 0;i < 10;i++) ADC_BUF_Temp1[i] = ADC_BUF1[i];
         for(i = 0;i < 10;i++) ADC_BUF_Temp2[i] = ADC_BUF2[i];
         for(i = 0;i < 10;i++) ADC_BUF_Temp3[i] = ADC_BUF3[i];
         for(i = 0;i < 10;i++) ADC_BUF_Temp4[i] = ADC_BUF4[i];
         for(i = 0;i < 10;i++) ADC_BUF_Temp5[i] = ADC_BUF5[i];
         for(i = 0;i < 10;i++) ADC_BUF_Temp6[i] = ADC_BUF6[i];
         for(i = 0;i < 10;i++) ADC_BUF_Temp7[i] = ADC_BUF7[i];    
    }
                
    ADC12CTL0 |= ENC + ADC12SC;	   // 開(kāi)啟轉(zhuǎn)換
}
///////////////////////////////////////////
// 用于定時(shí)器B中斷,完成數(shù)字量采集
interrupt [TIMERB0_VECTOR] void TimerB_ISR(void)
{
    int i;
    
    P4OUT |= BIT0;		 // 打開(kāi)采集
    Delay_us(100);               // 延遲一點(diǎn)時(shí)間      	
    D_BUF[nD_Count] = P5IN;      // 讀出采集結(jié)果 
            
    nD_Count += 1;     
    if(nD_Count == 10)
    {
         nD_Flag = 1;            //設(shè)置標(biāo)志
         nD_Count = 0; 
         // 將數(shù)據(jù)倒向數(shù)據(jù)緩沖區(qū)
         for(i = 0;i < 10;i++) D_BUF_Temp[i] = D_BUF[i];    
    }
                
    P4OUT &= ~(BIT0);	         // 關(guān)閉采集
}
///////////////////////////////////////
// 處理來(lái)自串口 1 的接收中斷
interrupt [UART1RX_VECTOR] void UART1_RX_ISR(void)
{
    
    UART1_RX_BUF[nRX1_Len_temp] = RXBUF1;	//接收來(lái)自的數(shù)據(jù)
    
    nRX1_Len_temp += 1;
        
    if(UART1_RX_BUF[nRX1_Len_temp - 1] == 13)
    {
    	nRX1_Len = nRX1_Len_temp;
    	nRev_UART1 = 1;
    	nRX1_Len_temp = 0;
    }
}
///////////////////////////////////////
// 處理來(lái)自串口 1 的發(fā)送中斷
interrupt [UART1TX_VECTOR] void UART1_TX_ISR(void)
{
    if(nTX1_Len != 0)
    {
    	nTX1_Flag = 0;			// 表示緩沖區(qū)里的數(shù)據(jù)沒(méi)有發(fā)送完
    	
    	TXBUF1 = UART1_TX_BUF[nSend_TX1];
    	nSend_TX1 += 1;
    	
    	if(nSend_TX1 >= nTX1_Len)
    	{
    	    nSend_TX1 = 0;
    	    nTX1_Len = 0;
    	    nTX1_Flag = 1;
    	}
    }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品成人a在线观看| 99久久99久久综合| 久久99久久99| 蜜桃视频在线一区| 久久国产生活片100| 国内精品久久久久影院色| 久久草av在线| 国产一区二区在线观看免费| 国产美女av一区二区三区| 国产传媒一区在线| 国产精品一卡二卡| 国产1区2区3区精品美女| 国产不卡在线播放| 99久久久久久| 欧美色视频一区| 91精品国产黑色紧身裤美女| 欧美白人最猛性xxxxx69交| 亚洲精品一区二区三区精华液| 久久精品水蜜桃av综合天堂| 国产精品毛片无遮挡高清| 亚洲男人的天堂在线观看| 亚洲大尺度视频在线观看| 蜜臀久久久99精品久久久久久| 国内外精品视频| 99精品黄色片免费大全| 色噜噜久久综合| 91精品国产综合久久久久久漫画| 三级欧美在线一区| 日本va欧美va瓶| 国产99精品视频| 91福利在线看| 精品粉嫩超白一线天av| 国产精品三级久久久久三级| 亚洲午夜精品在线| 狠狠色狠狠色合久久伊人| 99久久免费视频.com| 欧美日韩黄色影视| 国产日产欧美一区| 亚洲精品国产精华液| 蜜臀99久久精品久久久久久软件| 粉嫩绯色av一区二区在线观看| 色婷婷亚洲一区二区三区| 在线不卡中文字幕| 国产精品日日摸夜夜摸av| 偷拍一区二区三区| 粉嫩嫩av羞羞动漫久久久| 欧美色国产精品| www国产精品av| 亚洲精品第一国产综合野| 免费在线观看日韩欧美| 9l国产精品久久久久麻豆| 制服视频三区第一页精品| 国产婷婷一区二区| 日韩电影在线一区二区| 盗摄精品av一区二区三区| 69久久99精品久久久久婷婷| 国产精品久久久久久久久久久免费看 | 懂色av一区二区三区免费观看| 色婷婷综合五月| 久久综合久久鬼色| 亚洲国产你懂的| 成人一区二区三区在线观看| 欧美精品亚洲二区| 中文字幕在线不卡视频| 美女爽到高潮91| 欧美亚洲免费在线一区| 国产精品毛片无遮挡高清| 久久99久久久久| 欧美午夜影院一区| 国产精品国产三级国产普通话99| 蜜臀av一区二区三区| 日韩一区二区在线看| 岛国av在线一区| 国产精品自拍网站| 国产乱国产乱300精品| 男人的j进女人的j一区| 亚洲美女屁股眼交3| 精品国产乱码久久久久久影片| 豆国产96在线|亚洲| 日韩精品久久理论片| 日av在线不卡| 欧美美女bb生活片| 亚洲色图第一区| 国产精品一区二区三区乱码| 日韩午夜精品视频| 天堂精品中文字幕在线| 91视频在线观看| 国产精品乱码妇女bbbb| 国产麻豆91精品| 精品三级在线看| 久久国产三级精品| 日韩一区二区在线观看视频| 亚洲成人av福利| 欧美午夜精品一区| 一区二区在线观看视频| 99视频精品在线| 最新国产成人在线观看| 成人毛片视频在线观看| 国产精品美女一区二区在线观看| 精品亚洲国内自在自线福利| 精品国产一区二区三区av性色| 久久av中文字幕片| 精品国产自在久精品国产| 久久精品国产澳门| 日韩精品一区二区三区视频播放 | 99re热这里只有精品免费视频| 国产亚洲综合av| 国产suv精品一区二区6| 国产精品欧美综合在线| www.久久精品| 日韩久久一区二区| 日本韩国欧美一区| 午夜视频在线观看一区二区三区| 欧美婷婷六月丁香综合色| 午夜一区二区三区在线观看| 337p亚洲精品色噜噜噜| 免费不卡在线视频| 精品国产免费人成在线观看| 国产成人av电影在线观看| 国产精品毛片a∨一区二区三区 | 久久久久久免费毛片精品| 国产成人高清在线| 亚洲视频综合在线| 欧美在线观看视频在线| 三级精品在线观看| 精品乱人伦小说| 成人一道本在线| 亚洲精选视频免费看| 91精品国产综合久久香蕉的特点| 国内一区二区在线| 中文字幕字幕中文在线中不卡视频| 在线视频你懂得一区二区三区| 五月开心婷婷久久| 26uuu国产在线精品一区二区| 国产成人高清在线| 夜夜精品视频一区二区| 欧美一区二区视频在线观看2020| 精品一区二区三区免费视频| 国产女同互慰高潮91漫画| 色诱视频网站一区| 日韩vs国产vs欧美| 国产片一区二区| 在线观看国产一区二区| 老司机精品视频线观看86| 欧美激情资源网| 欧美午夜影院一区| 国产米奇在线777精品观看| 亚洲日本乱码在线观看| 欧美一区二区日韩| 成人精品一区二区三区四区| 亚洲成人免费看| 国产女主播一区| 欧美二区在线观看| 国产99久久久国产精品潘金网站| 有码一区二区三区| 精品免费99久久| 日本精品一级二级| 精品系列免费在线观看| 亚洲欧洲中文日韩久久av乱码| 日韩视频在线你懂得| 91一区二区在线观看| 久久aⅴ国产欧美74aaa| 一区二区三区中文字幕电影| 2020国产成人综合网| 在线亚洲一区二区| 国内久久婷婷综合| 亚洲一区二区三区四区在线观看 | 国产精品美女久久久久高潮| 91精品国产色综合久久| 91在线视频观看| 精品亚洲国产成人av制服丝袜| 一区二区三区日韩欧美精品| 精品久久一二三区| 精品视频一区二区三区免费| 成人综合婷婷国产精品久久蜜臀| 三级欧美在线一区| 亚洲免费色视频| 欧美激情一区不卡| 精品日韩在线观看| 欧美精品乱码久久久久久| 99re这里只有精品首页| 狠狠色综合播放一区二区| 丝袜诱惑制服诱惑色一区在线观看| √…a在线天堂一区| 久久久www免费人成精品| 欧美丰满一区二区免费视频| 91国模大尺度私拍在线视频| eeuss鲁片一区二区三区| 国产精品亚洲一区二区三区妖精| 日韩精品每日更新| 亚洲成人综合在线| 一级特黄大欧美久久久| 中文字幕亚洲成人| 日本一区二区三区高清不卡| 久久一区二区视频| 精品乱人伦小说| 日韩一区二区三区电影在线观看| 欧美喷潮久久久xxxxx| 91成人免费在线| 一本色道亚洲精品aⅴ|