加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • led點燈程序
    • 編譯源碼
    • ELF?1板卡驗證
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

飛凌嵌入式的ElfBoard ELF 1板卡-應用編程示例之文件IO的方式控制LED

10/21 09:12
153
閱讀需 2 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

led點燈程序

下面使用一段簡單代碼來演示如何控制LED,并且讓大家了解應用編寫時常用的文件I/O模型:

程序步驟如下:

(一)LED1_BRIGHTNESS、 LED2_BRIGHTNESS兩個宏分別對應LED1、LED2兩個燈的亮度屬性;

(二)使用open分別打開兩個亮度屬性文件,如果錯誤返回報錯;

(三)間隔0.5秒,打開和關閉兩個LED燈;

(四)退出時使用close關閉屬性文件;

編譯源碼

此時就有個問題,我們好不容易寫好的第一個程序怎么放到開發(fā)板執(zhí)行呢?直接把led.c拷貝到開發(fā)板上好像不行,因為led.c是C語言,而開發(fā)板只認識二進制程序。如果使用之前ubuntu中介紹過的gcc編譯工具,用gcc編譯完放到開發(fā)板上會發(fā)現無法執(zhí)行,會提示格式錯誤。

這是因為虛擬機是在電腦上,屬于x86架構,而開發(fā)板是arm架構,不同架構主機上分別編譯運行的話就需要用到交叉編譯鏈。

在虛擬機設置交叉編譯鏈的環(huán)境變量,查看環(huán)境變量$CC:

這個$CC變量就是交叉編譯器arm-poky-linux-gnueabi-gcc + 配置參數。

首先創(chuàng)建led.c文件,將上面代碼添加到led.c文件,保存退出并編譯:

ELF?1板驗證

將生成的可執(zhí)行程序led拷貝到開發(fā)板:

在開發(fā)板執(zhí)行程序:

觀察現象,可以看到紅綠燈同時循環(huán)閃爍。

相關推薦

電子產業(yè)圖譜