ST-โลโก้

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

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 (หรือบริษัทในเครือ) ในสหรัฐอเมริกาและ/หรือที่อื่นๆ

ไมโครคอนโทรลเลอร์ STM32WL3x รูปที่ 1

คุณสมบัติหลักของ 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

ไมโครคอนโทรลเลอร์ STM32WL3x รูปที่ 2

สถาปัตยกรรม STM32CubeWL3 บนview

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

ไมโครคอนโทรลเลอร์ STM32WL3x รูปที่ 3

ระดับ 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

ไมโครคอนโทรลเลอร์ STM32WL3x รูปที่ 4

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

ไมโครคอนโทรลเลอร์ STM32WL3x รูปที่ 5

อดีต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:

  1. ดาวน์โหลดแพ็คเกจ MCU STM32CubeWL3
  2. แตกไฟล์หรือรันโปรแกรมติดตั้งหากมีให้ลงในไดเร็กทอรีที่คุณเลือก
  3. อย่าแก้ไขโครงสร้างแพ็คเกจที่แสดงในรูปที่ 3 โครงสร้างแพ็คเกจเฟิร์มแวร์ STM32CubeWL3 โปรดทราบว่าขอแนะนำให้คัดลอกแพ็คเกจในตำแหน่งที่ใกล้กับโวลุ่มรูท (หมายถึง C:\ST หรือ G:\Tests) เนื่องจาก IDE บางตัวพบปัญหาเมื่อเส้นทางยาวเกินไป

วิธีการเรียกใช้ HAL example
ก่อนโหลดและรัน exampเล ขอแนะนำให้คุณอ่านตัวอย่างampเลอ อ่านฉันหน่อย file สำหรับการกำหนดค่าที่เฉพาะเจาะจงใด ๆ

  1. เรียกดู \โครงการ\NUCLEO-WL33CC\Exampเลส.
  2. เปิดโฟลเดอร์ \GPIO จากนั้น \GPIO_EXTI
  3. เปิดโครงการด้วยเครื่องมือที่ต้องการ ดำเนินการอย่างรวดเร็วview เกี่ยวกับวิธีการเปิด สร้าง และใช้งานอดีตampไฟล์ที่มี toolchains ที่รองรับแสดงไว้ด้านล่าง
  4. สร้างใหม่ทั้งหมด files และโหลดภาพลงในหน่วยความจำเป้าหมาย
  5. เรียกใช้อดีตample. สำหรับรายละเอียดเพิ่มเติมโปรดดูตัวอย่างampเลอ อ่านฉันหน่อย file.

