那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

編程案例 使用MPLAB?X開發AVR?MCU 寫C程序框架

eeDesigner ? 來源:物聯網評論 ? 作者:物聯網評論 ? 2022-05-17 11:24 ? 次閱讀

從新建一個空白程序開始,從頭寫一個程序框架,能有助于更好的理解MPLAB? X開發環境所提供的各種編程資源。

1. 新建一個空白程序。其項目屬性如下:

pYYBAGKDFXaACHQcAAEetdT_X18112.jpg

2. 新建main.c文件

在Projects列表頁面中,選中項目名稱,點右鍵,通過彈出菜單,新建main.c文件。

Main.c中默認已經有了幾行代碼: 包含xc.h頭文件和主函數main()。

poYBAGKDFXaALKaNAAJVwC0fG0k684.jpg

3. 頭文件結構

在main.c文件編輯區,右鍵,Navigate -> View Includes Hierarchy, 可以查看xc.h,以及下層包含的頭文件。

pYYBAGKDFXeABdrtAAUEuEHZ6r8712.jpg

當前main.c文件的頭文件包含結構:

poYBAGKDFXeAPs6WAAAgMiiXIYI225.jpg

xc.h 頭文件中,主要是對cci.h 和avr/io.h進行了包含,并且定義了使能/禁止中斷的宏定義。

pYYBAGKDFXeAZg57AABmDhIQQh4708.jpg

Avr/io.h文件,是通用的“索引”型頭文件,對各個AVR器件的頭文件進行了條件包含。

poYBAGKDFXeAGHgzAACP0EmtNkE394.jpg

Iotn817.h 文件具體定義了ATtiny817芯片的IO口,外設寄存器信息

pYYBAGKDFXeABxR4AACJmNDACIY335.jpg

4. IO口操作

PORTA.DIR = 0x55;

PORTA.OUTSET = 0x55;

uint8_t pinvalue = PORTA.IN & 0xAA;

PORTA.OUTTGL = 0x55;

數據類型uint8_t 是標準頭文件stdint.h中定義,根據上面的頭文件結構,已經包含,所以不需要再進行包含。

5. 中斷

- 包含中斷頭文件

#include

- 中斷處理函數:

ISR(NVMCTRL_EE_vect){

//添加中斷處理函數代碼

}

- 中斷使能函數 ei() 或 sei().

- 中斷禁止函數 di() 或 cli()

6. 延遲

- 定義 F_CPU 宏為系統頻率

#define F_CPU 33333333 //3.3MHz

- 包含延遲頭文件

#include

- 使用延遲函數

_delay_ms(1000);

7. FUSE

FUSES =

{

.APPEND = 0,

.BODCFG = ACTIVE_DIS_gc | LVL_BODLEVEL0_gc | SAMPFREQ_1KHz_gc | SLEEP_DIS_gc,

.BOOTEND = 0,

.OSCCFG = FREQSEL_20MHZ_gc,

.SYSCFG0 = CRCSRC_NOCRC_gc | RSTPINCFG_UPDI_gc,

.SYSCFG1 = SUT_64MS_gc,

.WDTCFG = PERIOD_OFF_gc | WINDOW_OFF_gc,

};

Fuse結構體定義在iotn817.h中

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17321

    瀏覽量

    352650
  • AVR
    AVR
    +關注

    關注

    11

    文章

    1125

    瀏覽量

    78886
  • C語言
    +關注

    關注

    180

    文章

    7614

    瀏覽量

    137717
