ไมโครคอนโทรลเลอร์ STM32WL3x

คำแนะนำการใช้ผลิตภัณฑ์
- แพ็คเกจ STM32CubeWL3 มี API เลเยอร์ต่ำ (LL) และเลเยอร์การแยกนามธรรมฮาร์ดแวร์ (HAL) ที่ครอบคลุมฮาร์ดแวร์ไมโครคอนโทรลเลอร์
- นอกจากนี้ยังมีส่วนประกอบมิดเดิลแวร์เช่น SigfoxTM, FatFS และเคอร์เนล FreeRTOS
- แพคเกจมาพร้อมกับampและแอพพลิเคชั่นเพื่อการนำไปใช้งานที่ง่ายดาย
- สถาปัตยกรรม STM32CubeWL3 ถูกสร้างขึ้นในสามระดับ: แอปพลิเคชัน HAL และ LL
- API ของ HAL และ LL ครอบคลุมข้อกำหนดการใช้งานที่หลากหลาย
- HAL นำเสนอการใช้งานอุปกรณ์ต่อพ่วงพื้นฐาน เช่นamples และ LL ให้รูทีนระดับต่ำ
- ระดับนี้รวมถึงแพ็คเกจการสนับสนุนบอร์ด (BSP) และชั้นย่อย HAL
- BSP เสนอ API สำหรับส่วนประกอบฮาร์ดแวร์บนบอร์ด ในขณะที่ HAL มอบการใช้งานอุปกรณ์ต่อพ่วงพื้นฐาน เช่นampเลส.
- ไดรเวอร์ BSP เชื่อมโยงไดรเวอร์ส่วนประกอบกับบอร์ดเฉพาะ ทำให้พอร์ตไปยังฮาร์ดแวร์อื่นได้ง่าย
- STM32CubeWL3 HAL และ LL เป็นส่วนเสริมซึ่งกันและกัน ครอบคลุมข้อกำหนดการใช้งานที่หลากหลาย
- ผู้ใช้สามารถใช้ประโยชน์จาก API เหล่านี้เพื่อโต้ตอบกับฮาร์ดแวร์ไมโครคอนโทรลเลอร์ได้อย่างมีประสิทธิภาพ
การแนะนำ
STM32Cube เป็นความคิดริเริ่มดั้งเดิมของ STMicroelectronics เพื่อปรับปรุงประสิทธิภาพการทำงานของนักออกแบบอย่างมีนัยสำคัญโดยการลดความพยายาม เวลา และต้นทุนในการพัฒนา STM32Cube ครอบคลุมพอร์ตโฟลิโอ STM32 ทั้งหมด STM32Cube ประกอบด้วย:
STM32Cube ประกอบด้วย:
- ชุดเครื่องมือพัฒนาซอฟต์แวร์ที่เป็นมิตรกับผู้ใช้เพื่อครอบคลุมการพัฒนาโครงการตั้งแต่แนวคิดจนถึงการทำให้เป็นจริง ซึ่งได้แก่:
- STM32CubeMX ซึ่งเป็นเครื่องมือกำหนดค่าซอฟต์แวร์กราฟิกที่อนุญาตให้สร้างรหัสการเริ่มต้น C โดยอัตโนมัติโดยใช้วิซาร์ดกราฟิก
- STM32CubeIDE เครื่องมือพัฒนาแบบ all-in-one ที่มีการกำหนดค่าอุปกรณ์ต่อพ่วง การสร้างโค้ด การคอมไพล์โค้ด และการดีบัก
- STM32CubeCLT ชุดเครื่องมือพัฒนาบรรทัดคำสั่งแบบครบวงจรพร้อมการคอมไพล์โค้ด การตั้งโปรแกรมบอร์ด และคุณลักษณะการแก้ไขข้อบกพร่อง
- STM32CubeProgrammer (STM32CubeProg) เครื่องมือการเขียนโปรแกรมที่มีอยู่ในเวอร์ชันกราฟิกและบรรทัดคำสั่ง
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD) เครื่องมือตรวจสอบอันทรงพลังเพื่อปรับแต่งพฤติกรรมและประสิทธิภาพของแอปพลิเคชัน STM32 แบบเรียลไทม์
- แพ็คเกจ MCU และ MPU STM32Cube แพลตฟอร์มซอฟต์แวร์ฝังตัวที่ครอบคลุมเฉพาะสำหรับไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์แต่ละซีรีส์ (เช่น STM32CubeWL3 สำหรับกลุ่มผลิตภัณฑ์ STM32WL3x) ซึ่งรวมถึง:
- STM32Cube hardware abstraction layer (HAL) ทำให้มั่นใจได้ถึงความสามารถในการพกพาสูงสุดในกลุ่มผลิตภัณฑ์ STM32
- STM32Cube low-layer APIs ทำให้มั่นใจได้ถึงประสิทธิภาพและรอยเท้าที่ดีที่สุดด้วยการควบคุมฮาร์ดแวร์ของผู้ใช้ในระดับสูง
- ชุดส่วนประกอบมิดเดิลแวร์ที่สอดคล้องกัน เช่น เคอร์เนล FreeRTOS™, FatFS และ Sigfox™
- ยูทิลิตี้ซอฟต์แวร์แบบฝังทั้งหมดพร้อมชุดอุปกรณ์ต่อพ่วงและแอพพลิเคชั่นครบชุด เช่นampเลส
- แพ็คเกจเสริม STM32Cube ซึ่งมีส่วนประกอบซอฟต์แวร์ฝังตัวที่ช่วยเสริมการทำงานของแพ็คเกจ STM32Cube MCU และ MPU ด้วย:
- ส่วนขยายมิดเดิลแวร์และเลเยอร์แอปพลิเคชัน
- Exampทำงานบนบอร์ดพัฒนา STMicroelectronics เฉพาะบางรุ่น
- คู่มือผู้ใช้ฉบับนี้จะอธิบายวิธีเริ่มต้นใช้งานแพ็คเกจ STM32CubeWL3 MCU
ส่วนที่ 2 อธิบายคุณสมบัติหลักของ STM32CubeWL3 และส่วนที่ 3 ให้รายละเอียดเพิ่มเติมview ของสถาปัตยกรรมและโครงสร้างแพ็คเกจ MCU
ข้อมูลทั่วไป
- STM32CubeWL3 รันแอปพลิเคชันสาธิตความถี่ต่ำกว่า GHz รวมถึงไฟล์ไบนารี Sigfox™ บนไมโครคอนโทรลเลอร์สายผลิตภัณฑ์ STM32WL3x ที่ใช้โปรเซสเซอร์ Arm® Cortex®‑M0+
- ไมโครคอนโทรลเลอร์ STM32WL3x ฝังอุปกรณ์ต่อพ่วงวิทยุ RF ที่รองรับความถี่ต่ำกว่า GHz อันทันสมัยของ STMicroelectronics ซึ่งปรับให้เหมาะสมสำหรับการใช้พลังงานต่ำเป็นพิเศษและประสิทธิภาพวิทยุที่ยอดเยี่ยม เพื่ออายุการใช้งานแบตเตอรี่ที่ไม่มีใครเทียบได้
บันทึก: Arm เป็นเครื่องหมายการค้าจดทะเบียนของ Arm Limited (หรือบริษัทในเครือ) ในสหรัฐอเมริกาและ/หรือที่อื่นๆ

