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

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

IAR使用時(shí)報(bào)錯(cuò)處理與AVR精確延時(shí)

作者:liht1634   來(lái)源:轉(zhuǎn)自liht1634   點(diǎn)擊數(shù):  更新時(shí)間:2014年07月28日   【字體:

一、出現(xiàn)“IAR AVR unknown or ambiguous symbol.main” 

 

project==>options==>linker,format設(shè)置成debug。 

IAR下必須進(jìn)入DEBUG模式才能進(jìn)行調(diào)試,如果不連接開(kāi)發(fā)工具的話,斷點(diǎn)也是不行的

二、處于調(diào)試狀態(tài),但是不能在C語(yǔ)言上單步運(yùn)行,也不能設(shè)置斷點(diǎn)

project==>options==>C/C++Compiler,將Generate debug information打上勾。

三、IAR For AVR軟件的精確延時(shí)

好了,廢話不多說(shuō),不浪費(fèi)中斷的情況下的精確延時(shí)啊~~,當(dāng)然是軟件自帶的單周期的空操作了~~,你懂得為什么,比如_nop_();(當(dāng)然這個(gè)家伙是51單片機(jī)中用到的c程序,匯編就是nop;嘍)

在IAR for AVR中的庫(kù)函數(shù)#include"intrinsics.h"里面有個(gè)單周期的延時(shí)函數(shù)__delay_cycles();(相當(dāng)于_nop_();),

如果__delay_cycles(100)就是100個(gè)mclk的周期延時(shí)。

然后就是下面的操作了:

1)建立一個(gè).h文件,用Keilc51這個(gè)是必須懂得,我就不多解釋了

2)輸入代碼:

#ifndef __delay_h
#define __delay_h
#include"intrinsics.h"
#define xtal       //這里就是你要使用的晶振的頻率(單位NHZ)
#define delay_us(x) __delay_cycles((unsigned  long)(x*xtal))
#define delay_ms(x) __delay_cycles((unsigned  long)(x*xtal*1000))
#define delay_s(x)  __delay_cycles((unsigned  long)(x*xtal*1000000))
#endif

3)就是在你用到延時(shí)的函數(shù)里面調(diào)用#include"Delay.h"(這里是不區(qū)分大小寫的,哈,不用擔(dān)心這個(gè))

這就在不浪費(fèi)中斷情況下的軟件延時(shí),當(dāng)然你要非得精確,那非得定時(shí)計(jì)數(shù)器不可了

補(bǔ)充一下:

我用的是IAR for AVR,別的軟件什么的似乎也有延時(shí)函數(shù),如果沒(méi)有可以用下面的這個(gè)延時(shí)(聽(tīng)說(shuō)也是相當(dāng)準(zhǔn)的,在8MHZ晶振下,不管是外接還是內(nèi)部晶振,哈都一樣):

//------------------------------------------------------------------------------
//延時(shí)函數(shù)
void  delay_ms(uint k)
{
  uint  i,j;
  for(i=0;i
    for(j=0;j<1140;j++);
}

還有一個(gè):差點(diǎn)忘記(這個(gè)不知道是那個(gè)哥們想到的,也可以改變晶振的~~~都貼出來(lái),反正沒(méi)事干):

//------------------------------------------------------------------------------
//延時(shí)1ms的函數(shù),沒(méi)有參數(shù)傳遞
void  delay_1ms()
{
  uint i;
  for(i=1;i<(uint)(xtal*143-2);i++)
    ;
}
//------------------------------------------------------------------------------
//延時(shí)nms的函數(shù),有參數(shù)傳遞
void  delay_nms(uint n)
{
  uint i=0;
  while(i
  {
    delay_1ms();
    i++;
  }
}

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 成人在线播放视频 | 日日夜夜操操 | 国产在线第一页 | 欧美91| 91久久久久 | 中文字幕av片| 国产一级在线观看 | 国模无码大尺度一区二区三区 | 四虎成人网 | 中文字幕av在线 | 中文字幕在线观看第一页 | 久久欧美 | 自拍偷拍专区 | 国产欧美综合一区二区三区 | 国产美女久久 | 久久激情视频 | 欧产日产国产69 | 国产69精品久久久久久 | 丁香五香天堂网 | 一区二区三区蜜桃 | 日韩综合在线 | www.啪啪| 夜夜嗨av一区二区三区网页 | 一区 | www.色网| 亚洲成年人在线观看 | 国产精品黄色片 | 亚洲国产片 | 91精品国产99久久久久久红楼 | 欧美精品日韩少妇 | 三级在线看 | 久久一级片 | 国产在线日韩 | 中文字幕二区 | 日本中文字幕在线播放 | 日韩精品毛片 | a级片免费观看 | 久久免费看片 | 亚洲免费在线播放 | 91精品国产日韩91久久久久久 | 国产呦小j女精品视频 |