日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 21ic電子網(wǎng)
[導讀]生命在于運動,技術(shù)在于折騰,你是否厭倦了在keil、iar下孜孜不倦的寫代碼、debug,是否玩累了在外部編輯器下寫代碼,然后在轉(zhuǎn)到ide下進行仿真、下載等操作呢?這個教程將介紹下如何在vscode下實現(xiàn)這些操作,真正實現(xiàn)一個vscode可以吃天、實現(xiàn)編譯仿真下載一條龍服務,而你只需要在vscode下的終端敲幾個命令而已。

出品?21ic論壇???791314247

網(wǎng)站:bbs.21ic.com

生命在于運動,技術(shù)在于折騰,你是否厭倦了在keil、iar下孜孜不倦的寫代碼、debug,是否玩累了在外部編輯器下寫代碼,然后在轉(zhuǎn)到ide下進行仿真、下載等操作呢?


這個教程將介紹下如何在vscode下實現(xiàn)這些操作,真正實現(xiàn)一個vscode可以吃天、實現(xiàn)編譯仿真下載一條龍服務,而你只需要在vscode下的終端敲幾個命令而已。。。


本教程以阿波羅開發(fā)板stm32f429igt6為例,先瞅瞅最終界面


[STM32] 教你在vscode下用stm32+makefile+gcc實現(xiàn)編譯仿真下載一條龍服務


最終可以用的功能如下:


1,vscode終端下執(zhí)行make指令,即可在build文件下編譯出.hex .bin .elf文件,中間文件放在build/Obj/文件夾下


2,執(zhí)行make clean,可清除build文件夾


3,執(zhí)行make download,可一鍵下載hex到目標板子并讓板子復位運行,相當于keil的一鍵下載按鈕


4,執(zhí)行make reset,可以讓板子復位運行一下


5,執(zhí)行make commit,可一鍵推送到你的github或者giteee遠程服務器上去,但前提是你自己創(chuàng)建了這個工程的git


教程如下:


環(huán)境:
1,下載vscode及必要插件,令需要一個插件Cortex_debug


2,Windows下安裝arm-none-eabi-gcc工具鏈,推薦q4版本
下載及安裝教程:https://blog.csdn.net/qq_35333978/article/details/110398968


3,Windows下安裝Jlink最新版驅(qū)動(V6.88a)
附件上傳不上去,故分享個網(wǎng)盤永久鏈接
鏈接:加HTTP加斜杠pan.baidu.com/s/11YnBjWtl9L9V7YCQABC60Q
提取碼:ysgp安裝、下載的教程也在上面的鏈接。


4,GNU make

百度網(wǎng)盤鏈接和安裝教程、添加環(huán)境變量教程也在上邊的鏈接。。。


5,git bash


這個不用說,大家都會有的吧,然后需要把vscode的終端換成git bash。百度一下,太容易了。


好了,環(huán)境就搭好了,不要嫌麻煩,現(xiàn)在越麻煩,你用起來越方便!


編譯:編譯只需在vscode終端中執(zhí)行make指令就行,如下圖:


[STM32] 教你在vscode下用stm32+makefile+gcc實現(xiàn)編譯仿真下載一條龍服務


仿真:仿真的話需要vscode下的插件cortex debug,這個教程我粘貼上我之前寫的國產(chǎn)芯片fm33lc02x的教程,大家只要把芯片名字換成STM32F429就行


(1) vscode下載插件cortex debug插件

[STM32] 教你在vscode下用stm32+makefile+gcc實現(xiàn)編譯仿真下載一條龍服務

(2) 創(chuàng)建launch.json文件

如下圖所示:
[STM32] 教你在vscode下用stm32+makefile+gcc實現(xiàn)編譯仿真下載一條龍服務

然后選擇Cotrex Debug即可創(chuàng)建好launch.json文件

[STM32] 教你在vscode下用stm32+makefile+gcc實現(xiàn)編譯仿真下載一條龍服務

(3) 配置launch.json文件
稍微按照自己的芯片修改下就好,以FM33LC026為例:

[STM32] 教你在vscode下用stm32+makefile+gcc實現(xiàn)編譯仿真下載一條龍服務

然后將廠商提供的.svd文件放到你的工程根目錄即可開始仿真,可以看變量、看外設寄存器、內(nèi)核寄存器等等,還可以保存你的斷點等。

