色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

SAM4S Xplained pro的示例代碼分析詳解

電子工程師 ? 作者:工程師陳翠 ? 2018-06-18 07:18 ? 次閱讀

記得剛接觸單片機的時候使用的是STC89C52單片和keil 開發環境,記得當時寫程序都是把程序要實現的功能全部放到一個main.c的函數中去,剛開始完成的功能還是比較簡單。后來學習了STM32F407 知道了還有固件庫這么個可以加快開發速度的東西。將不同的功能的代碼放在了不同的文件中去(gpio.c、IIC.c等)進行歸類。這種方法便于程序的管理維護和擴展其他的功能,現在的單片機以不再是十幾年前的51匯編時代,現在動輒上M的flash存儲空間,除非一些對時序要求特別高,或者是操作系統內核調度中會用到匯編,基本上單片機開發使用的是C語言。模塊化、分層的思想對開發和維護以及后期的功能擴展都是很有幫助。

ASF,Atmel Software Frame 其實ASF也只是一個代號而已,可以理解為他是Atmel 公司開發的兼容Atmel公司單片機的一個固件庫。其中包括了一些驅動、I/O的控制、協議等一些底層驅動,供給用戶來調用加快開發速度。

打開的昨天的示例程序,會看到如圖3-1 所示的文件結構

SAM4S Xplained pro的示例代碼分析詳解

main.c中主要存放的是示例程序的主程序。ASF的文件夾中主要包括了一系列的板級支持包,比如I/O口的配置、spi等配置文件還有開發板上的OLED屏幕以及SD卡的驅動函數。在thirdparty文件夾中有CMSIS和fatfs。

CMSIS(Cortex Microcontroller Software Interface Standard)是ARM Cortex? 微控制器軟件接口標準,是 Cortex-M 處理器系列的與供應商無關的硬件抽象層,是內核與外設、實時操作系統和中間設備之間的通用接口。

FatFs是一個通用的文件系統模塊,用于在小型嵌入式系統中實現FAT文件系統。 FatFs 的編寫遵循ANSI C,因此不依賴于硬件平臺。

詳細的內容大家可以自己去研究一下。

下面就簡單的分析一下main.c函數。

static void ProcessButtonEvt(uint8_t uc_button);//按鍵處理函數

static void Button1_Handler(uint32_t id, uint32_t mask);//按鍵1 按鍵中斷

static void Button2_Handler(uint32_t id, uint32_t mask); //按鍵2按鍵中斷

static void Button3_Handler(uint32_t id, uint32_t mask); //按鍵3按鍵中斷

static void SD_Detect_Handler(uint32_t id, uint32_t mask); //SD中斷

static void configure_buttons(void);//機械按鍵初始化

static void configure_adc(void);//配置ADC 采集光線傳感器

static void get_num_files_on_sd(void);//得到SD卡根目錄下的文件總數

static void display_sd_info(void);//在OLED上顯示SD卡的狀態

static void display_sd_files(void);//顯示SD卡的內容到OLED屏幕上

static void ssd1306_draw_graph(uint8_t col, uint8_t page, uint8_t width, uint8_t height, uint8_t *tab);//在OLED屏幕上顯示圖片

static void ssd1306_clear_char(void);//清空OLED屏幕

int main(void)

{

/*主要完成時鐘、gpio、OLED、SD卡的初始化,和各個功能*/

}

具體內容參看程序,研究一下ASF提供的函數,開發起來會增加開發速度。

下面我們就來開發個小的實例,讓OLED液晶屏幕輸出HelloWorld!

首先將main.c函數的內容全部清空,我們一步一步來建立這個函數。

因為要在OLED屏上輸出,所以要查看液晶屏的驅動函數。

詳細的可以去項目文件中 ASF -》 common -》 components -》 display -》 ssd1306 中查看驅動文件。

#include

#include

intmain(void)

{

sysclk_init();// 初始化時鐘

board_init();// 初始化GPIO

ssd1306_init();//初始化OLED液晶屏

ssd1306_clear();//清空OLED屏幕

/*顯示helloWorld*/

ssd1306_set_page_address(0);//行

ssd1306_set_column_address(0);//列

ssd1306_write_text(“HelloWorld”);

/*顯示我的論壇ID*/

ssd1306_set_page_address(3);

ssd1306_set_column_address(70);

ssd1306_write_text(“-- liunian__92”);

while(1);

}

上述代碼即可完成輸出HelloWorld。如圖3-2所示

總結一下atmel Studio開發起來還是很好用的,外殼也是VS2010的。有些功能還是很方便的,

比如系統中有

ssd1306_set_page_address();

ssd1306_set_column_address();

_write_text“); 這三個函數,

當你只輸入 ssd 的時候,就會在下面自動出現這個三個備選函數。這個自動補充功能還是蠻實用的。

atmel Studio 一些調試功能還是蠻好用的,更重要的是Help 幫助窗口,有對atmel公司所有芯片和開發板的介紹信息,如果是初次接觸atmel公司芯片的芯片,確實應該好好看看help文檔和他們的示例代碼。但是,可能這個開發環境是為了兼容atmel公司所有的產品,所以會有很多的功能我們用不到,所以感覺整個開發環境就顯得操作緩慢。

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

    關注

    0

    文章

    2

    瀏覽量

    1564
