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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

問一個關于msp430f149關于中斷的問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:279187 發表于 2018-2-4 15:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這兩天玩一下這個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;
   }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:279187 發表于 2018-2-4 15:59 | 只看該作者
這里主要看case 8里面的程序,就是case 8這里顯示溫度數據就有問題,中斷不知道怎么改?
回復

使用道具 舉報

板凳
ID:279187 發表于 2018-2-4 16:04 | 只看該作者
這里主要是case 8有問題,其它的都是ok,就是中斷用了之后就不行了
回復

使用道具 舉報

地板
ID:282046 發表于 2018-2-4 17:26 來自觸屏版 | 只看該作者
case 8溫度數據有問題
回復

使用道具 舉報

5#
ID:279187 發表于 2018-2-4 20:18 | 只看該作者
case 8讀取的是電壓數據,用的是adc中斷
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品不卡一区二区三区 | 亚洲欧美日韩国产综合 | 亚洲精品在线视频 | 亚洲视频免费观看 | 日本小视频网站 | 成人欧美一区二区三区视频xxx | 婷婷91 | 亚洲国产成人精品久久久国产成人一区 | 国产三级一区二区三区 | 亚洲国产成人精品女人久久久 | 91精品国产乱码久久久久久久久 | 欧美日韩一区二区在线观看 | 国产精品久久久久久 | 国产综合精品一区二区三区 | 北条麻妃99精品青青久久主播 | 影视先锋av资源噜噜 | 日韩超碰在线 | 日韩小视频 | 天天综合网天天综合 | 国产一级特黄真人毛片 | 超级黄色一级片 | 中文字幕日韩一区 | 97狠狠干 | 亚洲视频一区二区三区四区 | 涩色视频在线观看 | 国产精品1区2区 | 午夜丁香视频在线观看 | 操视频网站 | 九九精品在线 | 色在线免费 | 国产精品免费一区二区三区四区 | 9久9久9久女女女九九九一九 | 99热首页 | 国产精品久久久久久久久久久久久 | 国产精产国品一二三产区视频 | 日韩在线一区二区三区 | 欧美视频三级 | 国产精品爱久久久久久久 | 蜜臀网 | 91久久久久 | 91欧美激情一区二区三区成人 |