日本ab视频-日本ab在线-日本a黄-日本a黄色片-国产亚洲精品第一综合linode-国产亚洲精品高清在线

新聞資訊
ICCAVR 與 GCCAVR 程序移植
2010-09-19


ICCAVR 與 GCCAVR 是最常用的兩個AVR單片機程序,有時候資料不是自己期望的,需要自己移植,掌握一些移植的技巧大有裨益。

他們都是C語言,所以移植非常方便,但是采用不同的編譯器,又有眾多不同。

1、單片機型號頭文件包含

ICCAVR : #include <ioxxxv.h>#include <iom16v.h>

GCCAVR :  #include <avr/io.h> 再通過工程的makefile文件包含正確的芯片頭文件。

在確認程序是ICCAVR和GCCAVR之間任意一種編譯器所寫時,這可以作為一種判斷依據。

2、中斷函數

ICCAVR : 函數獨立存在,使用#pragma interrupt_handler functions:n   functions為函數名 n為中斷向量號

//例如比較匹配中斷
#pragma interrupt_handler timer0_comp_isr:20
void timer0_comp_isr(void)
{
//compare occured TCNT0=OCR0
if(OCR0==0x7D) //調整0x7D
{
OCR0=0x7F;
}
else
{
OCR0=0x7D;
}
PORTA ^= 0x01; //PA0取反
}

GCCAVR: 包含 #include <avr/interrupt.h> 頭文件,然后使用 ISR(n) n為中斷向量號,多個中斷處理,就多個ISR函數(其實是宏),在早期的版本中還有 SIGNAL(n) 和 INTERRUPT(n)的寫法。GCCAVR中斷的例子如下:

INTERRUPT(SIG_INTERRUPT1) //INT1中斷服務程序
{
//硬件自動清除INTF1標志位
//這里全局中斷被打開,將允許其他中斷嵌套執行
_delay_ms(10);
if ((PIND&(1<<EXT_INT1))==0)
LED1_ON(); //點亮LED1
loop_until_bit_is_set(PIND,EXT_INT1);
_delay_ms(10);
}

3、EEPROM讀寫函數

GCCAVR和ICCAVR都內置了EEPROM讀寫函數,但是他們的命名不同,另外他們的寫字串和讀字串函數的地址和數據兩個參數位置反了。

ICCAVR例子:

EEPROM_WRITE(0x20,"abcdefg");                               /*寫字符串到0x20*/
EEPROMwrite(0x10,'a');                                      /*單字符寫入到0x10,注意是單引號*/


GCCAVR例子:

void eeprom_wb(uint16_t addr, uint8_t val);  將8位數據val寫入地址為addr的EEPROM存儲器里

4、其他一些頭文件的差異

ICCAVR常包含的文件 #include <macros.h> GCCAVR里面是沒有的。
GCC中的#include<avr/delay.h> 內置的精確(要定義正確的晶振,并選中優化才能準確)軟件延時函數,ICCAVR下沒有
GCCAVR有wdt.h 非常通用,ICCAVR沒有,這個可以移植過去!

等編程過程中遇到 再寫給大家。



關注有人微信公眾號
了解更多信息
主站蜘蛛池模板: 成年网站视频在线观看 | 97视频免费在线观看 | 欧美 日韩 视频 | 亚洲欧美另类在线观看 | 黄色在线视频网站 | 狠狠久久综合 | 久久99久久精品视频 | 伊伊人成亚洲综合人网香 | 国产精品久久久精品视频 | 99精品久久99久久久久久 | 五月婷婷深爱 | 免费高清欧美大片在线观看 | 日韩免费视频网站 | 国产一卡二卡四卡免费 | 日韩成人一级 | 欧美日韩精品一区二区三区视频 | 狠狠色综合网 | 日韩影片在线观看 | a毛片免费观看 | 国产理论自拍 | 裙底盗摄国产精品 | 日韩精品久久不卡中文字幕 | 亚洲欧美中日韩中文字幕 | 两个人在线看视频 | 免费看h黄动漫网站网址 | 亚洲无吗在线视频 | 一本色道久久88加勒比—综合 | 欧美激情精品久久久久久久 | 欧美一区二区三区男人的天堂 | 欧美日韩国产一区三区 | 三级毛片国产三级毛片 | 激情亚洲视频 | 九九九九热精品视频 | wwwxx免费| 羞羞视频免费网站在线看 | 国产精品成人网红女主播 | 天堂亚洲欧美日韩一区二区 | 精品国产日韩亚洲一区二区 | 色资源二区在线视频 | 夜夜天天干 | 韩国毛片基地 |