收藏 人收藏

    評論

    相關推薦

    新手求助 Atmel SAM4S

    Atmel家的單片機我從來沒接觸過,以前用過STM32。因為最近要研究 Atmel SAM4S,但是網上基本找不到相關的中文講義或者教程{:4_106:}。關于AVR的倒是鋪天蓋地的,所以想進來
    發表于 05-21 20:12

    ATMEL SAM-4S Xplained之RTC實時時鐘程序

    ATMEL SAM-4S Xplained之RTC實時時鐘程序
    發表于 01-24 17:12

    ATMEL-SAM4S-XPLAINED開發板測試完全攻略

    ATMEL-SAM4S-XPLAINED開發板測試完全攻略
    發表于 01-25 10:16

    SAM4S MDK頭文件初步分析

    SAM4S MDK頭文件初步分析
    發表于 01-25 10:30

    SAM4S-XPLAINED--KEIL開發環境搭建及LED閃燈測試(固件庫版本)

    SAM4S-XPLAINED--KEIL開發環境搭建及LED閃燈測試(固件庫版本)
    發表于 01-25 10:31

    菜鳥一步步入門SAM4S-XPLAINED--IAR開發環境

    菜鳥一步步入門SAM4S-XPLAINED--IAR開發環境
    發表于 01-25 10:55

    ATSAMR21-XPRO,SAM R21 Xplained Pro評估套件提供額外的外圍設備以擴展電路板的功能

    ATSAMR21-XPRO,SAM R21 Xplained Pro評估套件是評估ATSAMR21G18A微控制器的硬件平臺。該套件由Atmel Studio集成開發平臺提供支持,可輕松訪問
    發表于 09-30 06:25

    采用SAM4S如何參考設計的UART到以太網網關

    采用SAM4S參考設計的UART到以太網網關。該參考設計演示了基于ATSAM4S的UART到以太網網關。 UDP廣播方案用于客戶端查找以太網地址。流量控制支持平衡以太網和UART之間的傳輸速率。該參考設計使用ATSAM4S
    發表于 05-20 14:45

    基于AT97SC3205 SAM4S ARM微控制器的定制USB板

    友好的演示和評估軟件。該驅動器包含演示源代碼,用于重新加載演示代碼的十六進制映像(如有必要)和Kit Schematics。還包括USB延長線。該套件可使用最新的SAM4S ARM固件進行更新(如果有)
    發表于 08-25 12:15

    記錄寫SAM4S的bootloader所踩的坑

    記錄寫SAM4S的bootloader所踩的坑
    發表于 01-24 07:16

    Atmel SAM D20 Xplained Pro_USER GUIDE

    引腳以及某些按鈕和 LED;此外,還有多個擴展接口便于用戶擴展。 由于 SAM D20 兼容二進制,因此可將代碼輕松地從 SAM D20 Xplained
    發表于 11-19 13:45 ?0次下載

    Atmel SAM R21 Xplained Pro

    Atmel SAM R21 Xplained Pro 開發板實戰演練
    發表于 07-08 15:08 ?28次下載

    Atmel SAM4L應用指南

    The Atmel SAM4L Xplained Pro evaluation kit is hardware platform to evaluate the ATSAM4LC4C
    發表于 09-12 17:52 ?10次下載

    Atmel SAM4S應用指南

      The Atmel SAM4S Xplained Pro evaluation kit is a hardware platform to evaluate the ATSAM4S
    發表于 09-12 18:47 ?16次下載

    關于Xplained Pro SAM4L入門套件的特點介紹

    Xplained Pro SAM4L入門套件
    的頭像 發表于 07-10 10:36 ?2657次閱讀
    主站蜘蛛池模板: 久久精品热99看 | 亚洲日韩乱码人人爽人人澡人 | 亚洲欧美中文字幕网站大全 | 兔费看少妇性L交大片免费 偷偷要色偷偷 | 亚洲狠狠97婷婷综合久久久久 | 最近日本字幕免费高清 | 小小水蜜桃免费影院 | 一区二区乱子伦在线播放 | 无限资源在线观看8 | 美女全光末满18勿进 | 国产AV电影区二区三区曰曰骚网 | 日本一卡精品视频免费 | 视频一区国产精戏刘婷30 | 国产在线精品视亚洲不卡 | 亚洲 日本 天堂 国产 在线 | 亚洲天堂av2017 | 外女思春台湾三级 | 亚洲AV精品一区二区三区不卡 | 一本道的mv中文字幕 | 久久99国产精品二区不卡 | 1788vv视频 | 中文字幕亚洲无线码在线 | 日韩内射美女人妻一区二区三区 | 三级黄色在线视频中文 | 电影日本妻子 | 久久婷婷五月免费综合色啪 | 一本到2v不卡区 | 狠狠色丁香久久婷婷综合_中 | 久久青草免费91线频观看站街 | 色尼玛亚洲综合 | 成人女人A级毛片免费软件 成人免费在线视频 | 97在线观看成人免费视频 | 91久久精一区二区三区大全 | 777米奇影院第七色色 | 久青草国产观看在线视频 | 亚洲国产欧美在线看片 | 成人国产精品玖玖热色欲 | 国产精品久久久久久久久久久 | 99久久精品一区二区三区 | 亚洲色图激情小说 | 色中色最新地址登陆 |