亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1338|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

STC 單片機(jī) 完整工程文件分類

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:60178 發(fā)表于 2026-5-7 08:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
STC 單片機(jī) 完整工程文件分類
分三大類:外設(shè)功能文件、算法工具文件、程序流程結(jié)構(gòu)文件
給你按做項目標(biāo)準(zhǔn)結(jié)構(gòu)整理,跟你寫 T12、溫控、工控程序完全對上。
一、外設(shè)功能文件(底層硬件驅(qū)動)
只管硬件干活,不負(fù)責(zé)業(yè)務(wù)邏輯

  • gpio.c / gpio.h  IO 口初始化、高低電平
  • timer.c / timer.h  定時器、中斷、定時周期
  • delay.c / delay.h  毫秒、微秒延時
  • uart.c / uart.h  串口收發(fā)、打印調(diào)試
  • adc.c / adc.h  模數(shù)采集、電壓溫度讀取
  • pwm.c / pwm.h  呼吸燈、加熱 PWM、電機(jī)調(diào)速
  • key.c / key.h  獨立按鍵、矩陣按鍵、長按短按
  • i2c.c / spi.c  通信總線(OLED、傳感器)
  • iap.c / eeprom.c  內(nèi)部 Flash 掉電保存參數(shù)
  • wdt.c  看門狗復(fù)位

二、算法 & 工具文件(計算、處理、通用函數(shù))
只管計算、濾波、數(shù)學(xué),不管硬件

  • pid.c / pid.h  位置式 / 增量式 PID(焊臺溫控核心)
  • filter.c / filter.h  均值濾波、滑動濾波、中值濾波(ADC 去抖動)
  • math.c / math.h  限幅、取絕對值、插值、歸一化
  • crc.c  CRC 校驗(串口通信)
  • string.c  數(shù)字轉(zhuǎn)字符串、格式拼接
  • oled.c / lcd.c  屏幕驅(qū)動 + 數(shù)字顯示

三、程序流程結(jié)構(gòu)文件(整個項目骨架)
管運行順序、狀態(tài)邏輯、業(yè)務(wù)流程,這就是你要的「流程結(jié)構(gòu)文件」

1. main.c / main.h
程序入口總骨架

  • 所有模塊初始化順序
  • 大 while 死循環(huán)主流程
  • 總調(diào)度:按鍵→采樣→算法→控制→顯示

2. system.c / system.h
系統(tǒng)初始化框架

  • 系統(tǒng)時鐘配置
  • 所有外設(shè)統(tǒng)一初始化
  • 全局變量初始化、標(biāo)志位初始化
  • 中斷分組、IO 模式統(tǒng)一配置

3. task.c / task.h
任務(wù)調(diào)度文件
前后臺架構(gòu)、時間片輪詢

  • 1ms 任務(wù)、10ms 任務(wù)、100ms 任務(wù)
  • 定時執(zhí)行:測溫、PID、掃描按鍵、刷新顯示、休眠檢測
    不用全程死卡 while,按時間分片跑流程

4. menu.c / menu.h
菜單流程文件

  • 界面切換、參數(shù)加減、光標(biāo)移動
  • 菜單狀態(tài)機(jī)邏輯

5. setting.c / setting.h
參數(shù)配置流程

  • 默認(rèn)參數(shù)初始化
  • 參數(shù)保存到 Flash、開機(jī)讀取
  • 溫度默認(rèn)值、PID 參數(shù)、休眠時間等

6. state.c / state.h
狀態(tài)機(jī)流程文件
焊臺常用 4 大狀態(tài):
待機(jī) → 升溫 → 恒溫 → 休眠 → 關(guān)機(jī)
用狀態(tài)機(jī)管理整個工作流程,不亂套

7. interrupt.c
中斷服務(wù)匯總文件
定時器中斷、串口中斷、外部中斷
把所有中斷統(tǒng)一放這里,結(jié)構(gòu)清晰



四、標(biāo)準(zhǔn)工程整體流程結(jié)構(gòu)(從上到下)
  • system.c 系統(tǒng)時鐘 + 全部硬件初始化
  • main.c 進(jìn)入主循環(huán)
  • task.c 按時間輪詢調(diào)度各個任務(wù)
  • 調(diào)用:adc 采樣 → filter 濾波 → pid 計算 → pwm 輸出
  • menu.c 按鍵觸發(fā)菜單跳轉(zhuǎn)
  • setting.c 讀寫保存參數(shù)
  • state.c 切換工作狀態(tài)

五、極簡一句話區(qū)分
  • 功能文件:只管硬件
  • 算法文件:只管計算
  • 流程結(jié)構(gòu)文件:管先做什么、后做什么、什么時候做、狀態(tài)怎么切

我可以給你搭一個 STC 標(biāo)準(zhǔn)空白工程目錄結(jié)構(gòu),文件夾分層、每個文件作用寫好,你直接照著新建工程就能用


STC 單片機(jī) 標(biāo)準(zhǔn)工程完整目錄結(jié)構(gòu)(直接照搬就能用)
適配 STC15/STC32/STC8,做焊臺、溫控、工控、按鍵菜單都通用,分層干凈、條理清晰。
一、整體文件夾架構(gòu)
Project├── App          【程序流程/業(yè)務(wù)邏輯層】├── Driver       【硬件外設(shè)驅(qū)動層】├── Algorithm    【算法數(shù)學(xué)工具層】├── Common       【通用基礎(chǔ)層】├── User         【用戶配置/參數(shù)層】└── main.c       程序入口
二、每層文件清單 + 每個文件作用
1. App 程序流程結(jié)構(gòu)文件(骨架、業(yè)務(wù)、任務(wù)、狀態(tài))
  • app_task.c/h    任務(wù)調(diào)度:1ms/10ms/100ms 定時輪詢
  • app_state.c/h   狀態(tài)機(jī):待機(jī) / 升溫 / 恒溫 / 休眠 / 關(guān)機(jī)
  • app_menu.c/h    菜單界面、光標(biāo)、參數(shù)切換
  • app_control.c/h 總控制邏輯:測溫→PID→PWM 輸出總流程