การเปิด สร้าง และรัน exampโดยใช้ชุดเครื่องมือที่รองรับแต่ละอัน ให้ทำตามขั้นตอนต่อไปนี้:

  • อบอุ่น:
    1. ภายใต้อดีตampในโฟลเดอร์ ให้เปิดโฟลเดอร์ย่อย \EWARM
    2. เปิดพื้นที่ทำงาน Project.eww (ชื่อพื้นที่ทำงานอาจเปลี่ยนแปลงไปจากเดิมหนึ่งตัวอย่างampไปยังอีกที่หนึ่ง)
    3. สร้างใหม่ทั้งหมด files: [โครงการ]>[สร้างใหม่ทั้งหมด]
    4. โหลดอิมเมจโปรเจ็กต์: [โปรเจ็กต์]>[ดีบั๊ก]
    5. เรียกใช้โปรแกรม: [Debug]>[Go (F5)]
  • MDK-ARM:
    1. ภายใต้อดีตampในโฟลเดอร์ ให้เปิดโฟลเดอร์ย่อย \MDK-ARM
    2. เปิดพื้นที่ทำงาน Project.uvproj (ชื่อพื้นที่ทำงานอาจเปลี่ยนแปลงไปจากเดิมหนึ่งตัวอย่างampไปยังอีกที่หนึ่ง)
    3. สร้างใหม่ทั้งหมด files: [โครงการ]>[สร้างเป้าหมายทั้งหมดใหม่ fileNS].
    4. โหลดอิมเมจโปรเจ็กต์: [Debug]>[Start/Stop Debug Session]
    5. เรียกใช้โปรแกรม: [Debug]>[Run (F5)]
  • STM32CubeIDE:
    1. เปิดห่วงโซ่เครื่องมือ STM32CubeIDE
    2. คลิกที่ [File]>[สลับพื้นที่ทำงาน]>[อื่นๆ] และเรียกดูไดเร็กทอรีพื้นที่ทำงาน STM32CubeIDE
    3. คลิกที่ [File]>[นำเข้า] เลือก [ทั่วไป]>[โครงการที่มีอยู่ลงในเวิร์กสเปซ] แล้วคลิก [ถัดไป]
    4. เรียกดูไดเร็กทอรีเวิร์กสเปซ STM32CubeIDE และเลือกโปรเจ็กต์
    5. สร้างโครงการใหม่ทั้งหมด files: เลือกโครงการในหน้าต่าง Project Explorer จากนั้นคลิกที่เมนู [Project]>[Build project]
    6. เรียกใช้โปรแกรม: [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 ให้ปฏิบัติตามกระบวนการทีละขั้นตอนดังต่อไปนี้:
    1. กำหนดค่าซอฟต์แวร์ฝังตัวที่จำเป็นทั้งหมดโดยใช้ตัวแก้ปัญหาการขัดแย้งของพินเอาต์ ตัวช่วยในการตั้งค่านาฬิกาแบบทรี เครื่องคำนวณการใช้พลังงาน และยูทิลิตี้ที่ดำเนินการกำหนดค่าอุปกรณ์ต่อพ่วง MCU (เช่น GPIO หรือ USART)
    2. สร้างรหัส C เริ่มต้นตามการกำหนดค่าที่เลือก รหัสนี้พร้อมใช้งานภายในสภาพแวดล้อมการพัฒนาต่างๆ รหัสผู้ใช้จะถูกเก็บไว้ในการสร้างรหัสครั้งถัดไป
      สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ STM32CubeMX โปรดดูคู่มือผู้ใช้ STM32CubeMX สำหรับการกำหนดค่า STM32 และการเริ่มต้นการสร้างโค้ด C (UM1718)

แอพพลิเคชั่นไดร์เวอร์
ใบสมัคร HAL
หัวข้อนี้จะอธิบายขั้นตอนต่างๆ ที่จำเป็นในการสร้างแอปพลิเคชัน HAL แบบกำหนดเองโดยใช้ STM32CubeWL3

  1. สร้างโครงการ
    ในการสร้างโครงการใหม่ ให้เริ่มจากโครงการเทมเพลตที่จัดไว้ให้สำหรับแต่ละบอร์ดภายใต้ \Projects\ \เทมเพลตหรือจากโครงการใด ๆ ที่มีอยู่ภายใต้ \โครงการ\ \อดีตampเลสหรือ \โครงการ\ \แอปพลิเคชัน (ที่ไหน หมายถึงชื่อบอร์ด)
    โปรเจ็กต์เทมเพลตมีฟังก์ชันลูปหลักว่างเปล่า อย่างไรก็ตาม ถือเป็นจุดเริ่มต้นที่ดีในการทำความเข้าใจการตั้งค่าโปรเจ็กต์ STM32CubeWL3 เทมเพลตมีคุณลักษณะดังต่อไปนี้:
    • ประกอบด้วยซอร์สโค้ด HAL, CMSIS และไดรเวอร์ BSP ซึ่งเป็นชุดส่วนประกอบขั้นต่ำที่จำเป็นในการพัฒนาโค้ดบนบอร์ดที่กำหนด
    • ประกอบด้วยเส้นทางที่รวมไว้สำหรับส่วนประกอบเฟิร์มแวร์ทั้งหมด
    • กำหนดอุปกรณ์ผลิตภัณฑ์ STM32WL3x ที่รองรับ ช่วยให้สามารถกำหนดค่าไดรเวอร์ CMSIS และ HAL ได้อย่างถูกต้อง
    • มีผู้ใช้ที่พร้อมใช้งาน fileกำหนดค่าไว้ล่วงหน้าตามที่แสดงด้านล่าง:
    • HAL เริ่มต้นด้วยฐานเวลาเริ่มต้นด้วย Arm® core SysTick
    • SysTick ISR ถูกนำไปใช้เพื่อจุดประสงค์ HAL_Delay()
    • หมายเหตุ: เมื่อคัดลอกโครงการที่มีอยู่ไปยังตำแหน่งอื่น ตรวจสอบให้แน่ใจว่ามีการอัปเดตเส้นทางที่รวมอยู่ทั้งหมดแล้ว
  2. กำหนดค่าส่วนประกอบเฟิร์มแวร์
    ส่วนประกอบ HAL และมิดเดิลแวร์นำเสนอชุดตัวเลือกการกำหนดค่าเวลาบิลด์โดยใช้มาโคร #define ที่ประกาศในส่วนหัว file- การกำหนดค่าเทมเพลต file มีให้ภายในแต่ละส่วนประกอบ ซึ่งจะต้องคัดลอกไปยังโฟลเดอร์โครงการ (โดยปกติคือโฟลเดอร์การกำหนดค่า file มีชื่อว่า xxx_conf_template.h ส่วนย่อย
    • เทมเพลตจะต้องถูกลบออกเมื่อคัดลอกไปยังโฟลเดอร์โครงการ) การกำหนดค่า file ให้ข้อมูลเพียงพอที่จะเข้าใจผลกระทบของตัวเลือกการกำหนดค่าแต่ละรายการ ข้อมูลรายละเอียดเพิ่มเติมมีอยู่ในเอกสารที่ให้ไว้สำหรับแต่ละส่วนประกอบ
  3. เริ่มไลบรารี 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 เพื่อดำเนินการเริ่มต้นฮาร์ดแวร์ระดับต่ำทั่วโลก
  4. กำหนดค่านาฬิกาของระบบ
    การกำหนดค่านาฬิการะบบทำได้โดยการเรียก API สองตัวที่อธิบายไว้ด้านล่าง:
    • HAL_RCC_OscConfig(): API นี้จะกำหนดค่าออสซิลเลเตอร์ภายในและภายนอก ผู้ใช้สามารถเลือก
      กำหนดค่าออสซิลเลเตอร์ตัวหนึ่งหรือทั้งหมด
    • HAL_RCC_ClockConfig(): API นี้จะกำหนดค่าแหล่งนาฬิการะบบ ความหน่วงของหน่วยความจำแฟลช และตัวปรับขนาดล่วงหน้า AHB และ APB
  5. เริ่มต้นอุปกรณ์ต่อพ่วง
    • ขั้นแรก ให้เขียนฟังก์ชันการเริ่มต้นระบบรอบข้าง ดำเนินการดังต่อไปนี้:
    • เปิดใช้งานนาฬิกาต่อพ่วง
    • กำหนดค่า GPIO อุปกรณ์ต่อพ่วง
    • กำหนดค่าช่อง DMA และเปิดใช้งานการขัดจังหวะ DMA (ถ้าจำเป็น)
    • เปิดใช้งานการขัดจังหวะอุปกรณ์ต่อพ่วง (ถ้าจำเป็น)
    • แก้ไข stm32xxx_it.c เพื่อเรียกตัวจัดการการขัดจังหวะที่จำเป็น (อุปกรณ์ต่อพ่วงและ DMA) หากจำเป็น
    • ฟังก์ชันการโทรกลับเสร็จสิ้นกระบวนการเขียนหากมีจุดประสงค์ที่จะใช้การขัดจังหวะต่อพ่วงหรือ DMA
    • ในผู้ใช้ main.c fileให้เริ่มต้นโครงสร้างตัวจัดการอุปกรณ์ต่อพ่วง จากนั้นเรียกใช้ฟังก์ชันการเริ่มต้นอุปกรณ์ต่อพ่วงเพื่อเริ่มต้นอุปกรณ์ต่อพ่วง
  6. พัฒนาแอพพลิเคชั่น
    ณ เวลานี้tage. ระบบพร้อมแล้วและสามารถเริ่มต้นการพัฒนาโค้ดแอปพลิเคชันของผู้ใช้งานได้เลย
    HAL มี API ที่ใช้งานง่ายและพร้อมใช้งานเพื่อกำหนดค่าอุปกรณ์ต่อพ่วง รองรับการโพล การขัดจังหวะ และโมเดลการเขียนโปรแกรม DMA เพื่อรองรับข้อกำหนดการใช้งานใดๆ สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้อุปกรณ์ต่อพ่วงแต่ละชิ้น โปรดดูที่ Rich Exampชุดนี้มีให้ในแพ็คเกจ MCU STM32CubeWL3