คุณสมบัติหลักของ STM32CubeWL3
- แพ็คเกจ MCU STM32CubeWL3 ทำงานบนไมโครคอนโทรลเลอร์ STM32 32 บิตที่ใช้โปรเซสเซอร์ Arm® Cortex®‑M0+ โดยจะรวบรวมส่วนประกอบซอฟต์แวร์ฝังตัวทั่วไปทั้งหมดที่จำเป็นในการพัฒนาแอปพลิเคชันสำหรับ สายผลิตภัณฑ์ STM32WL3x ไมโครคอนโทรลเลอร์
- แพ็คเกจนี้ประกอบด้วย API แบบเลเยอร์ต่ำ (LL) และเลเยอร์การแยกฮาร์ดแวร์ (HAL) ที่ครอบคลุมฮาร์ดแวร์ไมโครคอนโทรลเลอร์ พร้อมด้วยชุด ex ที่ครอบคลุมampไลบรารีเหล่านี้ทำงานบนบอร์ด STMicroelectronics API ของ HAL และ LL นั้นมีให้ใช้งานในรูปแบบใบอนุญาต BSD โอเพ่นซอร์สเพื่อความสะดวกของผู้ใช้ นอกจากนี้ยังรวมถึงส่วนประกอบมิดเดิลแวร์เคอร์เนล Sigfox™, FatFS และ FreeRTOS™ อีกด้วย
- แพ็คเกจ MCU STM32CubeWL3 ยังนำเสนอแอปพลิเคชันและการสาธิตต่าง ๆ ในการใช้งานส่วนประกอบมิดเดิลแวร์ทั้งหมดอีกด้วย
- เค้าโครงส่วนประกอบแพ็คเกจ MCU STM32CubeWL3 แสดงอยู่ในรูปที่ 1

สถาปัตยกรรม STM32CubeWL3 บนview
- โซลูชันแพ็คเกจ MCU STM32CubeWL3 ถูกสร้างขึ้นโดยใช้ระดับอิสระสามระดับที่สามารถโต้ตอบกันได้อย่างง่ายดาย ดังที่อธิบายไว้ในรูปที่ 2