然后實現(xiàn)這一切的核心就是makefile文件,不用管,我已經(jīng)幫你寫好了,而且全部中文注釋,各種參數(shù)也是取自stm32cube的makefile參數(shù),放心的用,放心的學!
然后我將在附件提供一個基于阿波羅開發(fā)板stm32f429igt6的點燈例程。如果的芯片不是stm32f429,但只要你的核是arm核,本例程本makefile,通通能用!
換芯片后你需要改以下內(nèi)容:

1,找到你的芯片的基于gcc的啟動文件和鏈接腳本,一般問廠商要肯定有的,不用自己寫,然后替換到根目錄下的2個對應文件

[STM32] 教你在vscode下用stm32+makefile+gcc實現(xiàn)編譯仿真下載一條龍服務

2,改以下內(nèi)容,是不是看起來特簡單。
[STM32] 教你在vscode下用stm32+makefile+gcc實現(xiàn)編譯仿真下載一條龍服務

然后,就搞定了,具體的參數(shù)可以去stm32cube上生成一個對應內(nèi)核的makefile,然后參考下就行了,其實其他核是更簡單的。教程可能有點亂,后期我會在整理下。

最后附上我的整個makefile

  1. ???#*************************************************************************??

  2. #??**??

  3. #??**?File?????????:?Makefile??

  4. #??**?Abstract?????:?This?is?the?introduction?to?the?document??

  5. #??**?Author???????:?wr??

  6. #??**?mail?????????:?791314247@q.com??

  7. #??**?Created?Time?:?20201122日?星期日?115806秒??

  8. #??**?copyright????:?COPYRIGHT(c)?2020??

  9. #??**??

  10. #??************************************************************************/??

  11. ??

  12. ifneq?($(V),1)??

  13. Q?:=?@??

  14. else??

  15. Q?:=??

  16. endif??

  17. ??

  18. ################################以下項目需用戶根據(jù)需要更改##########################??

  19. #?輸出文件的名稱,默認為main(main.elf?main.bin?main.hex)??

  20. TARGET?:=?main??

  21. ??

  22. #鏈接文件名稱和所在路徑??

  23. LDSCRIPT?:=?./STM32F429IGTx_FLASH.ld??

  24. ??

  25. #啟動文件名稱和所在路徑??

  26. START_FILE_SOURCES?:=?./startup_stm32f429xx.s??

  27. ??

  28. #內(nèi)核選擇,F(xiàn)PU,?FLOAT-ABI可為空??

  29. CPU???????:=?-mcpu=cortex-m4??

  30. FPU???????:=?-mfpu=fpv4-sp-d16??

  31. FLOAT-ABI?:=?-mfloat-abi=hard??

  32. ??

  33. #系統(tǒng)宏定義??

  34. C_DEFS????:=?\??

  35. -DUSE_HAL_DRIVER?\??

  36. -DSTM32F429xx??

  37. ??

  38. #?芯片型號,用于Jlink仿真調(diào)試、下載??

  39. CHIP??????:=?STM32F429IG??

  40. ??

  41. #?選擇優(yōu)化等級:??

  42. #?1. gcc中指定優(yōu)化級別的參數(shù)有:-O0、-O1、-O2、-O3、-Og、-Os、-Ofast。??

  43. #?2. 在編譯時,如果沒有指定上面的任何優(yōu)化參數(shù),則默認為?-O0,即沒有優(yōu)化。??

  44. #?3. 參數(shù)?-O1、-O2、-O3 中,隨著數(shù)字變大,代碼的優(yōu)化程度也越高,不過這在某種意義上來說,也是以犧牲程序的可調(diào)試性為代價的。??

  45. #?4. 參數(shù)?-Og 是在?-O1 的基礎(chǔ)上,去掉了那些影響調(diào)試的優(yōu)化,所以如果最終是為了調(diào)試程序,可以使用這個參數(shù)。不過光有這個參數(shù)也是不行的,這個參數(shù)只是告訴編譯器,編譯后的代碼不要影響調(diào)試,但調(diào)試信息的生成還是靠?-g 參數(shù)的。??

  46. #?5. 參數(shù)?-Os 是在?-O2 的基礎(chǔ)上,去掉了那些會導致最終可執(zhí)行程序增大的優(yōu)化,如果想要更小的可執(zhí)行程序,可選擇這個參數(shù)。??

  47. #?6. 參數(shù)?-Ofast 是在?-O3 的基礎(chǔ)上,添加了一些非常規(guī)優(yōu)化,這些優(yōu)化是通過打破一些國際標準(比如一些數(shù)學函數(shù)的實現(xiàn)標準)來實現(xiàn)的,所以一般不推薦使用該參數(shù)。??

  48. #?7. 如果想知道上面的優(yōu)化參數(shù)具體做了哪些優(yōu)化,可以使用 gcc -Q --help=optimizers 命令來查詢。??

  49. OPT???????:=?-Og??

  50. ??

  51. #?是否將debug信息編譯進.elf文件,默認打開??

  52. DEBUG?????:=?1??

  53. ??

  54. #?輸出文件夾,.hex?.bin?.elf放在此文件夾下,.o?.d文件放在此文件的子目錄Obj下(自動創(chuàng)建)??

  55. BUILD?????:=?./build??

  56. ??

  57. #?支持雙系統(tǒng)編譯,故需選當前系統(tǒng),0為linux,1為windows??

  58. SYS????:=?1??

  59. #?若指定了windows系統(tǒng),則需確認編譯器的路徑,若安裝時以默認路徑安裝,則正確??

  60. ifeq?($(SYS),?1)??

  61. GCC_PATH?=?"/c/Program?Files?(x86)/GNU?Tools?Arm?Embedded/9?2019-q4-major/bin"??

  62. JLINK_PATH?=?"/c/Program?Files?(x86)/SEGGER/JLink"??

  63. endif??

  64. ###################################用戶修改結(jié)束###################################??

  65. ??

  66. #?編譯器定義??

  67. PREFIX?=?arm-none-eabi-??

  68. ifdef?GCC_PATH??

  69. SUFFIX?=?.exe??

  70. CC??????:=?$(GCC_PATH)/$(PREFIX)gcc$(SUFFIX)??

  71. SZ??????:=?$(GCC_PATH)/$(PREFIX)size$(SUFFIX)??

  72. OBJCOPY?:=?$(GCC_PATH)/$(PREFIX)objcopy$(SUFFIX)??

  73. GDB?????:=?$(GCC_PATH)/$(PREFIX)gdb$(SUFFIX)??

  74. BIN?????:=?$(OBJCOPY)?-O?binary?-S??

  75. HEX?????:=?$(OBJCOPY)?-O?ihex??

  76. else??

  77. CC??????:=?$(PREFIX)gcc??

  78. SZ??????:=?$(PREFIX)size??

  79. OBJCOPY?:=?$(PREFIX)objcopy??

  80. GDB?????:=?$(PREFIX)gdb??

  81. BIN?????:=?$(OBJCOPY)?-O?binary?-S??

  82. HEX?????:=?$(OBJCOPY)?-O?ihex??

  83. endif??

  84. ??

  85. #?Jlink定義,用于支持一鍵下載和gdb仿真??

  86. ifdef?JLINK_PATH??

  87. SUFFIX?=?.exe??

  88. JLINKEXE???????:=?$(JLINK_PATH)/JLink$(SUFFIX)??

  89. JLINKGDBSERVER?:=?$(JLINK_PATH)/JLinkGDBServer$(SUFFIX)??

  90. else??

  91. JLINKEXE???????:=?JLinkExe??

  92. JLINKGDBSERVER?:=?JLinkGDBServer??

  93. endif??

  94. ??

  95. ??

  96. ####################?CFLAGS?Config?Start?##########################??

  97. MCU?=?$(CPU)?-mthumb?$(FPU)?$(FLOAT-ABI)??

  98. ??

  99. #搜索所有的h文件,并輸出攜帶-I的.h文件路徑??

  100. C_INCLUDES?:=?$(addprefix?-I,$(subst?./,,$(sort?$(dir?$(shell?find?./?-type?f?-iname?"*.h")))))??

  101. ??

  102. #編譯參數(shù)??

  103. CFLAGS?=?$(MCU)?$(C_DEFS)?$(C_INCLUDES)?$(OPT)?-fdata-sections?-ffunction-sections??

  104. #開關(guān)警告??

  105. CFLAGS?+=?-Wall?-W?-Wno-unused-parameter??

  106. #標準??

  107. CFLAGS?+=?-std=c99??

  108. ??

  109. #當開啟DEBUG功能時攜帶DEBUG參數(shù)??

  110. ifeq?($(DEBUG),?1)??

  111. CFLAGS?+=?-g?-gdwarf-2??

  112. endif??

  113. ??

  114. #自動生成依賴文件??

  115. CFLAGS?+=?-MMD?-MP?-MF"$(@:%.o=%.d)"??

  116. ####################?CFLAGS?Config?End?##########################??

  117. ??

  118. #?libraries??

  119. LIBS?=?-lc?-lm?-lnosys??

  120. LIBDIR?=??

  121. #鏈接指令集-specs=nosys.specs??

  122. LDFLAGS?=?$(MCU)?-T$(LDSCRIPT)?-specs=nano.specs?$(LIBDIR)?$(LIBS)?-Wl,-Map=$(BUILD)/Obj/$(TARGET).map,--cref??

  123. #是否開啟優(yōu)化掉未使用的函數(shù)和符號??

  124. LDFLAGS?+=?-Wl,--gc-sections??

  125. ??

  126. #制作啟動文件依賴Obj,輸出去掉路徑的.o文件,可兼容.s和.S??

  127. START_FILE_OBJ?????=?$(addsuffix?.o,?$(basename?$(notdir?$(START_FILE_SOURCES))))??

  128. OBJECTS????????????=?$(addprefix?$(BUILD)/Obj/,?$(START_FILE_OBJ))??

  129. ??

  130. #搜索所有的c文件,制作所有的.c文件依賴Obj??

  131. C_SOURCES??????????=?$(subst?./,,$(shell?find?./?-type?f?-iname?"*.c"))??

  132. OBJECTS???????????+=?$(addprefix?$(BUILD)/Obj/,?$(notdir?$(C_SOURCES:%.c=%.o)))??

  133. #PS:去掉終極目標的原始路徑前綴并添加輸出文件夾路徑前綴(改變了依賴文件的路徑前綴,需要重新指定搜索路徑)??

  134. ??

  135. #指定makefile搜索文件的路徑(假如終極目標的依賴文件不攜帶.c文件所在的路徑,??

  136. #且不指定搜索路徑,makefile會報錯沒有規(guī)則制定目標)??

  137. vpath?%.c?$(sort?$(dir?$(C_SOURCES)))??#取出路徑并去重和排序(以首字母為單位)??

  138. vpath?%.s?$(dir?$(START_FILE_SOURCES))??

  139. vpath?%.S?$(dir?$(START_FILE_SOURCES))??

  140. ??

  141. ??

  142. #指定為偽目標跳過隱含規(guī)則搜索,提升makefile的性能,并防止make時攜帶的參數(shù)與實際文件重名的問題??

  143. .PHONY:all?clean?printf?JLinkGDBServer?debug?download?reset?commit??

  144. ??

  145. all?:?$(BUILD)/$(TARGET).elf?$(BUILD)/$(TARGET).bin?$(BUILD)/$(TARGET).hex??

  146. ??

  147. ??

  148. #鏈接所有的.o生成.elf文件??

  149. $(BUILD)/$(TARGET).elf?:?$(OBJECTS)?|?$(LDSCRIPT)??

  150. ????????$(Q)$(CC)?$(LDFLAGS)?-o?$[url=home.php?mod=space&uid=72445]@[/url]?$(OBJECTS)??

  151. ????????$(Q)echo?"make?$@:"??

  152. ????????$(Q)$(SZ)?$@??

  153. ??

  154. ??

  155. #編譯啟動文件??備用參數(shù):#-x assembler-with-cpp??

  156. $(BUILD)/Obj/$(START_FILE_OBJ)?:?$(START_FILE_SOURCES)?Makefile?|?$(BUILD)/Obj??

  157. ????????$(Q)echo?"buid?$(subst?./,,[????????DISCUZ_CODE_34????????]lt;)"??

  158. ????????$(Q)?$(CC)?-c?$(CFLAGS)?-o?$@?[????????DISCUZ_CODE_34????????]lt;??

  159. ??

  160. #編譯工程??

  161. $(BUILD)/Obj/%.o?:?%.c?Makefile?|?$(BUILD)/Obj??

  162. ????????$(Q)echo?"buid?$(subst?./,,[????????DISCUZ_CODE_34????????]lt;)"??

  163. ????????$(Q)?$(CC)?-c?$(CFLAGS)?-Wa,-a,-ad,-alms=$(@:%.o=%.lst)?-o?$@?[????????DISCUZ_CODE_34????????]lt;??

  164. ??

  165. $(BUILD)/Obj?:??

  166. ????????$(Q)mkdir?-p?$@??

  167. ????????$(Q)echo?"mkdir?$@"??

  168. ??

  169. %.bin?:?$(BUILD)/$(TARGET).elf??

  170. ????????$(Q)?$(BIN)?[????????DISCUZ_CODE_34????????]lt;?$@??

  171. ????????$(Q)du?-h?$(BUILD)/$(TARGET).bin??

  172. ??

  173. %.hex?:?$(BUILD)/$(TARGET).elf??

  174. ????????$(Q)?$(HEX)?[????????DISCUZ_CODE_34????????]lt;?$@??

  175. ??

  176. #用于檢查鏈接腳本和啟動文件是否存在,不存在則報錯誤??

  177. $(START_FILE_SOURCES):??

  178. ????????$(Q)echo?ERROR:?The?startup?file?does?not?exist?or?has?the?wrong?path?!;\??

  179. ????????exit?1??

  180. $(LDSCRIPT):??

  181. ????????$(Q)echo?ERROR:?The?link?file?does?not?exist?or?has?the?wrong?path?!;\??

  182. ????????exit?2??

  183. ??

  184. clean:??

  185. ????????$(RM)?-rf?$(BUILD)??

  186. ??

  187. printf:??

  188. ????????$(Q)echo?$(info?$(LDFLAGS))??

  189. ??

  190. ??

  191. JLinkGDBServer:??

  192. ????????$(Q)JLinkGDBServer?-select?USB?-device?$(CHIP)?\??

  193. ????????-endian?little?-if?SWD?-speed?4000?-noir?-LocalhostOnly??

  194. ??

  195. debug:??

  196. ????????$(Q)make??

  197. ????????$(Q)echo?target?remote?localhost\:2331?>?gdb.gdb??

  198. ????????$(Q)echo?monitor?reset?>>?gdb.gdb??

  199. ????????$(Q)echo?monitor?halt?>>?gdb.gdb??

  200. ????????$(Q)echo?load?>>?gdb.gdb??

  201. ????????$(Q)echo?b?main?>>?gdb.gdb??

  202. ????????$(Q)echo?-?>>?gdb.gdb??

  203. ????????$(Q)echo?c?>>?gdb.gdb??

  204. ????????$(Q)-$(GDB)?$(BUILD)/$(TARGET).elf?--command=gdb.gdb??

  205. ????????$(Q)$(RM)?gdb.gdb??

  206. ??

  207. download:??

  208. ????????$(Q)make??

  209. ????????$(Q)echo?"h"?>?jlink.jlink??

  210. ????????$(Q)echo?"loadfile"?$(BUILD)/$(TARGET).hex?>>?jlink.jlink??

  211. ????????$(Q)echo?"r"?>>?jlink.jlink??

  212. ????????$(Q)echo?"qc"?>>?jlink.jlink??

  213. ????????$(Q)$(JLINKEXE)?-device?$(CHIP)?-Speed?4000?-IF?SWD?-CommanderScript?jlink.jlink??

  214. ????????$(Q)$(RM)?jlink.jlink??

  215. ??

  216. reset:??

  217. ????????$(Q)echo?"r"?>>?jlink.jlink??

  218. ????????$(Q)echo?"qc"?>>?jlink.jlink??

  219. ????????$(Q)$(JLINKEXE)?-device?$(CHIP)?-Speed?4000?-IF?SWD?-CommanderScript?jlink.jlink??

  220. ????????$(Q)$(RM)?jlink.jlink??

  221. ??

  222. commit:??

  223. ????????$(Q)git?add?.??

  224. ????????$(Q)status='$(shell?git?status?|?grep?"git?pull")';\??

  225. ????????if?test?-n?"$status";then?echo?"Need?to?do?git?pull?!";exit?10;fi??

  226. ????????$(Q)explain='$(shell?read?-p?"Please?input?git?commit?explain:"?explain;echo?"$explain")';\??

  227. ????????if?test?-z?"$explain";then?git?commit?-m?"Daily?development?submission";?\??

  228. ????????else?git?commit?-m?"$explain";fi??

  229. ????????$(Q)git?push??

  230. ????????$(Q)git?status??

  231. ??

  232. -include?$(wildcard?$(BUILD)/Obj/*.d)?



本文系21ic論壇網(wǎng)友791314247[STM32] 教你在vscode下用stm32+makefile+gcc實現(xiàn)編譯仿真下載一條龍服務

免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

21ic電子網(wǎng)

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎(chǔ)設施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