คำเตือน: ในการใช้งาน HAL เริ่มต้น ตัวจับเวลา SysTick จะถูกใช้เป็นฐานเวลา โดยจะสร้างการขัดจังหวะในช่วงเวลาปกติ ถ้า HAL_Delay() ถูกเรียกจากกระบวนการ ISR อุปกรณ์ต่อพ่วง ตรวจสอบให้แน่ใจว่าการขัดจังหวะ SysTick มีลำดับความสำคัญสูงกว่า (ตัวเลขต่ำกว่า) มากกว่าการขัดจังหวะอุปกรณ์ต่อพ่วง มิฉะนั้น กระบวนการ ISR ของผู้เรียกจะถูกบล็อก ฟังก์ชันที่ส่งผลต่อการกำหนดค่าฐานเวลาได้รับการประกาศเป็น __weak เพื่อให้สามารถแทนที่ได้ในกรณีที่มีการใช้งานอื่นในผู้ใช้ file (ใช้ตัวจับเวลาเอนกประสงค์ เช่นample หรือแหล่งเวลาอื่น) สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ HAL_TimeBase เช่นampเล.

ใบสมัคร LL
หัวข้อนี้จะอธิบายขั้นตอนต่างๆ ที่จำเป็นในการสร้างแอปพลิเคชัน LL แบบกำหนดเองโดยใช้ STM32CubeWL3

  1. สร้างโครงการ
    ในการสร้างโครงการใหม่ ให้เริ่มจากโครงการ Templates_LL ที่จัดไว้ให้สำหรับแต่ละบอร์ดภายใต้ \Projects\ \Templates_LL หรือจากโครงการใด ๆ ที่มีอยู่ภายใต้ \Projects\ \อดีตampเลส_แอลแอล ( หมายถึงชื่อบอร์ดเช่น NUCLEO-WL32CC33)
    เทมเพลตโปรเจ็กต์มีฟังก์ชันลูปหลักว่างเปล่า ซึ่งเป็นจุดเริ่มต้นที่ดีในการทำความเข้าใจการตั้งค่าโปรเจ็กต์สำหรับ STM32CubeWL3 ลักษณะสำคัญของเทมเพลตมีดังต่อไปนี้:
    • ประกอบด้วยโค้ดต้นฉบับของไดร์เวอร์ LL และ CMSIS ซึ่งเป็นชุดส่วนประกอบขั้นต่ำที่จำเป็นในการพัฒนาโค้ดบนบอร์ดที่กำหนด
    • ประกอบด้วยเส้นทางที่รวมไว้สำหรับส่วนประกอบเฟิร์มแวร์ที่จำเป็นทั้งหมด
    • จะเลือกอุปกรณ์ผลิตภัณฑ์ STM32WL3x ที่รองรับ และอนุญาตให้กำหนดค่าไดรเวอร์ CMSIS และ LL ได้อย่างถูกต้อง
    • ให้ผู้ใช้พร้อมใช้งาน fileที่ได้รับการกำหนดค่าไว้ล่วงหน้าดังนี้:
    • main.h: LED และ USER_BUTTON เลเยอร์นามธรรมที่มีคำจำกัดความ
    • main.c: การกำหนดค่านาฬิการะบบสำหรับความถี่สูงสุด
  2. พอร์ต LL อดีตampเลอ:
    • คัดลอก/วางโฟลเดอร์ Templates_LL เพื่อเก็บแหล่งที่มาเดิมไว้ หรืออัปเดตโครงการ Templates_LL ที่มีอยู่โดยตรง
    • จากนั้นการพอร์ตจะประกอบด้วยการแทนที่ Templates_LL เป็นหลัก files โดยอดีตampโปรเจ็กต์เป้าหมาย les_LL
    • เก็บชิ้นส่วนเฉพาะของบอร์ดทั้งหมดไว้ เพื่อความชัดเจน ส่วนเฉพาะของบอร์ดจะถูกทำเครื่องหมายด้วยส่วนเฉพาะ tags:ไมโครคอนโทรลเลอร์ STM32WL3x รูปที่ 6
    • ดังนั้นขั้นตอนการพอร์ตหลักๆ จึงมีดังต่อไปนี้:
    • แทนที่ 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, ไมโครคอนโทรลเลอร์

อ้างอิง

ฝากความคิดเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องกรอกข้อมูลมีเครื่องหมาย *