ระดับ 0
ระดับนี้แบ่งออกเป็นสามชั้นย่อย:
- แพ็คเกจสนับสนุนบอร์ด (BSP)
- เลเยอร์นามธรรมของฮาร์ดแวร์ (HAL):
- ไดรเวอร์อุปกรณ์ต่อพ่วง HAL
- ไดรเวอร์เลเยอร์ต่ำ
- การใช้งานอุปกรณ์ต่อพ่วงพื้นฐาน เช่นampเลส.
แพ็คเกจสนับสนุนบอร์ด (BSP)
เลเยอร์นี้นำเสนอชุด API ที่เกี่ยวข้องกับส่วนประกอบฮาร์ดแวร์ในบอร์ดฮาร์ดแวร์ (เช่น LED ปุ่ม และไดรเวอร์ COM) ประกอบด้วยสองส่วน:
ส่วนประกอบ:
- นี่คือไดรเวอร์ที่สัมพันธ์กับอุปกรณ์ภายนอกบนบอร์ด ไม่ใช่กับ STM32 ไดรเวอร์ส่วนประกอบจัดเตรียม API เฉพาะให้กับส่วนประกอบภายนอกของไดรเวอร์ BSP และสามารถพกพาไปยังบอร์ดอื่นได้
- ไดรเวอร์ BSP:
- ช่วยให้สามารถเชื่อมโยงไดรเวอร์ส่วนประกอบเข้ากับบอร์ดเฉพาะและจัดเตรียมชุด API ที่ใช้งานง่าย กฎการตั้งชื่อ API คือ BSP_FUNCT_Action()
- Exampเลอ: BSP_LED_Init(), BSP_LED_On()
BSP มีพื้นฐานมาจากสถาปัตยกรรมแบบโมดูลาร์ทำให้สามารถพอร์ตบนฮาร์ดแวร์ต่างๆ ได้อย่างง่ายดายโดยเพียงแค่ปรับใช้รูทีนระดับต่ำ
ฮาร์ดแวร์นามธรรมเลเยอร์ (HAL) และเลเยอร์ต่ำ (LL)
STM32CubeWL3 HAL และ LL เป็นส่วนเสริมและครอบคลุมข้อกำหนดการใช้งานที่หลากหลาย:
- ไดรเวอร์ HAL นำเสนอ API แบบพกพาระดับสูงที่มุ่งเน้นฟังก์ชันระดับสูง โดยจะซ่อน MCU และความซับซ้อนของอุปกรณ์ต่อพ่วงให้กับผู้ใช้ปลายทาง
ไดรเวอร์ HAL นำเสนอ API ที่เน้นคุณลักษณะแบบมัลติอินสแตนซ์ทั่วไป ซึ่งช่วยลดความซับซ้อนของการนำแอปพลิเคชันของผู้ใช้ไปใช้โดยจัดเตรียมกระบวนการที่พร้อมใช้งาน ตัวอย่างเช่นampสำหรับอุปกรณ์ต่อพ่วงการสื่อสาร (I2C, UART และอื่นๆ) นั้นมี API ที่ช่วยให้สามารถเริ่มต้นและกำหนดค่าอุปกรณ์ต่อพ่วง จัดการการถ่ายโอนข้อมูลตามการโพล การขัดจังหวะ หรือกระบวนการ DMA และจัดการข้อผิดพลาดในการสื่อสารที่อาจเกิดขึ้นระหว่างการสื่อสาร API ของไดรเวอร์ HAL แบ่งออกเป็น XNUMX หมวดหมู่:- API ทั่วไปซึ่งมีฟังก์ชันทั่วไปและฟังก์ชันทั่วไปให้กับไมโครคอนโทรลเลอร์ซีรีส์ STM32 ทั้งหมด
- API ส่วนขยายซึ่งมีฟังก์ชันเฉพาะและปรับแต่งได้สำหรับตระกูลเฉพาะหรือหมายเลขชิ้นส่วนเฉพาะ
- API ชั้นล่างมี API ระดับต่ำที่ระดับรีจิสเตอร์ พร้อมการปรับให้เหมาะสมที่ดีกว่าแต่มีความสะดวกในการพกพาน้อยกว่า
พวกเขาต้องมีความรู้เชิงลึกเกี่ยวกับ MCU และข้อมูลจำเพาะต่อพ่วง
ไดรเวอร์ LL ได้รับการออกแบบมาให้มีเลเยอร์ที่เน้นผู้เชี่ยวชาญและน้ำหนักเบาซึ่งมีความรวดเร็วและใกล้เคียงกับฮาร์ดแวร์มากกว่า HAL ตรงกันข้ามกับ HAL LL API ไม่ได้มีไว้สำหรับอุปกรณ์ต่อพ่วงที่การเข้าถึงที่เหมาะสมไม่ใช่คุณสมบัติหลัก หรือสำหรับอุปกรณ์ที่ต้องใช้การกำหนดค่าซอฟต์แวร์หนักหรือสแต็กระดับบนที่ซับซ้อน
คุณสมบัติของไดรเวอร์ LL: - ชุดฟังก์ชันเพื่อเริ่มต้นคุณสมบัติหลักต่อพ่วงตามพารามิเตอร์ที่ระบุในโครงสร้างข้อมูล
- ชุดของฟังก์ชันเพื่อเติมโครงสร้างข้อมูลการเริ่มต้นด้วยค่ารีเซ็ตที่สอดคล้องกับแต่ละฟิลด์
- ฟังก์ชันสำหรับการยกเลิกการค่าเริ่มต้นของอุปกรณ์ต่อพ่วง (รีจิสเตอร์อุปกรณ์ต่อพ่วงได้รับการคืนค่าเป็นค่าเริ่มต้น)
- ชุดฟังก์ชันอินไลน์สำหรับการเข้าถึงรีจิสเตอร์โดยตรงและอะตอมมิก
- ความเป็นอิสระอย่างเต็มที่จาก HAL และความสามารถในการใช้ในโหมดสแตนด์อโลน (โดยไม่ต้องใช้ไดรเวอร์ HAL)
- ความครอบคลุมเต็มรูปแบบของคุณสมบัติอุปกรณ์ต่อพ่วงที่รองรับ
การใช้งานอุปกรณ์ต่อพ่วงพื้นฐาน เช่นampเลส
เลเยอร์นี้ล้อมรอบอดีตampสร้างขึ้นเหนืออุปกรณ์ต่อพ่วง STM32 โดยใช้ทรัพยากร HAL และ BSP เท่านั้น
บันทึก: การสาธิตตัวอย่างampนอกจากนี้ยังมีเลสให้แสดงตัวอย่างที่ซับซ้อนมากขึ้นampสถานการณ์จำลองที่มีอุปกรณ์ต่อพ่วงเฉพาะ เช่น MRSUBG และ LPAWUR
ระดับ 1
ระดับนี้แบ่งออกเป็นสองชั้นย่อย:
- ส่วนประกอบมิดเดิลแวร์
- Exampขึ้นอยู่กับส่วนประกอบมิดเดิลแวร์
ส่วนประกอบมิดเดิลแวร์
มิดเดิลแวร์คือชุดไลบรารีที่ครอบคลุมเคอร์เนล FreeRTOS™, FatFS และไลบรารีโปรโตคอล Sigfox™
การโต้ตอบในแนวนอนระหว่างส่วนประกอบของเลเยอร์นี้ทำได้โดยการเรียก API ที่โดดเด่น
การโต้ตอบในแนวตั้งกับไดรเวอร์เลเยอร์ต่ำทำได้ผ่านการเรียกกลับเฉพาะและมาโครแบบคงที่ที่ใช้งานในอินเทอร์เฟซการเรียกระบบไลบรารี
คุณสมบัติหลักของแต่ละส่วนประกอบมิดเดิลแวร์มีดังนี้:
- เคอร์เนล FreeRTOS™: ใช้ระบบปฏิบัติการแบบเรียลไทม์ (RTOS) ที่ออกแบบมาสำหรับระบบฝังตัว
- Sigfox™: ใช้ไลบรารีโปรโตคอล Sigfox™ ที่สอดคล้องกับเครือข่ายโปรโตคอล Sigfox™ และรวมไลบรารีโปรโตคอลการทดสอบ RF เพื่อทดสอบกับเครื่องมือ RF Sigfox™
- FatFS: ใช้ FAT ทั่วไป file โมดูลระบบ
Exampขึ้นอยู่กับส่วนประกอบมิดเดิลแวร์
- ส่วนประกอบมิดเดิลแวร์แต่ละองค์ประกอบมาพร้อมกับตัวอย่างอย่างน้อยหนึ่งรายการamples หรือที่เรียกอีกอย่างว่าแอปพลิเคชัน แสดงวิธีการใช้งาน
- บูรณาการ เช่นampไฟล์ที่ใช้ส่วนประกอบมิดเดิลแวร์หลายตัวก็มีให้เช่นกัน
แพ็คเกจเฟิร์มแวร์ STM32CubeWL3 เสร็จสิ้นview
อุปกรณ์และฮาร์ดแวร์ STM32WL3x ที่รองรับ
- STM32คิวบ์ นำเสนอเลเยอร์การแยกย่อยฮาร์ดแวร์แบบพกพาสูง (HAL) ที่สร้างขึ้นจากสถาปัตยกรรมทั่วไป ช่วยให้สามารถใช้งานเลเยอร์ที่สร้างขึ้นบนพื้นฐานได้ เช่น การใช้เลเยอร์มิดเดิลแวร์เพื่อนำฟังก์ชันต่างๆ ไปใช้โดยที่ไม่ทราบในเชิงลึกว่าใช้ MCU ตัวใด วิธีนี้ช่วยปรับปรุงการนำโค้ดไลบรารีกลับมาใช้ใหม่และทำให้สามารถพกพาไปยังอุปกรณ์อื่นได้ง่าย
- นอกจากนี้ด้วยสถาปัตยกรรมแบบหลายชั้น STM32CubeWL3 ให้การสนับสนุนเต็มรูปแบบสำหรับผลิตภัณฑ์ STM32WL3x ทั้งหมด
- ผู้ใช้จะต้องกำหนดแมโครที่ถูกต้องใน stm32wl3x.h เท่านั้น
- ตารางที่ 1 แสดงแมโครที่ต้องกำหนดขึ้นอยู่กับอุปกรณ์ในกลุ่มผลิตภัณฑ์ STM32WL3x ที่ใช้ จะต้องกำหนดแมโครนี้ในพรีโปรเซสเซอร์ของคอมไพเลอร์ด้วย
ตารางที่ 1. มาโครสำหรับผลิตภัณฑ์ STM32WL3x
| มาโครที่กำหนดไว้ใน STM32WL3X.h | อุปกรณ์สายผลิตภัณฑ์ STM32WL3x |
| สตัม32วล์3x | ไมโครคอนโทรลเลอร์ STM32WL30xx ไมโครคอนโทรลเลอร์ STM32WL31xx ไมโครคอนโทรลเลอร์ STM32WL33xx |
ตารางที่ 2 บอร์ดสำหรับสายผลิตภัณฑ์ STM32WL3x
| กระดาน | อุปกรณ์ที่รองรับบอร์ด STM32WL3x |
| นิวคลีโอ-WL33CC1 | STM32WL33CC |
| นิวคลีโอ-WL33CC2 | STM32WL33CC |
แพ็คเกจ MCU STM32CubeWL3 สามารถทำงานบนฮาร์ดแวร์ที่เข้ากันได้ ผู้ใช้จะอัปเดตไดรเวอร์ BSP เพื่อพอร์ต ex ที่ให้มาampบนบอร์ดของพวกเขา หากมีคุณลักษณะฮาร์ดแวร์เหมือนกัน (เช่น LED หรือปุ่ม)
แพ็คเกจเฟิร์มแวร์สิ้นสุดลงview
- โซลูชันแพ็คเกจ MCU STM32CubeWL3 มีให้ในรูปแบบแพ็คเกจ zip เดียว โดยมีโครงสร้างดังที่แสดงในรูปที่ 3

