104學習精靈

全部 課程 貼文 教室 證照 影片
C語言相關的課程 (10)
從工作推薦課程
嵌入式Linux設計開發
本課程說明嵌入式系統架構,軟硬體系統的整合、移植與開發,幫助開發者Debug與分析問題。 帶你瞭解Embedded Linux的主要部份,上手Embedded Linux BSP:在拿到一般嵌入式 BSP後懂得如何開始,會知道如何進行核心組態與編譯,Bootloader , Kernel編譯以及Root File system建立等。能熟悉GNU Toolchain的使用,包含GNU AutoTools與Makefile的撰寫,並理解Open Source程式與函式庫的移植技巧 。 課程利用Raspberry Pi 開源硬體,讓你從空的SD card,從無到有建構自己的嵌入式Linux 系統並能使板子能開機 (Board bring up)。在Linux系統建立完成之後,教你開發 Linux Pthread、Socket及File (Device) I/O的系統程式。最後,以嵌入式Linux常見的產品,如IPCam、Wi-Fi Router、Media Player,手把手教你這些功能是如何被實現的。
艾鍗學院
C語言控制Raspberry Pi I/O
Linux是一套作業系統,且Linux的源碼和架構都是開放的。發展迄今,整個設計體系已經相當穩定,並化繁為簡,開發彈性大,因此從網站到物聯網系統開發,Linux無所不在,如果你自認自己是科技知識份子,那麼選擇Linux應該是理所當然。 而C語言是計算機程式的共同基礎,具備熟稔的C語言能力,從事硬/韌體的相關開發,才會有更好的效率。 若您有志朝嵌入式系統軟底層、MCU韌體、IC驅動程式開發、物聯網應用開發等以Linux、C語言為主軸的專業來發展,本課程將幫助您快速學會工程師必備的Linux與C語言能力,並教您運用C語言來進行Raspberry Pi 的基本操作,並搭配艾鍗獨家設計I/O子板,擴充了原Raspberry Pi 板的功能,並對其中所有軟硬體控制原理進行透徹解說,讓你可以在實作中驗證自己的學習成效,讓你可以成為創客 (Maker) 來實作各種有趣點子,也為踏入進階工程領域(像是嵌入式Linux開發、MCU韌體開發等)前建立紮實基礎。 Part1-Linux職能精修 ►什麼是Linux ►Linux系統安裝 ►Hyper-V ►VMwarePlayer ►Virtualbox ►如何連線遠端Linux ►RemoteConnectLinux - 讓你清楚的明白,什麼是遠端連線 ►檔案系統與系統結構 ►系統結構 ►檔案系統 (ext2、ext3、ext4、xfs) ►檔案類型與權限 (chown、chmod) 單元5 套件安裝與常用指令 ►套件安裝與常用指令 ►關閉IPV6 & 變更Source.lst ►如何安裝需要的套件 (apt-get、dpkg) ►常用指令 ►編輯器的使用 vi ►必懂的Linux操作 ►核心升級 (apt-get、dirt-upgrade) ►網路設定 (ifconfig、route) ►時區設定及校時 (ntpdate) ►硬碟分割與掛載 (fdisk、mkfs、mkfs.ext2、 mkfs.ext3、mount) ►使用者帳號管理 (useradd、adduser、deluser、userdel) ►檔案壓縮與備份 tar ►Ubuntu核心編譯 ►APACHE服務的安裝與設定 ►服務器安裝 Vsftpd + windows應用 ►NFS服務的安裝與設定 ►SAMBA 服務的安裝與設定 + windows應用 ►PHP ►服務器安裝 Mysql ► LAMP整合安裝 (tasksel install lamp-server) Part2-精通C語言 ►程式語言導論 ►C語言開發流程&規範 ►整合式開發環境 ►C程式介紹 ►程式架構 ►基本輸出與輸入函數 ►運算式 ►流程控制 ►資料流程與架構 ►函式巨與集 ►函數定義 ►遞迴呼叫 ►巨集 ►陣列與指標 ►陣列 ►多維陣列與指標 ►泡沫排序法 ►使用C語言開發驅動程式 ►字串處理 ►變數範圍 ►全域變數&區域變數 ►檔案管理 ►C語言檔案處理 ►NEW data Type ►typedef型態定義 Part3-C語言控制Raspberry Pi I/O ►Raspberry Pi 使用 ►Raspberry Pi 簡介 ►Raspberry Pi 使用 (包含Linux系統檔案系統與常用指令說明) ►數位介面 ►感測器介面與Pi子卡介紹 ►數位感測器讀取 ►GPIO ►使用BCM2835 Peripheral Library ►LED, Button, PIR, Relay ►PWM (SG90伺服馬達控制) ►I2C 工作原理 ►I2C OLED (SSD1306Z) ►I2C G-Sensor (LIS3DH) ►SPI 工作原理 ►UART Interface - PM2.5 ►Modbus over RS485 ►類比界面
艾鍗學院
樹莓派開發入門
什麼是Raspberry Pi? Raspberry Pi 是由劍橋大學的 Eben Upton及其他幾位老師所設計的,最初只是為了提供一台平價的電腦和自由軟體,讓學生可以輕鬆取得,用來學習跟練習電腦科學的相關知識。 但由於它價格低廉、容易取得、方便攜帶、安裝簡單、運作穩定,而且又可以連接其他週邊設備,不僅在教育界盛行,連創客 (Maker) 圈也非常愛用它來實作各種有趣點子,甚至有些業界的朋友也真的用它來製作產品或是專案。 課程目標 ◆ 學會Raspberry Pi 的基本操作 (本課程適用Raspberry Pi 4/Raspberry Pi 3) ◆ 學會Linux 基礎指令 ◆ 學會基礎I/O控制: 從LED 閃爍, 到讀取按鍵狀態 ◆ 活用Pi : 防盜偵測與家電控制( 使用PIR人體感測器及Relay繼電器) ► 開源硬體發展現況 ► Raspberry Pi 介紹 ► 使用UART Console登入Raspberry Pi ► 使用WiFi連接網際網路 ► Linux 基礎指令 ► 艾鍗Pi I/O擴充板介紹 ► 如何控制 Raspberry Pi I/O ► 我的第一個硬體驅動:LED, Push Button ► Pi連接PIR人體感測器及Relay 控制 ► Pi應用實例: 防盜偵測與家電控制
艾鍗學院
精通C語言
C語言是計算機韌體程式的共同基礎,舉凡你要開發嵌入式系統軟底層、MCU韌體、IC驅動程式開發,那麼C語言一定是你必須要會的程式設計語言。艾鍗學院C語言程式設計課程將帶大家掌握C語言精髓,給你100%清楚觀念,並清楚如何用C語言來設計實作! 學習目標: 1. 清楚掌握C語言的基本及進階觀念,尤其是針對pointer、Struct與位元處理等主題。 2. 認識前處理器、指標、特殊宣告等嵌入式系統常用的技巧。 3. 了解程式設計架構的可維護性、模組化。 章節架構: Part1-程式語言導論 ► C語言開發流程規範 ► 整合式開發環境 Part2-C程式介紹 ► 程式架構 ► 基本輸出與輸入函數 Part3-運算式 Part4-流程控制 ► 資料流程與架構 Part5-函式與巨集 ► 函數定義 ► 遞迴呼叫 ► 巨集 Part6-陣列與指標 ► 陣列 ► 多維陣列與指標 ► 泡沫排序法 ► 使用C語言開發驅動程式 Part7-字串處理 Part8-變數範圍 ► 全域變數&區域變數 Part9-檔案管理 ► C語言檔案處理 Part10-NEW data Type ► typedef型態定義
艾鍗學院
資料結構精修
資料結構(Data Structures)是資訊學科中的核心課程之一,也是嵌入式軟體設計的基礎課程。「資料結構精修班」教授軟體開發者必修的資料結構和演算法,讓你思考程式的執行效率。 1. 不僅學會撰寫程式,還能夠清楚掌握程式的重要觀念,了解”軟體程式=演算法+資料結構。 2. 能熟悉不同資料結構的設計模式。 3. 能了解軟體程式在何時會應用到這些資料結構。 4. 藉由排序與搜尋演算法理解來討論Big-O演算法效能分析。 1. 資深軟體工程師上的資料結構。 資料結構不是用來考試的,給你真正用軟體設計思維思考資料結構設計。 2. 重視實作的方法。 資料結構不能只會觀念性描述, 還必須知道每一個結構定義完之後, 該如何具體實現, 每一個實現的方法,還能分析它的好壞 (複雜度分析)。 課程提供的資料結構範例程式,可以使用任何C編譯器進行編譯,例如Code Blocks 、windows Dev-C++ 或 Linux 下的 GNU C 編譯器 (gcc) 章節架構: Part1-資料結構導論 Part2-ADT 抽象資料型別設計方法 Part3-Set 集合ADT設計 Part4-Stack堆疊 ► 堆疊ADT設計 ► 堆疊軟體應用 Part5-Queue 佇列 ► 佇列ADT設計 ► 環狀佇列ADT設計 ► 堆疊軟體應用 Part6-Linked List鏈結串列 ► 動態配置記憶體 ► 單向鏈結串列 ► 環狀鏈結串列 ► 使用C鏈結串列的各式操作-串列串接、串列反轉 Part7-Tree樹狀結構 ► 二元樹簡介 ► 樹ADT設計 ►二元搜尋樹(Binary Search Tree) ►建立(插入)節點、搜尋節點、刪除節 Part8-Graph 圖形結構 ►圖ADT設計 ►圖的表示法 ►建構圖、刪除邊、刪除頂點 ►圖走訪 ►DFS ►BFS ►軟體應用- 求最短路徑 ►Dijkstra 演算法 ►Bellman-Ford演算法 Part9-Search資料搜尋 ► 線性搜尋 (Linear Search) ► 二元搜尋 (Binary Search) ► 雜湊搜尋法 (Hashing) Part10-Sorting資料排序 ► 氣泡排序(bubble sort) ► 選擇排序(selection sort) ► 插入排序(insertion sort) ► 快速排序(quick sort) ► 合併排序(merge sort) ► 桶排序(bucket sort)
艾鍗學院