欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機串口查詢法與中斷法 [打印本頁]

作者: 51黑bing    時間: 2016-3-23 00:21
標題: 51單片機串口查詢法與中斷法
假設要發送一組數據   Send[10]
一般采用查詢發送(循環發送)方式:
  1. unsigned char Send[10];                  //發送量
  2. unsigned char i;                               //循環量
  3. for(i=0;i<10;i++)
  4. {
  5.        SBUF= Send[i];                      //發送
  6.        while(TI==0);                         //等待發送完成
  7.        TI=0;                                      //清標志
  8. }

  9. 采用中斷發送方式:
  10. unsigned char Send[10];                 //發送量
  11. unsigned char num;                         //發送數據量
  12. unsigned char *p;                           //發送用指針

  13. //發送時:
  14. num=10;                                        //定義發送數據量
  15. p=&Send ;                                    //取首地址
  16. SBUF=*p;                                    //發送第一個數據,啟動發送中斷
  17. //中斷代碼:
  18. void ComInt() interrupt 4
  19. {
  20.        if(RI)  RI=0;                          //接收中斷略;
  21.      
  22.        if(TI)                                     //發送中斷處理
  23.        {
  24.               TI=0;                             //清標志
  25.               num--;                            //計數減1
  26.               p++;                               //指針加1
  27.               if(num >0) SBUF=*p;     //數據繼續發送至全部發完
  28.        }
  29. }
復制代碼


中斷發送優點:省去循環等待時間,以上面例子為例,9600bps時查詢發送約占用單片機10ms多,而中斷發送只占單片機幾十微秒(單片機速度越快,占用時間越少)。

中斷發送缺點:代碼稍復雜,發送過程不易控制。






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1