คำเตือน: ผู้ใช้จะต้องไม่ปรับเปลี่ยนส่วนประกอบ files. ผู้ใช้สามารถแก้ไขแหล่งที่มาของ \Projects ได้เท่านั้น สำหรับแต่ละบอร์ด ชุดของ examples ได้รับการกำหนดค่าโครงการไว้ล่วงหน้าสำหรับชุดเครื่องมือ EWARM, MDK-ARM และ STM32CubeIDE
รูปที่ 4 แสดงโครงสร้างโครงการสำหรับบอร์ด NUCLEO-WL33CCx

อดีตamples จะถูกจัดประเภทตามระดับ STM32CubeWL3 ที่นำไปใช้ โดยมีชื่อดังต่อไปนี้:
- ระดับ 0 เช่นampมันถูกเรียกว่า Exampเล เช่นamples_LL และอดีตamples_MIX พวกเขาใช้ไดรเวอร์ HAL, ไดรเวอร์ LL และไดรเวอร์ HAL และ LL ผสมกันโดยไม่มีส่วนประกอบมิดเดิลแวร์ใดๆ ตัวอย่างการสาธิตampLes ยังมีจำหน่ายเช่นกัน
- ระดับ 1 เช่นampเรียกอีกอย่างว่าแอปพลิเคชัน ซึ่งให้กรณีการใช้งานทั่วไปของส่วนประกอบมิดเดิลแวร์แต่ละส่วน
สามารถสร้างแอปพลิเคชันเฟิร์มแวร์ใดๆ สำหรับบอร์ดที่กำหนดได้อย่างรวดเร็วโดยใช้โครงการเทมเพลตที่มีอยู่ในไดเร็กทอรี Templates และ Templates_LL
Exampเล เช่นamples_LL และอดีตamples_MIX มีโครงสร้างเดียวกัน:
- \Inc โฟลเดอร์ที่มีส่วนหัวทั้งหมด files.
- โฟลเดอร์ \Src ที่มีโค้ดต้นฉบับ
- โฟลเดอร์ \EWARM, \MDK-ARM และ \STM32CubeIDE มีโปรเจ็กต์ที่กำหนดค่าไว้ล่วงหน้าสำหรับแต่ละ toolchain
- readme.md และ readme.html อธิบายอดีตampพฤติกรรมและสภาพแวดล้อมที่จำเป็นเพื่อให้ทำงานได้
เริ่มต้นใช้งาน STM32CubeWL3
กำลังดำเนินการกับแฟนเก่าคนแรกample
หัวข้อนี้จะอธิบายวิธีง่ายๆ ในการดำเนินการ ex ครั้งแรกample ภายใน STM32CubeWL3 โดยใช้ตัวอย่างการสร้างสวิตช์ LED ง่ายๆ ที่ทำงานบนบอร์ด NUCLEO-WL33CC1:
- ดาวน์โหลดแพ็คเกจ MCU STM32CubeWL3
- แตกไฟล์หรือรันโปรแกรมติดตั้งหากมีให้ลงในไดเร็กทอรีที่คุณเลือก
- อย่าแก้ไขโครงสร้างแพ็คเกจที่แสดงในรูปที่ 3 โครงสร้างแพ็คเกจเฟิร์มแวร์ STM32CubeWL3 โปรดทราบว่าขอแนะนำให้คัดลอกแพ็คเกจในตำแหน่งที่ใกล้กับโวลุ่มรูท (หมายถึง C:\ST หรือ G:\Tests) เนื่องจาก IDE บางตัวพบปัญหาเมื่อเส้นทางยาวเกินไป
วิธีการเรียกใช้ HAL example
ก่อนโหลดและรัน exampเล ขอแนะนำให้คุณอ่านตัวอย่างampเลอ อ่านฉันหน่อย file สำหรับการกำหนดค่าที่เฉพาะเจาะจงใด ๆ
- เรียกดู \โครงการ\NUCLEO-WL33CC\Exampเลส.
- เปิดโฟลเดอร์ \GPIO จากนั้น \GPIO_EXTI
- เปิดโครงการด้วยเครื่องมือที่ต้องการ ดำเนินการอย่างรวดเร็วview เกี่ยวกับวิธีการเปิด สร้าง และใช้งานอดีตampไฟล์ที่มี toolchains ที่รองรับแสดงไว้ด้านล่าง
- สร้างใหม่ทั้งหมด files และโหลดภาพลงในหน่วยความจำเป้าหมาย
- เรียกใช้อดีตample. สำหรับรายละเอียดเพิ่มเติมโปรดดูตัวอย่างampเลอ อ่านฉันหน่อย file.
การเปิด สร้าง และรัน exampโดยใช้ชุดเครื่องมือที่รองรับแต่ละอัน ให้ทำตามขั้นตอนต่อไปนี้:
- อบอุ่น:
- ภายใต้อดีตampในโฟลเดอร์ ให้เปิดโฟลเดอร์ย่อย \EWARM
- เปิดพื้นที่ทำงาน Project.eww (ชื่อพื้นที่ทำงานอาจเปลี่ยนแปลงไปจากเดิมหนึ่งตัวอย่างampไปยังอีกที่หนึ่ง)
- สร้างใหม่ทั้งหมด files: [โครงการ]>[สร้างใหม่ทั้งหมด]
- โหลดอิมเมจโปรเจ็กต์: [โปรเจ็กต์]>[ดีบั๊ก]
- เรียกใช้โปรแกรม: [Debug]>[Go (F5)]
- MDK-ARM:
- ภายใต้อดีตampในโฟลเดอร์ ให้เปิดโฟลเดอร์ย่อย \MDK-ARM
- เปิดพื้นที่ทำงาน Project.uvproj (ชื่อพื้นที่ทำงานอาจเปลี่ยนแปลงไปจากเดิมหนึ่งตัวอย่างampไปยังอีกที่หนึ่ง)
- สร้างใหม่ทั้งหมด files: [โครงการ]>[สร้างเป้าหมายทั้งหมดใหม่ fileNS].
- โหลดอิมเมจโปรเจ็กต์: [Debug]>[Start/Stop Debug Session]
- เรียกใช้โปรแกรม: [Debug]>[Run (F5)]
- STM32CubeIDE:
- เปิดห่วงโซ่เครื่องมือ STM32CubeIDE
- คลิกที่ [File]>[สลับพื้นที่ทำงาน]>[อื่นๆ] และเรียกดูไดเร็กทอรีพื้นที่ทำงาน STM32CubeIDE
- คลิกที่ [File]>[นำเข้า] เลือก [ทั่วไป]>[โครงการที่มีอยู่ลงในเวิร์กสเปซ] แล้วคลิก [ถัดไป]
- เรียกดูไดเร็กทอรีเวิร์กสเปซ STM32CubeIDE และเลือกโปรเจ็กต์
- สร้างโครงการใหม่ทั้งหมด files: เลือกโครงการในหน้าต่าง Project Explorer จากนั้นคลิกที่เมนู [Project]>[Build project]
- เรียกใช้โปรแกรม: [Run]>[Debug (F11)]
การพัฒนาแอปพลิเคชันแบบกำหนดเอง
การใช้ STM32CubeMX เพื่อพัฒนาหรืออัปเดตแอปพลิเคชัน
- ในแพ็คเกจ MCU STM32Cube โครงการเกือบทั้งหมดampไฟล์ถูกสร้างขึ้นด้วยเครื่องมือ STM32CubeMX เพื่อเริ่มต้นระบบ อุปกรณ์ต่อพ่วง และมิดเดิลแวร์
การใช้โครงการที่มีอยู่โดยตรง เช่นampไฟล์จากเครื่องมือ STM32CubeMX ต้องใช้ STM32CubeMX 6.12.0 หรือสูงกว่า:
- หลังจากติดตั้ง STM32CubeMX แล้ว ให้เปิดและอัปเดตโครงการที่เสนอหากจำเป็น
วิธีที่ง่ายที่สุดในการเปิดโครงการที่มีอยู่คือการดับเบิลคลิกที่ *.ioc file เพื่อให้ STM32CubeMX เปิดโปรเจ็กต์และแหล่งที่มาโดยอัตโนมัติ files. STM32CubeMX สร้างโค้ดต้นฉบับการเริ่มต้นโครงการดังกล่าว - ซอร์สโค้ดหลักของแอปพลิเคชันจะอยู่ในคำอธิบายประกอบ “USER CODE BEGIN” และ “USER CODE END” หากมีการปรับเปลี่ยนการเลือกอุปกรณ์ต่อพ่วงและการตั้งค่า STM32CubeMX จะอัปเดตส่วนการเริ่มต้นของโค้ดโดยยังคงรักษาซอร์สโค้ดของแอปพลิเคชันหลักไว้
- ในการพัฒนาโครงการที่กำหนดเองด้วย STM32CubeMX ให้ปฏิบัติตามกระบวนการทีละขั้นตอนดังต่อไปนี้:
- กำหนดค่าซอฟต์แวร์ฝังตัวที่จำเป็นทั้งหมดโดยใช้ตัวแก้ปัญหาการขัดแย้งของพินเอาต์ ตัวช่วยในการตั้งค่านาฬิกาแบบทรี เครื่องคำนวณการใช้พลังงาน และยูทิลิตี้ที่ดำเนินการกำหนดค่าอุปกรณ์ต่อพ่วง MCU (เช่น GPIO หรือ USART)
- สร้างรหัส C เริ่มต้นตามการกำหนดค่าที่เลือก รหัสนี้พร้อมใช้งานภายในสภาพแวดล้อมการพัฒนาต่างๆ รหัสผู้ใช้จะถูกเก็บไว้ในการสร้างรหัสครั้งถัดไป
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ STM32CubeMX โปรดดูคู่มือผู้ใช้ STM32CubeMX สำหรับการกำหนดค่า STM32 และการเริ่มต้นการสร้างโค้ด C (UM1718)
แอพพลิเคชั่นไดร์เวอร์
ใบสมัคร HAL
หัวข้อนี้จะอธิบายขั้นตอนต่างๆ ที่จำเป็นในการสร้างแอปพลิเคชัน HAL แบบกำหนดเองโดยใช้ STM32CubeWL3
- สร้างโครงการ
ในการสร้างโครงการใหม่ ให้เริ่มจากโครงการเทมเพลตที่จัดไว้ให้สำหรับแต่ละบอร์ดภายใต้ \Projects\ \เทมเพลตหรือจากโครงการใด ๆ ที่มีอยู่ภายใต้ \โครงการ\ \อดีตampเลสหรือ \โครงการ\ \แอปพลิเคชัน (ที่ไหน หมายถึงชื่อบอร์ด)
โปรเจ็กต์เทมเพลตมีฟังก์ชันลูปหลักว่างเปล่า อย่างไรก็ตาม ถือเป็นจุดเริ่มต้นที่ดีในการทำความเข้าใจการตั้งค่าโปรเจ็กต์ STM32CubeWL3 เทมเพลตมีคุณลักษณะดังต่อไปนี้:- ประกอบด้วยซอร์สโค้ด HAL, CMSIS และไดรเวอร์ BSP ซึ่งเป็นชุดส่วนประกอบขั้นต่ำที่จำเป็นในการพัฒนาโค้ดบนบอร์ดที่กำหนด
- ประกอบด้วยเส้นทางที่รวมไว้สำหรับส่วนประกอบเฟิร์มแวร์ทั้งหมด
- กำหนดอุปกรณ์ผลิตภัณฑ์ STM32WL3x ที่รองรับ ช่วยให้สามารถกำหนดค่าไดรเวอร์ CMSIS และ HAL ได้อย่างถูกต้อง
- มีผู้ใช้ที่พร้อมใช้งาน fileกำหนดค่าไว้ล่วงหน้าตามที่แสดงด้านล่าง:
- HAL เริ่มต้นด้วยฐานเวลาเริ่มต้นด้วย Arm® core SysTick
- SysTick ISR ถูกนำไปใช้เพื่อจุดประสงค์ HAL_Delay()
- หมายเหตุ: เมื่อคัดลอกโครงการที่มีอยู่ไปยังตำแหน่งอื่น ตรวจสอบให้แน่ใจว่ามีการอัปเดตเส้นทางที่รวมอยู่ทั้งหมดแล้ว
- กำหนดค่าส่วนประกอบเฟิร์มแวร์
ส่วนประกอบ HAL และมิดเดิลแวร์นำเสนอชุดตัวเลือกการกำหนดค่าเวลาบิลด์โดยใช้มาโคร #define ที่ประกาศในส่วนหัว file- การกำหนดค่าเทมเพลต file มีให้ภายในแต่ละส่วนประกอบ ซึ่งจะต้องคัดลอกไปยังโฟลเดอร์โครงการ (โดยปกติคือโฟลเดอร์การกำหนดค่า file มีชื่อว่า xxx_conf_template.h ส่วนย่อย- เทมเพลตจะต้องถูกลบออกเมื่อคัดลอกไปยังโฟลเดอร์โครงการ) การกำหนดค่า file ให้ข้อมูลเพียงพอที่จะเข้าใจผลกระทบของตัวเลือกการกำหนดค่าแต่ละรายการ ข้อมูลรายละเอียดเพิ่มเติมมีอยู่ในเอกสารที่ให้ไว้สำหรับแต่ละส่วนประกอบ
- เริ่มไลบรารี HAL
หลังจากข้ามไปที่โปรแกรมหลักแล้ว โค้ดแอปพลิเคชันจะต้องเรียก HAL_Init() API เพื่อเริ่มต้นไลบรารี HAL ซึ่งดำเนินงานต่อไปนี้:- การกำหนดค่าการพรีเฟตช์หน่วยความจำแฟลชและลำดับความสำคัญของการขัดจังหวะ SysTick (โดยใช้แมโครที่กำหนดไว้ใน stm32 wl3x_hal_conf.h)
- การกำหนดค่า SysTick เพื่อสร้างการขัดจังหวะทุก ๆ มิลลิวินาทีตามลำดับความสำคัญของการขัดจังหวะ SysTick TICK_INT_PRIO ที่กำหนดใน stm32wl3x_hal_conf.h
- การตั้งค่าลำดับความสำคัญของกลุ่ม NVIC เป็น 0
- การเรียกฟังก์ชันคอลแบ็ก HAL_MspInit() ที่กำหนดไว้ในผู้ใช้ stm32wl3x_hal_msp.c file เพื่อดำเนินการเริ่มต้นฮาร์ดแวร์ระดับต่ำทั่วโลก
- กำหนดค่านาฬิกาของระบบ
การกำหนดค่านาฬิการะบบทำได้โดยการเรียก API สองตัวที่อธิบายไว้ด้านล่าง:- HAL_RCC_OscConfig(): API นี้จะกำหนดค่าออสซิลเลเตอร์ภายในและภายนอก ผู้ใช้สามารถเลือก
กำหนดค่าออสซิลเลเตอร์ตัวหนึ่งหรือทั้งหมด - HAL_RCC_ClockConfig(): API นี้จะกำหนดค่าแหล่งนาฬิการะบบ ความหน่วงของหน่วยความจำแฟลช และตัวปรับขนาดล่วงหน้า AHB และ APB
- HAL_RCC_OscConfig(): API นี้จะกำหนดค่าออสซิลเลเตอร์ภายในและภายนอก ผู้ใช้สามารถเลือก
- เริ่มต้นอุปกรณ์ต่อพ่วง
- ขั้นแรก ให้เขียนฟังก์ชันการเริ่มต้นระบบรอบข้าง ดำเนินการดังต่อไปนี้:
- เปิดใช้งานนาฬิกาต่อพ่วง
- กำหนดค่า GPIO อุปกรณ์ต่อพ่วง
- กำหนดค่าช่อง DMA และเปิดใช้งานการขัดจังหวะ DMA (ถ้าจำเป็น)
- เปิดใช้งานการขัดจังหวะอุปกรณ์ต่อพ่วง (ถ้าจำเป็น)
- แก้ไข stm32xxx_it.c เพื่อเรียกตัวจัดการการขัดจังหวะที่จำเป็น (อุปกรณ์ต่อพ่วงและ DMA) หากจำเป็น
- ฟังก์ชันการโทรกลับเสร็จสิ้นกระบวนการเขียนหากมีจุดประสงค์ที่จะใช้การขัดจังหวะต่อพ่วงหรือ DMA
- ในผู้ใช้ main.c fileให้เริ่มต้นโครงสร้างตัวจัดการอุปกรณ์ต่อพ่วง จากนั้นเรียกใช้ฟังก์ชันการเริ่มต้นอุปกรณ์ต่อพ่วงเพื่อเริ่มต้นอุปกรณ์ต่อพ่วง
- พัฒนาแอพพลิเคชั่น
ณ เวลานี้tage. ระบบพร้อมแล้วและสามารถเริ่มต้นการพัฒนาโค้ดแอปพลิเคชันของผู้ใช้งานได้เลย
HAL มี API ที่ใช้งานง่ายและพร้อมใช้งานเพื่อกำหนดค่าอุปกรณ์ต่อพ่วง รองรับการโพล การขัดจังหวะ และโมเดลการเขียนโปรแกรม DMA เพื่อรองรับข้อกำหนดการใช้งานใดๆ สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้อุปกรณ์ต่อพ่วงแต่ละชิ้น โปรดดูที่ Rich Exampชุดนี้มีให้ในแพ็คเกจ MCU STM32CubeWL3
คำเตือน: ในการใช้งาน HAL เริ่มต้น ตัวจับเวลา SysTick จะถูกใช้เป็นฐานเวลา โดยจะสร้างการขัดจังหวะในช่วงเวลาปกติ ถ้า HAL_Delay() ถูกเรียกจากกระบวนการ ISR อุปกรณ์ต่อพ่วง ตรวจสอบให้แน่ใจว่าการขัดจังหวะ SysTick มีลำดับความสำคัญสูงกว่า (ตัวเลขต่ำกว่า) มากกว่าการขัดจังหวะอุปกรณ์ต่อพ่วง มิฉะนั้น กระบวนการ ISR ของผู้เรียกจะถูกบล็อก ฟังก์ชันที่ส่งผลต่อการกำหนดค่าฐานเวลาได้รับการประกาศเป็น __weak เพื่อให้สามารถแทนที่ได้ในกรณีที่มีการใช้งานอื่นในผู้ใช้ file (ใช้ตัวจับเวลาเอนกประสงค์ เช่นample หรือแหล่งเวลาอื่น) สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ HAL_TimeBase เช่นampเล.
ใบสมัคร LL
หัวข้อนี้จะอธิบายขั้นตอนต่างๆ ที่จำเป็นในการสร้างแอปพลิเคชัน LL แบบกำหนดเองโดยใช้ STM32CubeWL3
- สร้างโครงการ
ในการสร้างโครงการใหม่ ให้เริ่มจากโครงการ Templates_LL ที่จัดไว้ให้สำหรับแต่ละบอร์ดภายใต้ \Projects\ \Templates_LL หรือจากโครงการใด ๆ ที่มีอยู่ภายใต้ \Projects\ \อดีตampเลส_แอลแอล ( หมายถึงชื่อบอร์ดเช่น NUCLEO-WL32CC33)
เทมเพลตโปรเจ็กต์มีฟังก์ชันลูปหลักว่างเปล่า ซึ่งเป็นจุดเริ่มต้นที่ดีในการทำความเข้าใจการตั้งค่าโปรเจ็กต์สำหรับ STM32CubeWL3 ลักษณะสำคัญของเทมเพลตมีดังต่อไปนี้:- ประกอบด้วยโค้ดต้นฉบับของไดร์เวอร์ LL และ CMSIS ซึ่งเป็นชุดส่วนประกอบขั้นต่ำที่จำเป็นในการพัฒนาโค้ดบนบอร์ดที่กำหนด
- ประกอบด้วยเส้นทางที่รวมไว้สำหรับส่วนประกอบเฟิร์มแวร์ที่จำเป็นทั้งหมด
- จะเลือกอุปกรณ์ผลิตภัณฑ์ STM32WL3x ที่รองรับ และอนุญาตให้กำหนดค่าไดรเวอร์ CMSIS และ LL ได้อย่างถูกต้อง
- ให้ผู้ใช้พร้อมใช้งาน fileที่ได้รับการกำหนดค่าไว้ล่วงหน้าดังนี้:
- main.h: LED และ USER_BUTTON เลเยอร์นามธรรมที่มีคำจำกัดความ
- main.c: การกำหนดค่านาฬิการะบบสำหรับความถี่สูงสุด
- พอร์ต LL อดีตampเลอ:
- คัดลอก/วางโฟลเดอร์ Templates_LL เพื่อเก็บแหล่งที่มาเดิมไว้ หรืออัปเดตโครงการ Templates_LL ที่มีอยู่โดยตรง
- จากนั้นการพอร์ตจะประกอบด้วยการแทนที่ Templates_LL เป็นหลัก files โดยอดีตampโปรเจ็กต์เป้าหมาย les_LL
- เก็บชิ้นส่วนเฉพาะของบอร์ดทั้งหมดไว้ เพื่อความชัดเจน ส่วนเฉพาะของบอร์ดจะถูกทำเครื่องหมายด้วยส่วนเฉพาะ tags:

