色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          IAR AVR 中斷應(yīng)用

          作者: 時(shí)間:2016-12-03 來源:網(wǎng)絡(luò) 收藏
          如何輸出HEX文件?
          在配置文件后面加入以下代碼,便可輸出HEX文件,A90文件與HEX文件一樣,SLISP都能識(shí)別.

          // Output File
          -Ointel-extended,(XDATA)=.eep //產(chǎn)生eeprom文件
          -Ointel-extended,(CODE)=.A90 //產(chǎn)生燒寫文件
          -Ointel-extended,(CODE)=.hex //產(chǎn)生燒寫文件

          中斷向量的使用
          IAR中定義中斷函數(shù)的格式是
          /////////////////////////////////
          #pragma vector=中斷向量
          __interrupt void 中斷服務(wù)程序(void)
          {
          //中斷處理程序
          }
          /////////////////////////////////////
          中斷的初始化要另外加入代碼,可在主程序內(nèi)加入。如下是各個(gè)中斷函數(shù)的定義。

          //中斷定義
          #include

          #pragma vector=INT0_vect
          __interrupt void INT0_Server(void)
          {
          }
          #pragma vector=INT1_vect
          __interrupt void INT1_Server(void)
          {
          }
          #pragma vector=TIMER2_COMP_vect
          __interrupt void TIMER2_COMP_Server(void)
          {
          }
          #pragma vector=TIMER2_OVF_vect
          __interrupt void TIMER2_OVF_Server(void)
          {
          }
          #pragma vector=TIMER1_CAPT_vect
          __interrupt void TIMER1_CAPT_Server(void)
          {
          }
          #pragma vector=TIMER1_COMPA_vect
          __interrupt void TIMER1_COMPA_Server(void)
          {
          }
          #pragma vector=TIMER1_COMPB_vect
          __interrupt void TIMER1_COMPB_Server(void)
          {
          }
          #pragma vector=TIMER1_OVF_vect
          __interrupt void TIMER1_OVF_Server(void)
          {
          }
          #pragma vector=TIMER0_OVF_vect
          __interrupt void TIMER0_OVF_Server(void)
          {
          }
          #pragma vector=SPI_STC_vect
          __interrupt void SPI_STC_Server(void)
          {
          }
          #pragma vector=USART_RXC_vect
          __interrupt void USART_RXC_Server(void)
          {
          }
          #pragma vector=USART_UDRE_vect
          __interrupt void USART_UDRE_Server(void)
          {
          }
          #pragma vector=USART_TXC_vect
          __interrupt void USART_TXC_Server(void)
          {
          }
          #pragma vector=ADC_vect
          __interrupt void ADC_Server(void)
          {
          }
          #pragma vector=EE_RDY_vect
          __interrupt void EE_RDY_Server(void)
          {
          }
          #pragma vector=ANA_COMP_vect
          __interrupt void ANA_COMP_Server(void)
          {
          }
          #pragma vector=TWI_vect
          __interrupt void TWI_Server(void)
          {
          }
          #pragma vector=INT2_vect
          __interrupt void INT2_Server(void)
          {
          }
          #pragma vector=TIMER0_COMP_vect
          __interrupt void TIMER0_COMP_Server(void)
          {
          }
          #pragma vector=SPM_RDY_vect
          __interrupt void SPM_RDY_Server(void)
          {
          }

          如何把常數(shù)字符串定義在flash 空間?
          法一:unsigned char __flash temptab[] = {1,2,3,4,5};
          法二:__flash unsigned char temptab[] = {1,2,3,4,5};
          法三:#pragma type_attribute=__flash
          unsigned char temptab[]={1,2,3,4,5};

          法四:const unsigned char temptab[]={1,2,3,4,5};

          注:第三種方式用#pragma說明后,下面的定義的變量將都在FLASH空間了,用于定義一批FLASH變量,但實(shí)際上一般只能作為常量使用了.


          關(guān)鍵詞: IARAVR中斷應(yīng)

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