收藏 人收藏

    評論

    相關推薦

    AVR單片機C語言程序框架(單片機最簡操作系統)及詳解

    本帖最后由 lvhoujun 于 2014-2-28 00:37 編輯 這是本人以ATMEGA128為例編寫的C語言程序框架,做簡單的修改即適合AVR所有單片機。可以說是一個單片
    發表于 02-12 20:27

    MPLAB X IDE 4.05沒有AVR設備?

    MPLAB X IDE V4.05系列:8位AVR MCU(XMEGA/MEGA/TIN)設備:??????? 以上來自于百度翻譯 以下為原文 M
    發表于 11-13 15:36

    MPLAB? PM3器件編程器用戶指南(用于MPLAB X IDE)

    MPLAB? PM3器件編程器用戶指南(用于MPLAB X IDE)
    發表于 05-25 17:29 ?88次下載

    利用MPLAB? Harmony開發框架縮短開發時間

    MPLAB? Harmony是針對PIC32單片機的完善軟件開發框架,經估算,對于典型項目的開發時間至少可節省20%以上。為加速開發過程,
    的頭像 發表于 07-08 00:15 ?3404次閱讀

    MPLAB Harmony開發框架PIC32單片機中的作用說明

    MPLAB? Harmony是一款適合Microchip PIC32單片機的軟件開發框架,憑借簡單易用、基于GUI的配置器,MPLAB? Harmony支持用戶靈活地
    的頭像 發表于 07-08 00:17 ?5346次閱讀

    利用MPLAB Harmony軟件框架的互聯模塊整合程序

    Microchip獲獎的MPLAB? Harmony是一款針對PIC32單片機的軟件框架,可在項目配置中以互聯模塊的形式整合應用程序的所有組件。
    的頭像 發表于 07-08 00:37 ?3669次閱讀

    MPLAB X集成開發環境現已支持AVR單片機

    生態系統進行開發工作的設計人員現在可以輕松評估AVR MCU并將其融入到應用中。今天,隨著美國微芯科技公司(Microchip Technology Inc)推出MPLAB
    發表于 10-08 15:43 ?592次閱讀

    美國微芯科技推出MPLAB?X集成開發環境(IDE)5.05版,可支持大部分AVR MCU

    今天,隨著美國微芯科技公司(Microchip Technology Inc)推出MPLAB? X集成開發環境(IDE)5.05版,目前暫屬測試版,可支持大部分AVR
    發表于 10-11 10:28 ?2620次閱讀

    如何安裝MPLAB Harmony v3軟件開發框架

    MPLAB? Harmony v3 是一款軟件開發框架,包含兼容且可互操作的模塊,例如外設庫(Peripheral Library,PLIB)、驅動程序、系統服務、中間件和第三方庫。此
    發表于 03-30 16:30 ?19次下載
    如何安裝<b class='flag-5'>MPLAB</b> Harmony v3軟件<b class='flag-5'>開發</b><b class='flag-5'>框架</b>

    AVR的自編程功能

    AVR的自編程功能ATmega128具備引導加載支持的用戶程序編程功能(In-System Programming by On-chipBoot Program),它提供了一個真正的
    發表于 11-15 13:06 ?7次下載
    <b class='flag-5'>AVR</b>的自<b class='flag-5'>編程</b>功能

    使用MPLAB? X開發AVR? MCU – 從頭一個C程序框架

    從新建一個空白程序開始,從頭一個程序框架,能有助于更好的理解MPLAB? X
    發表于 02-10 10:17 ?4次下載
    使用<b class='flag-5'>MPLAB</b>? <b class='flag-5'>X</b><b class='flag-5'>開發</b><b class='flag-5'>AVR</b>? <b class='flag-5'>MCU</b> – 從頭<b class='flag-5'>寫</b>一個<b class='flag-5'>C</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b>

    像使用PIC? MCU一樣在MPLAB? X IDE中開發AVR? MCU

    比較慢之外,不失為一款比較優秀的開發環境,其編輯、編譯、調試和燒錄功能都非常強大。而AVR? MCU的Studio 7開發環境,繼承了Visual Studio(VS)的血脈,只是風格
    發表于 02-11 10:57 ?3次下載
    像使用PIC? <b class='flag-5'>MCU</b>一樣在<b class='flag-5'>MPLAB</b>? <b class='flag-5'>X</b> IDE中<b class='flag-5'>開發</b><b class='flag-5'>AVR</b>? <b class='flag-5'>MCU</b>

    適用于AVR MCUMPLAB XC8 C編譯器用戶指南

    電子發燒友網站提供《適用于AVR MCUMPLAB XC8 C編譯器用戶指南.pdf》資料免費下載
    發表于 09-19 15:47 ?3次下載
    適用于<b class='flag-5'>AVR</b> <b class='flag-5'>MCU</b>的<b class='flag-5'>MPLAB</b> XC8 <b class='flag-5'>C</b>編譯器用戶指南

    MPLAB XC8嵌入式工程師用戶指南——AVR MCU

    電子發燒友網站提供《MPLAB XC8嵌入式工程師用戶指南——AVR MCU.pdf》資料免費下載
    發表于 09-20 11:19 ?0次下載
    <b class='flag-5'>MPLAB</b> XC8嵌入式工程師用戶指南——<b class='flag-5'>AVR</b> <b class='flag-5'>MCU</b>

    MCU編程語言和開發環境介紹

    MCU編程語言 MCU編程語言是用于編寫MCU程序的高級
    的頭像 發表于 11-01 11:51 ?1072次閱讀
    百家乐信誉好的平台| 大发888怎么进不去| 大发888娱乐场奖金| 娱乐城在线| 北票市| VIP百家乐官网-挤牌卡安桌板| 亚洲百家乐官网论坛| 百家乐官网论坛| 百家乐最大的赌局| 大发888官网网址| 澳门凯旋门赌场| 澳门百家乐官网是骗人的| 波浪百家乐官网游戏中| 百家乐趋势图怎么看| 扑克百家乐麻将筹码防伪| 狼2老虎机清零密码| www.sbobet2.com| 百家乐官网庄家抽水的秘密| 百家乐视频下载地址| 大发888备用地址| 威尼斯人娱乐城图| 天空娱乐城| 百家乐官网路单| 百家乐现金网信誉排名| 六合彩投注网| 百家乐官网五湖四海娱乐场| 百家乐塑料扑克牌盒| bet365足球| 百家乐官网赌场现金网| 在线百家乐纸牌| 金鼎国际娱乐| rmb百家乐官网的玩法技巧和规则| 百家乐真人博彩的玩法技巧和规则 | 凤台县| 百家乐官网筹码皇冠| 威尼斯人娱乐城图| 澳门百家乐官网下路写法| 澳门百家乐一把决战输赢| 猫游棋牌下载| 吉利百家乐官网的玩法技巧和规则 | 百家乐群柏拉图软件|