- ดังนั้นขั้นตอนการพอร์ตหลักๆ จึงมีดังต่อไปนี้:
- แทนที่ stm32wl3x_it.h file.
- แทนที่ stm32wl3x_it.c file.
- เปลี่ยน main.h file และอัปเดต: คงคำจำกัดความ LED และปุ่มผู้ใช้ของเทมเพลต LL ไว้ภายใต้การกำหนดค่าเฉพาะของบอร์ด tags.
- เปลี่ยน main.c file และอัปเดต:
- คงการกำหนดค่านาฬิกาของฟังก์ชันเทมเพลต SystemClock_Config() LL ไว้ภายใต้การกำหนดค่าเฉพาะของบอร์ด tags.
- ขึ้นอยู่กับคำจำกัดความของ LED ให้แทนที่ LDx ที่เกิดขึ้นแต่ละครั้งด้วย LDy อื่นที่มีอยู่ใน file หน้าหลัก.h
- ด้วยการปรับเปลี่ยนเหล่านี้ เช่นample ทำงานบนบอร์ดที่กำหนด
การใช้งาน RF การสาธิต และตัวอย่างampเลส
ประเภทต่างๆ ของแอปพลิเคชัน RF การสาธิต และตัวอย่างampมีอยู่ในแพ็คเกจ STM32CubeWL3
มีรายชื่ออยู่ในสองส่วนด้านล่างนี้
เช่น Sub-GHzampเลสและการสาธิต
เหล่านี้อดีตampแสดงให้เห็นคุณสมบัติหลักของอุปกรณ์ต่อพ่วงวิทยุ MRSUBG และ LPAWUR ตัวอย่างเหล่านี้amples มีจำหน่ายภายใต้:
- โครงการ\NUCLEO-WL33CC\Exampเลส\MRSUBG
- โครงการ\NUCLEO-WL33CC\Exampเลส\LPAWUR
- โครงการ\NUCLEO-WL33CC\การสาธิต\MRSUBG
- โครงการ\NUCLEO-WL33CC\การสาธิต\LPAWUR
อดีตแต่ละคนampการสาธิตโดยทั่วไปประกอบด้วยโปรแกรมสองโปรแกรมที่เรียกว่า Tx และ Rx ซึ่งทำหน้าที่เป็นเครื่องส่งและเครื่องรับตามลำดับ:
Exampเลส/เอ็มอาร์ซับจี
- MRSUBG_802_15_4: การใช้งานเลเยอร์ทางกายภาพที่กำหนดโดยมาตรฐาน 802.15.4 แสดงให้เห็นวิธีการกำหนดค่าวิทยุเพื่อส่งหรือรับแพ็กเก็ต 802.15.4
- MRSUBG_BasicGeneric: การแลกเปลี่ยนแพ็กเก็ตพื้นฐาน STM32WL3x MR_SUBG
- MRSUBG_Chat: แอปพลิเคชันเรียบง่ายที่แสดงวิธีใช้ Tx และ Rx บนอุปกรณ์เดียวกัน
- MRSUBG_DatabufferHandler: อดีตampไฟล์ที่แสดงวิธีการสลับจาก Databuffer 0 และ 1
- MRSUBG_Sequencer AutoAck: อดีตampข้อมูลที่ส่งและรับการตอบรับแพ็คเก็ต (ACKs) โดยอัตโนมัติ
- MRSUBG_WMBusSTD: การแลกเปลี่ยนข้อความ WM-Bus
- WakeupRadio: อดีตampเพื่อทดสอบอุปกรณ์ต่อพ่วงวิทยุ LPAWUR
การสาธิต/MRSUBG
- MRSUBG_RTC_Button_TX: ในกรณีนี้ampไฟล์นี้แสดงวิธีการตั้งค่า SoC ในโหมดหยุดลึกและกำหนดค่า MRSUBG เพื่อปลุก SoC โดยการกด PB2 เพื่อส่งเฟรมหรือหลังจากตัวจับเวลา RTC หมดเวลา
- MRSUBG_Sequencer_Sniff: ตัวอย่างนี้ampไฟล์นี้แสดงวิธีตั้งค่าตัวเรียงลำดับ MRSUBG ให้ทำงานในโหมด sniff ตัวอย่างนี้ampสาธิตด้านตัวรับและต้องมีอุปกรณ์อีกตัวเป็นเครื่องส่งสัญญาณ
- MRSUBG_Timer: แอปพลิเคชันจะกำหนดเวลาการทำงานของตัวจับเวลา MRSUBG หลายอินสแตนซ์ (พร้อมการโหลดซ้ำอัตโนมัติ) ด้วยช่วงเวลาที่แตกต่างกัน
- MRSUBG_WakeupRadio_Tx: นี่คืออดีตample อธิบายวิธีการตั้งค่า SoC ในโหมดหยุดลึกและกำหนดค่า MRSUBG เพื่อปลุก SoC โดยการกด PB2 เพื่อส่งเฟรม ตัวอย่างนี้ample สาธิตด้านเครื่องส่งสัญญาณและต้องใช้อุปกรณ์อื่นเป็นตัวรับ LPAWUR ตัวรับ example อยู่ภายใต้โฟลเดอร์ NUCLEO-WL33CC\Demonstrations\LPAWUR\LPAWUR_WakeupRadio_Rx
การสาธิต/LPAWUR
- LPAWUR_WakeupRadio_Rx: ปัญหานี้ample อธิบายวิธีการตั้งค่า SoC ในโหมด deep-stop และกำหนดค่า LPAWUR เพื่อปลุก SoC เมื่อเฟรมมาถึงและได้รับอย่างถูกต้อง ตัวอย่างนี้ample สาธิตด้านตัวรับและต้องมีอุปกรณ์อื่นเป็นเครื่องส่งสัญญาณ เครื่องส่งสัญญาณ exampไฟล์นี้อยู่ภายใต้โฟลเดอร์ NUCLEO-WL33CC\Demonstrations\MRSUBG\MRSUBG_WakeupRadio_Tx
แอปพลิเคชัน Sigfox™
แอปพลิเคชันเหล่านี้แสดงวิธีการนำสถานการณ์จำลอง Sigfox™ ไปใช้และใช้ API ของ Sigfox™ ที่มีอยู่ แอปพลิเคชันเหล่านี้มีอยู่ในเส้นทางโครงการ Projects\NUCLEO-WL33CC\Applications\Sigfox\:
- Sigfox_CLI: แอปพลิเคชันนี้จะแสดงวิธีใช้อินเทอร์เฟซบรรทัดคำสั่ง (CLI) เพื่อส่งคำสั่งที่ใช้โปรโตคอล Sigfox™ เพื่อส่งข้อความและดำเนินการทดสอบการรับรองล่วงหน้า
- Sigfox_PushButton: แอปพลิเคชันนี้ช่วยให้สามารถประเมินความสามารถวิทยุของอุปกรณ์ Sigfox™ STM32WL33xx ได้ การกด PB1 จะส่งเฟรมทดสอบ Sigfox™
ประวัติการแก้ไข
ตารางที่ 3 ประวัติการแก้ไขเอกสาร
| วันที่ | การแก้ไข | การเปลี่ยนแปลง |
| 29 มี.ค. 2024 | 1 | การเปิดตัวครั้งแรก |
| 30 ต.ค. 2024 | 2 | การบูรณาการเต็มรูปแบบของ STM32CubeWL3 ใน STM32Cube อัปเดต:
- การแนะนำ - ส่วนที่ 2: คุณสมบัติหลักของ STM32CubeWL3 - ส่วนที่ 3.2.1: ส่วนประกอบมิดเดิลแวร์ - ส่วนที่ 4: แพ็คเกจเฟิร์มแวร์ STM32CubeWL3view - ส่วนที่ 5.1: การเรียกใช้ ex แรกample - ส่วนที่ 5.3: การใช้งาน RF การสาธิต และตัวอย่างampเลส เพิ่ม: - ส่วนที่ 5.1.1: วิธีการเรียกใช้ HAL example - ส่วนที่ 5.2.1: การใช้ STM32CubeMX เพื่อพัฒนาหรืออัปเดตแอปพลิเคชัน • สection 6.4: มีเทมเพลตโปรเจ็กต์สำหรับอุปกรณ์ต่อพ่วง MRSUBG/LPAWUR หรือไม่ampเลสหรอ? - ส่วนที่ 6.5: STM32CubeMX สามารถสร้างโค้ดบนซอฟต์แวร์ฝังตัวได้อย่างไร ลบออก: - เครื่องมือพีซี, รวมทั้ง นักนำทาง, STM32WL3 อินเทอร์เฟซผู้ใช้, และ GUI ซีเควนเซอร์ MR-SUBG - WiSE-Studio IOMapper สามารถสร้างโค้ดบนซอฟต์แวร์ฝังตัวได้อย่างไร - Navigator อนุญาตให้เข้าถึงทรัพยากรแพ็คเกจซอฟต์แวร์หรือไม่ |
| 22 ม.ค. 2025 | 3 | ขยายช่วงของอุปกรณ์ที่ใช้งานได้กับไมโครคอนโทรลเลอร์ STM32WL30xx และ STM32WL31xx ในตารางที่ 1 มาโครสำหรับสายผลิตภัณฑ์ STM32WL3x |
หมายเหตุสำคัญ - โปรดอ่านอย่างละเอียด
- STMicroelectronics NV และบริษัทในเครือ (“ST”) ขอสงวนสิทธิ์ในการเปลี่ยนแปลง แก้ไข ปรับปรุง ปรับเปลี่ยน และปรับปรุงผลิตภัณฑ์ ST และ/หรือเอกสารนี้ได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบ ผู้ซื้อควรได้รับข้อมูลล่าสุดที่เกี่ยวข้องกับผลิตภัณฑ์ ST ก่อนทำการสั่งซื้อ ผลิตภัณฑ์ ST จะถูกขายตามข้อกำหนดและเงื่อนไขการขายของ ST ที่ใช้ในขณะที่ยืนยันคำสั่งซื้อ
- ผู้ซื้อจะต้องรับผิดชอบแต่เพียงผู้เดียวในการเลือก การคัดเลือก และการใช้ผลิตภัณฑ์ ST และ ST จะไม่รับผิดชอบต่อความช่วยเหลือในการใช้งานหรือการออกแบบผลิตภัณฑ์ของผู้ซื้อ
- ST ไม่อนุญาตให้มีใบอนุญาตใดๆ ไม่ว่าโดยชัดแจ้งหรือโดยนัยในสิทธิในทรัพย์สินทางปัญญาใดๆ
- การขายต่อผลิตภัณฑ์ ST ที่มีข้อกำหนดแตกต่างจากข้อมูลที่กำหนดไว้ในที่นี้ จะทำให้การรับประกันใดๆ ที่ ST ให้ไว้สำหรับผลิตภัณฑ์ดังกล่าวเป็นโมฆะ
- ST และโลโก้ ST เป็นเครื่องหมายการค้าของ ST สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครื่องหมายการค้า ST โปรดดูที่ www.st.com/trademarksชื่อผลิตภัณฑ์หรือบริการอื่น ๆ ทั้งหมดเป็นทรัพย์สินของเจ้าของที่เกี่ยวข้อง
- ข้อมูลในเอกสารฉบับนี้แทนที่และเปลี่ยนแทนข้อมูลที่เคยให้ไว้ก่อนหน้านี้ในเอกสารฉบับก่อนหน้าใดๆ
- © 2025 STMicroelectronics – สงวนลิขสิทธิ์
คำถามที่พบบ่อย
เมื่อใดที่ฉันควรใช้ HAL แทนไดรเวอร์ LL
ไดรเวอร์ HAL นำเสนอ API ระดับสูงและเน้นฟังก์ชันพร้อมความสามารถในการพกพาในระดับสูง ความซับซ้อนของผลิตภัณฑ์หรืออุปกรณ์ต่อพ่วงถูกซ่อนไว้สำหรับผู้ใช้ปลายทาง ไดรเวอร์ LL นำเสนอ API ระดับรีจิสเตอร์เลเยอร์ต่ำพร้อมการปรับให้เหมาะสมที่ดีกว่าแต่พกพาได้น้อยกว่า ไดรเวอร์เหล่านี้ต้องการความรู้เชิงลึกเกี่ยวกับข้อมูลจำเพาะของผลิตภัณฑ์หรือ IP
API การเริ่มต้น LL เปิดใช้งานอย่างไร
การกำหนด API การเริ่มต้น LL และโครงสร้างทรัพยากรที่เกี่ยวข้อง รวมถึงลิเทอรัลและโปรโตไทป์นั้นถูกกำหนดโดยสวิตช์คอมไพล์ USE_FULL_LL_DRIVER หากต้องการใช้ API การเริ่มต้น LL ให้เพิ่มสวิตช์นี้ในพรีโปรเซสเซอร์คอมไพเลอร์ของทูลเชน
มีเทมเพลตโครงการสำหรับอุปกรณ์ต่อพ่วง MRSUBG/LPAWUR หรือไม่ampเลสหรอ?
เพื่อสร้าง MRSUBG หรือ LPAWUR ex ใหม่ampโครงการอาจเริ่มจากโครงร่างโครงการที่กำหนดไว้ภายใต้โครงการ NUCLEO-33CC ExampMRSUBG หรือ ProjectsNUCLEO-WL33CC Examples LPAWUR หรือจากโครงการใดๆ ที่มีอยู่ในไดเร็กทอรีเดียวกันนี้
STM32CubeMX จะสร้างโค้ดจากซอฟต์แวร์ฝังตัวได้อย่างไร
STM32CubeMX มีความรู้ในตัวเกี่ยวกับไมโครคอนโทรลเลอร์ STM32 รวมไปถึงอุปกรณ์ต่อพ่วงและซอฟต์แวร์ ซึ่งทำให้สามารถแสดงภาพกราฟิกแก่ผู้ใช้และสร้างไฟล์ .h หรือ .c ได้ fileขึ้นอยู่กับการกำหนดค่าของผู้ใช้งาน
เอกสาร / แหล่งข้อมูล
![]() |
ไมโครคอนโทรลเลอร์ ST STM32WL3x [พีดีเอฟ] คู่มือการใช้งาน ไมโครคอนโทรลเลอร์ STM32WL3x, STM32WL3x, ไมโครคอนโทรลเลอร์ |

