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

標題: 問一個關于msp430f149關于中斷的問題 [打印本頁]

作者: mxh123456    時間: 2018-2-4 15:57
標題: 問一個關于msp430f149關于中斷的問題
這兩天玩一下這個4線串口屏,想把溫度,時間和電壓采樣的數據發送到上面,但是溫度和時間(ds1302)的數據發送到上面去沒什么問題,但是當我把149自帶的ADC采樣電壓數據發送到上面時,其它的數據就不穩定了,我不知道是不是時間上有什么沖突,大家幫忙找一下原因!下面是主程序

//*************************************************************************
//        ADC中斷服務程序
//*************************************************************************
#pragma vector = ADC_VECTOR             //中斷名稱表示中斷的來源
__interrupt void ADC12ISR(void)
{
  while((ADC12CTL1&0x01)==1);           //如果ADC忙,則等待,否則讀取ADC轉換數值,如果為0則執行下面的程序
  TEMP = ADC12MEM0;//讀取ADC轉換值,ADC12MEM0為通道存儲寄存器,這是模擬量存儲數據的地方,設置好相關的配置之后,可以直接讀取即可
  sprintf((char*)buf,"main.t16.txt=\"%d\"",TEMP);
  Print_Str1((char*)buf);
  HMISendstop();//這是串口屏接收指令結束符
  Flag=1;
}
/*********************主函數*******************/
void main()
{
   uint i=0;
   WDT_Init();
   UART_Init();
   Clock_Init();
   DS18B20_Reset();
   delay_ms(100 );
   Close_LED();
   DS1302_init();
   delay_ms(10);
   DS1302_write_time(); //ds1302時間數據初始值設定                          
   Flag=1;
   while(1)
   {
    //delay_ms(100);//刷新速度
    DS1302_read_time();//ds1302讀取時間函數  
    ds1820_start();
    ds1820_read_temp();//下面sprintf的用法是,把j打印成一個 字符串保存在(char*)buf中
    switch(i++)//一開始發送多組數據不能發,現在通過一個switch通過標志位來可以發了
    {
    case 0:sprintf((char*)buf,"main.t2.txt=\"%.1f\"",temp_value); //注意這里面要發送數據到指定界面時,只需要寫明界面名字就行了
           Print_Str1((char*)buf);
           HMISendstop();//這是串口屏接收指令結束符
    case 1:sprintf((char*)buf,"main.t1.txt=\"%x%x\"",time_buf[0],time_buf[1]);//注意這里發送兩個數據所以需要兩個%x
           Print_Str1((char*)buf);
           HMISendstop();//這是串口屏接收指令結束符
    case 2:sprintf((char*)buf,"main.t5.txt=\"%x\"",time_buf[2]);
           Print_Str1((char*)buf);
           HMISendstop();//這是串口屏接收指令結束符
    case 3:sprintf((char*)buf,"main.t7.txt=\"%x\"",time_buf[3]);
           Print_Str1((char*)buf);
           HMISendstop();//這是串口屏接收指令結束符
    case 4:sprintf((char*)buf,"main.t0.txt=\"%x\"",time_buf[4]);
           Print_Str1((char*)buf);
           HMISendstop();//這是串口屏接收指令結束符
    case 5:sprintf((char*)buf,"main.t9.txt=\"%x\"",time_buf[5]);
           Print_Str1((char*)buf);
           HMISendstop();//這是串口屏接收指令結束符
    case 6:sprintf((char*)buf,"main.t10.txt=\"%x\"",time_buf[6]);
           Print_Str1((char*)buf);
           HMISendstop();//這是串口屏接收指令結束符
    case 7:sprintf((char*)buf,"main.t12.txt=\"%x\"",time_buf[7]);
           Print_Str1((char*)buf);
           HMISendstop();//這是串口屏接收指令結束符
    case 8:if(Flag==1)
            {
             _EINT();
             ADC12CTL0 |= ADC12SC;           //開啟轉換
             ADC12CTL0 &= ~ADC12SC;          //清零,停止轉換
             _DINT();
             Flag=0;
            }
    }
    _DINT();
    if(i>=8)
    i=0;
   }
}


作者: mxh123456    時間: 2018-2-4 15:59
這里主要看case 8里面的程序,就是case 8這里顯示溫度數據就有問題,中斷不知道怎么改?
作者: mxh123456    時間: 2018-2-4 16:04
這里主要是case 8有問題,其它的都是ok,就是中斷用了之后就不行了
作者: 17089306679    時間: 2018-2-4 17:26
case 8溫度數據有問題
作者: mxh123456    時間: 2018-2-4 20:18
case 8讀取的是電壓數據,用的是adc中斷





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲精品99 | 成人一区av偷拍 | 免费在线观看av网址 | 日韩精品一区在线观看 | 视频一区二区在线 | 天天曰夜夜操 | 日韩一区二区在线视频 | 国产精品精品久久久 | 久久免费精品视频 | 免费看色 | 日日草天天干 | 久久亚洲欧美日韩精品专区 | 麻豆av电影网 | 欧美成人a∨高清免费观看 色999日韩 | 亚洲精品视频一区二区三区 | 国产一区二区三区四区五区3d | 日本久久综合网 | 四虎成人av| 999久久久| 欧美一区二区视频 | 久久专区| 91精品久久久久久久久 | 国产精品一区二区视频 | 色噜噜亚洲男人的天堂 | 7777奇米影视| 国产成人精品一区 | 日日爱夜夜操 | 色视频欧美 | 99久久免费精品视频 | 免费一级黄 | av性色全交蜜桃成熟时 | 精品久久国产 | 国产精品美女 | 色视频网站免费 | 欧美做暖暖视频 | 色婷婷综合久久久中字幕精品久久 | 精品久久久久久久久久久 | 日韩在线成人 | 在线播放亚洲 | 精品国产一区二区国模嫣然 | 国内自拍偷拍 |