2. Driver 硬件功能驅(qū)動文件(底層外設(shè))
  • drv_gpio.c/h    IO 初始化、高低電平
  • drv_timer.c/h   定時器、定時中斷
  • drv_uart.c/h    串口收發(fā)、打印調(diào)試
  • drv_adc.c/h     ADC 采集、溫度電壓讀取
  • drv_pwm.c/h     PWM 生成、占空比調(diào)節(jié)
  • drv_key.c/h     按鍵掃描、長短按
  • drv_i2c.c/h     I2C 總線(OLED / 傳感器)
  • drv_oled.c/h    OLED 屏幕驅(qū)動
  • drv_eeprom.c/h  內(nèi)部 Flash 參數(shù)保存
  • drv_delay.c/h   延時函數(shù)

3. Algorithm 算法 & 工具文件(計算、濾波、PID)
  • algo_pid.c/h    增量 / 位置式 PID(溫控核心)
  • algo_filter.c/h 均值、滑動、中值濾波(ADC 去噪)
  • algo_math.c/h   限幅、插值、絕對值、數(shù)據(jù)換算
  • algo_crc.c/h    CRC 校驗
  • algo_string.c/h 數(shù)字轉(zhuǎn)字符串、格式化

4. Common 通用基礎(chǔ)
  • common.h        全局類型定義、宏定義、常用頭文件匯總
  • system_init.c/h 系統(tǒng)總初始化:時鐘 + 所有外設(shè)一鍵初始化
  • interrupt.c/h   所有中斷服務(wù)函數(shù)統(tǒng)一放這里

5. User 用戶配置
  • user_setting.c/h  默認(rèn)參數(shù)、PID 參數(shù)、休眠時間、出廠設(shè)置
  • user_config.h     全局宏配置:屏幕大小、溫度上限、PWM 周期

三、標(biāo)準(zhǔn)程序運行流程(固定套路)
  • main.c 入口
  • 調(diào)用 system_init() 系統(tǒng)全部初始化
  • 進(jìn)入 while (1) 主循環(huán)
  • 調(diào)用 app_task() 時間片輪詢調(diào)度
  • 任務(wù)里依次跑:
    • 按鍵掃描
    • ADC 測溫 + 濾波
    • PID 運算
    • PWM 加熱輸出
    • OLED 顯示刷新
    • 休眠 / 狀態(tài)判斷
    • 參數(shù)保存讀取


四、三種文件一句話區(qū)分
  • Driver 驅(qū)動文件:只管硬件干活(定時器、ADC、串口)
  • Algorithm 算法文件:只管數(shù)學(xué)計算(PID、濾波、換算)
  • App 流程結(jié)構(gòu)文件:管先做啥、后做啥、什么時候做、狀態(tài)怎么切

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:106977 發(fā)表于 2026-5-14 15:41 | 只看該作者
51單片機(jī)原本很簡單的東西被你這么規(guī)劃,簡單的東西搞復(fù)雜了!初學(xué)者弄糊涂了,熟練者不會理會!
回復(fù)

使用道具 舉報

板凳
ID:36322 發(fā)表于 2026-5-14 18:46 | 只看該作者
AI搞的文章,甚至都能看出來是豆包的語氣
回復(fù)

使用道具 舉報

地板
ID:1059326 發(fā)表于 2026-5-15 21:46 | 只看該作者

AI搞的文章,甚至都能看出來是豆包的語氣
回復(fù)

使用道具 舉報

5#
ID:1130795 發(fā)表于 2026-5-16 08:04 | 只看該作者
lgwd 發(fā)表于 2026-5-14 15:41
51單片機(jī)原本很簡單的東西被你這么規(guī)劃,簡單的東西搞復(fù)雜了!初學(xué)者弄糊涂了,熟練者不會理會!

如果你在正規(guī)公司干過 就不會這么說了
回復(fù)

使用道具 舉報

6#
ID:138553 發(fā)表于 2026-5-16 16:22 | 只看該作者
挺好的,就是怎么沒有給出模板,令人無奈遺憾
回復(fù)

使用道具 舉報

7#
ID:106977 發(fā)表于 2026-5-16 19:17 | 只看該作者
你在哪個正規(guī)公司干過?說出來讓大家羨慕一下?
回復(fù)

使用道具 舉報

8#
ID:1064915 發(fā)表于 2026-5-17 14:07 | 只看該作者
給個模板學(xué)習(xí)一下
回復(fù)

使用道具 舉報

9#
ID:60178 發(fā)表于 2026-5-23 12:22 | 只看該作者
經(jīng)過學(xué)習(xí)了解,才能問出這樣的答案
回復(fù)

使用道具 舉報

10#
ID:60178 發(fā)表于 2026-5-23 13:00 | 只看該作者
網(wǎng)上大多老師教的是各種驅(qū)動和算法,而我們就要把這些驅(qū)動用參數(shù)傳遞通過定時輪詢狀態(tài)機(jī)組裝成工程
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表