สารบัญ:
- ขั้นตอนที่ 1: อะไหล่:
- ขั้นตอนที่ 2: ซอฟต์แวร์ที่คุณต้องการ:
- ขั้นตอนที่ 3: STM32F103 Generic Prototype Board, Blue Pill
- ขั้นตอนที่ 4: อะแดปเตอร์ USB ST LINK V2
- ขั้นตอนที่ 5: เวลาเริ่มทำงานจริง: กำลังโหลด STM32Duino Boot Loader
- ขั้นตอนที่ 6: ถึงเวลาจัดการกับ Arduino IDE
- ขั้นตอนที่ 7: ถึงเวลาจัดการกับ Arduino IDE
- ขั้นตอนที่ 8: "แกรนด์ฟินาเล่"
วีดีโอ: STM32 "Blue Pill" การเขียนโปรแกรมผ่าน Arduino IDE & USB: 8 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
การเปรียบเทียบบอร์ดต้นแบบทั่วไปของ STM32F (เช่น Blue Pill) กับ Arduino ที่เป็นคู่กันนั้นง่ายต่อการดูว่ามีทรัพยากรมากน้อยเพียงใด ซึ่งเปิดโอกาสใหม่ๆ มากมายให้กับโครงการ IOT
ข้อเสียคือขาดการสนับสนุน จริงๆ แล้วไม่ได้ขาดการสนับสนุน แต่มันกระจายไปในฟอรัม บล็อก และหน้าอื่นๆ จำนวนมากเกินไป หลายคนล้าสมัย
ฉันจะอธิบายประสบการณ์ของฉันในการรับบอร์ดเหล่านั้น ไม่เพียงแต่กำหนดค่าโดย Arduino IDE เท่านั้น แต่ยังผ่านตัวเชื่อมต่อ USB ในตัวด้วย
ฉันยังจะแสดงวิธีการอัปโหลด Bootloader โดยใช้ ST-Link V2
ขั้นตอนที่ 1: อะไหล่:
คุณจะต้องมีบางส่วน:
- อย่างแรกที่คุณต้องมีก็คือบอร์ดต้นแบบ ST32F103 "ยาเม็ดสีน้ำเงิน" เป็นที่รู้กันทั่วและคุณสามารถซื้อได้ในราคาไม่แพงในร้านค้าอีคอมเมิร์ซหลายแห่ง
- โมดูล ST-Link V2
- เขียงหั่นขนมและสายกระโดด
ขั้นตอนที่ 2: ซอฟต์แวร์ที่คุณต้องการ:
- ก่อนอื่น Arduino IDE หากคุณยังไม่ได้ดาวน์โหลด นี่คือลิงค์: https://www.arduino.cc/en/Main/Software ฉันทดสอบคำแนะนำนี้ด้วยเวอร์ชัน 1.8.11, 1.8.12 และเวอร์ชันแอปซึ่งใช้งานได้กับ Windows 8 และ 10 เท่านั้น ฉันจะไม่ครอบคลุมถึงการติดตั้งซอฟต์แวร์นี้ เมื่อมีข้อมูลมากมายเกี่ยวกับวิธีการทำงาน
-
จากไซต์ STM คุณจะต้องใช้ซอฟต์แวร์ด้านล่าง จำเป็นต้องสร้างบัญชี:
- ไดรเวอร์ ST-Link V2 windows:
- ยูทิลิตี้ STM32-Link (https://my.st.com/content/my_st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link004.html).
- จากนั้นก็ถึงเวลาดาวน์โหลด Boot loader นี่คือสิ่งที่จะช่วยให้ Blue Pill เชื่อมต่อกับคอมพิวเตอร์ USB นี่คือลิงค์ไปยังสิ่งนี้:
สังเกตว่าคุณจะต้องเพิ่มบอร์ดใน Arduino IDE ด้วย ฉันจะอธิบายรายละเอียดเกี่ยวกับวิธีการทำเช่นนี้
ขั้นตอนที่ 3: STM32F103 Generic Prototype Board, Blue Pill
ตอนนี้คำอธิบายสั้น ๆ เกี่ยวกับบอร์ดต้นแบบ STM32F103 รู้โดย "Blue Pill"
นี่คือฮาร์ดแวร์โอเพ่นซอร์ส ดูเหมือน Arduino Nano (ขนาดใกล้เคียงกันเกือบ) คุณอาจพบว่ามีการผลิตที่แตกต่างกันมากมาย แต่เป็นไปตามแผนผังที่ใกล้เคียงมาก แม้กระทั่งปัญหา
คุณอาจถามว่า: ถ้าดูเหมือน Arduino Nano เหตุใดฉันจึงควรย้ายไปใช้ฮาร์ดแวร์อื่น
คำตอบนั้นง่าย อย่างที่ฉันบอกไปแล้ว ถ้าโปรเจ็กต์ของคุณต้องการ Faster Micro controller, ที่มี GPIO มากกว่า (รวมทั้งหมด 33 ตัว), อินพุต ADC ที่แม่นยำและ/หรือแม่นยำมากขึ้น (10 อินพุต x ความละเอียด 12 บิต), เอาต์พุตแอนะล็อก (15), อินเทอร์เฟซการสื่อสารที่มากขึ้น ฯลฯ; นี่คือไมโครคอนโทรลเลอร์ที่คุณอาจต้องการ
ด้านบนมีพินเอาต์และแผนผังไดอะแกรม
ตอนนี้คำแนะนำบางอย่าง:
- นี่คือ 3V3 ไมโครคอนโทรลเลอร์ แม้ว่าพินบางอันจะยืดหยุ่นได้ 5V แต่ฉันขอแนะนำให้รักษาระดับอุปกรณ์เสริมไว้ในระดับสูงใน 3V3 มิฉะนั้นคุณสามารถทอด Blue Pill ให้คุณได้
- PA11 และ PA12 ของ Pin ไม่พร้อมใช้งาน เมื่อมีหน้าที่รับผิดชอบในการสื่อสารผ่าน USB
- เมื่อพูดถึง USB คุณจะพบเว็บไซต์และบล็อกมากมายที่แจ้งว่า Blue Pill มีค่าความต้านทานการดึงที่ผิดในพอร์ตของมัน ตามจริงแล้ว โดยทั่วไปแล้วจะมีขนาด 10KΩ แทนที่จะเป็น 4, 7KΩ ซึ่งอาจทำให้เกิดปัญหาในการเชื่อมต่อ USB บอกตามตรง ฉันมีบอร์ด 3 ตัว และฉันไม่เคยมีปัญหาในการเชื่อมต่อใดๆ ในแล็ปท็อปเลย ดังนั้น ฉันอยากจะแนะนำว่าถ้าหากคุณพบปัญหาในการเชื่อมต่อ USB กับคอมพิวเตอร์ของคุณจริงๆ ฉันพบว่ามีการวาดวงจรเมื่อค่าตัวต้านทานนี้เท่ากับ10KΩ ไปดูกันเลย….วิธีแก้ปัญหาคือการบัดกรีตัวต้านทาน 1.5KΩ หรือ 1.8KΩ ระหว่างพิน PA12 และ 5V vcc
- การดูไดอะแกรมอย่างใกล้ชิดยังเป็นไปได้ที่จะเห็นว่าไม่มีการป้องกันระหว่างสายจ่ายไฟ 5V และ USB 5V ระวังหรือเพียงแค่หลีกเลี่ยงการใช้แหล่งจ่ายไฟหลายแหล่ง คุณอาจทอดพอร์ต USB ของคอมพิวเตอร์ของคุณ หากคุณใช้แหล่งจ่ายไฟภายนอก 5V หมายความว่าในขณะที่บอร์ดเชื่อมต่อกับ USB
ขั้นตอนที่ 4: อะแดปเตอร์ USB ST LINK V2
ST LINK V2 เป็นอะแดปเตอร์ USB เป็น SWD ออกแบบมาสำหรับงานดีบักและการเขียนโปรแกรม
หากคุณต้องการทำงานกับชิป STM32 อย่างจริงจัง คุณจะต้องใช้เครื่องมือนี้ ช่วยให้คุณสามารถสื่อสารกับชิปได้โดยตรงผ่านขั้วต่อหัว SWB
มีบล็อกและไซต์มากมายพร้อมคำแนะนำในการโหลดโดยใช้อะแดปเตอร์ USB เป็น TTL แต่ฉันไม่พบเครื่องมือนี้เพื่อโหลดตัวโหลดการบูต
นอกจากนี้ยังอนุญาตให้โปรแกรม Blue Pill ด้วยบูตโหลดเดอร์ดั้งเดิมโดยใช้ซอฟต์แวร์ STM32Cube Programmer (บางทีฉันอาจจะสร้างคำแนะนำสำหรับสิ่งนี้ในอนาคต)
ในการติดตั้งไดรฟ์ Windows ให้ทำตามขั้นตอนนี้:
- แตกไฟล์ที่ดาวน์โหลดมา
- เรียกใช้ "stlink_winusb_install.bat ในฐานะผู้ดูแลระบบ
- กดปุ่มหลังจากเสร็จสิ้น
- เชื่อมต่อ ST-Link V2 กับคอมพิวเตอร์ USB ที่มีอยู่
ข้อควรจำ: การดำเนินการนี้จะติดตั้งอุปกรณ์ USB ไม่ใช่พอร์ตสื่อสาร
ขั้นตอนที่ 5: เวลาเริ่มทำงานจริง: กำลังโหลด STM32Duino Boot Loader
สิ่งแรก: เชื่อมต่อ ST-Link กับ Blue Pill สิ่งนี้ง่ายมาก เมื่อ ST pin out ถูกติดฉลากไว้บนเคส
ST-Link Blue Pill SWD Connector
pin2- SWDIO pin2- SWIO (หรือ IO ในบางบอร์ด)
pin3- GND pin4- GND
pin6- SWCLKpin3- SWCLK (หรือเพียงแค่ CLK)
ขา7- 3.3V ขา1- 3V3
หมุด ST-Link V2 มีฉลากชัดเจนเหนือตัว
เรียกใช้ซอฟต์แวร์ "STM32 ST-Link Utility" (คุณอาจติดตั้งไว้แล้วในคอมพิวเตอร์ของคุณ)
ทันทีที่ซอฟต์แวร์โหลด มันจะดึงข้อมูลทั้งหมดในหน่วยความจำ Boot0 หากไม่มี ให้คลิกที่ "เชื่อมต่อกับอุปกรณ์" ที่ปลั๊กไฟที่มีไอคอนรูปสลัก นอกจากนี้ยังจะดึงข้อมูลชิป STM32 จำนวนมากอีกด้วย
โหลดไฟล์ไบนารีนั้นง่ายมาก:
- ย้ายจัมเปอร์ "Boot0" ไปที่ตำแหน่ง "1"
- คลิกที่ "ไบนารี"
- เลือกไฟล์ Bootloader (.bin)
- ที่เมนู คลิกใน "เป้าหมาย" และ "โปรแกรม"
สิ่งนี้จะอนุญาตให้โหลด Boot0 ด้วย Bootloader ใหม่
- กลับจัมเปอร์ "Boot0" ไปที่ตำแหน่ง "0"
- กดปุ่มรีเซ็ต
ข้อควรระวัง: คุณไม่จำเป็นต้องย้ายจัมเปอร์ Boot0 ไปที่ตำแหน่ง "1" อีกต่อไปเพื่อโหลดโปรแกรมที่สร้างใน Arduino IDE
ขั้นตอนที่ 6: ถึงเวลาจัดการกับ Arduino IDE
คุณอาจสังเกตเห็นหลังจากโหลด "generic_boot20_pc13.bin" พอร์ต Blue Pill USB ของคุณจะถูกโปรแกรมจัดการอุปกรณ์ของคอมพิวเตอร์รู้จักเป็น "Maple Serial (COMx)"
เพื่อเตรียม Arduino IDE ให้คุณจัดการกับ STM32 ให้ทำตามขั้นตอนด้านล่าง:
ขั้นตอนที่ 7: ถึงเวลาจัดการกับ Arduino IDE
ตอนนี้ คุณอาจสังเกตเห็นว่าการเชื่อมต่อพอร์ต USB เข้ากับคอมพิวเตอร์ของคุณ จะถูกรู้จักเป็น "Maple Serial(COMx)"
ตอนนี้ มาเตรียม Arduino IDE สำหรับการเขียนโปรแกรม STM32 กัน เปิด Arduino IDE หากยังไม่ได้เปิด:
- ไปที่เมนูไฟล์และเลือก "การตั้งค่า" ซึ่งจะเปิดหน้าต่างการตั้งค่า
- คลิกที่ไอคอนสี่เหลี่ยมจัตุรัสคู่ใกล้กับกล่องข้อความ "Additional Boards Manager Url"
- ภายใน Text Box ให้คัดลอกและวางลิงก์ด้านล่าง อย่างละหนึ่งบรรทัด:https://dan.drown.org/stm32duino/package_STM32duino_index.jsonhttps://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.jsonYou will ต้องการบอร์ดทั้งสองชุดในลิงก์เหล่านั้น
- ไปที่เมนู "เครื่องมือ" แล้วเลือก "ผู้จัดการบอร์ด" ซึ่งจะเปิดหน้าต่าง "Board Manager"
- ตรวจสอบให้แน่ใจว่าได้เลือก "ทั้งหมด" ใน "ประเภท" และในกล่องข้อความประเภท "STM32F1"
- ติดตั้งทั้งสองตัวเลือกปรากฏขึ้น
ขั้นตอนที่ 8: "แกรนด์ฟินาเล่"
ตอนนี้คุณสามารถพิมพ์รหัสของคุณและคอมไพล์ได้
เชื่อมต่อ "Blue Pill" ของคุณและตั้งค่าคอนฟิกตามภาพ อย่าลืมเลือกพอร์ตที่ถูกต้อง
เท่านี้ก็พร้อมอัพโหลดโค้ดขึ้น "Blue Pill" แล้ว
ฉันหวังว่ามันจะช่วยคุณ!
แนะนำ:
ดังนั้น คุณโหลด STM32duino Bootloader ใน "Blue Pill" ของคุณแล้วตอนนี้ล่ะ: 7 ขั้นตอน
ดังนั้นคุณโหลด STM32duino Bootloader ใน "Blue Pill" ของคุณ…แล้วตอนนี้ล่ะ?: หากคุณอ่านคำแนะนำของฉันแล้วอธิบายว่าโหลด STM32duino bootloader หรือเอกสารอื่นใดที่คล้ายคลึงกันคุณลองโหลดตัวอย่างโค้ดและ…. อาจไม่มีอะไร เกิดขึ้นเลย ปัญหาคือ หลายๆ ตัวอย่างสำหรับ "ทั่วไป" STM32 จะ
การตั้งค่า Blue Pill Board ใน STM32CubeIDE: 8 ขั้นตอน
การตั้งค่า Blue Pill Board ใน STM32CubeIDE: Blue Pill เป็นบอร์ดพัฒนา ARM กระดูกเปล่าราคาถูกมาก มี STM32F103C8 เป็นโปรเซสเซอร์ซึ่งมีแฟลช 64 kbytes และหน่วยความจำ RAM 20 kbytes ทำงานได้ถึง 72 MHz และเป็นวิธีที่ถูกที่สุดในการเข้าสู่การพัฒนาซอฟต์แวร์ ARM แบบฝังตัว
บอร์ด STM32 พร้อม Arduino IDE STM32F103C8T6: 5 ขั้นตอน
บอร์ด STM32 พร้อม Arduino IDE STM32F103C8T6: สวัสดีทุกคน เนื่องจากผู้คนจำนวนมากใช้บอร์ด Arduino แต่อย่างที่เราทราบดีว่าพวกเขามีข้อ จำกัด บางประการ ดังนั้นบอร์ดอื่น ๆ เพียงไม่กี่ตัวจึงเข้ามาเป็นทางเลือกของ Arduino ซึ่งสามารถให้ประสิทธิภาพที่ดีขึ้นและคุณสมบัติที่ดีกว่า Arduino และหนึ่งในนั้น พวกเขาคือ STM3
Arduino Alternative - การเขียนโปรแกรม STM32 Blue Pill ผ่าน USB: 5 ขั้นตอน
Arduino Alternative - STM32 Blue Pill Programming ผ่าน USB: คุณและฉันต่างก็รักบอร์ด Arduino ตั้งแต่ Attiny85 ที่เล็กที่สุดไปจนถึง MEGA2560 ที่ใหญ่ที่สุด อย่างไรก็ตาม หากคุณต้องการความเร็วที่มากขึ้น อินพุตแบบอะนาล็อกที่มากขึ้น ความแม่นยำที่มากขึ้น แต่ยังไม่ต้องการเปลี่ยนจากการเขียนโปรแกรม Arduino มีวิธีแก้ปัญหาที่หรูหรา….The b
HC - 06 (Slave Module) การเปลี่ยน " NAME " โดยไม่ต้องใช้ " Monitor Serial Arduino " ที่ " ใช้งานได้ง่าย ": Faultless Way !: 3 ขั้นตอน
HC - 06 (Slave Module) การเปลี่ยน " NAME " โดยไม่ต้องใช้ " Monitor Serial Arduino "… ที่ " ใช้งานได้ง่าย ": Faultless Way !: After " นาน " ลองเปลี่ยนชื่อเป็น HC - 06 (โมดูลทาส) โดยใช้ " จอภาพอนุกรมของ Arduino โดยไม่มี " สำเร็จ " ฉันพบวิธีง่ายๆ อีกวิธีหนึ่งแล้ว ฉันกำลังแบ่งปันตอนนี้ ! ขอให้สนุกนะเพื่อน