สารบัญ:

การตั้งค่า Blue Pill Board ใน STM32CubeIDE: 8 ขั้นตอน
การตั้งค่า Blue Pill Board ใน STM32CubeIDE: 8 ขั้นตอน

วีดีโอ: การตั้งค่า Blue Pill Board ใน STM32CubeIDE: 8 ขั้นตอน

วีดีโอ: การตั้งค่า Blue Pill Board ใน STM32CubeIDE: 8 ขั้นตอน
วีดีโอ: How to Setup a STM32F103C8 "Blue Pill" Development Board 2024, พฤศจิกายน
Anonim
การตั้งค่าบอร์ดยาสีน้ำเงินใน STM32CubeIDE
การตั้งค่าบอร์ดยาสีน้ำเงินใน STM32CubeIDE
การตั้งค่าบอร์ดยาสีน้ำเงินใน STM32CubeIDE
การตั้งค่าบอร์ดยาสีน้ำเงินใน STM32CubeIDE

Blue Pill เป็นบอร์ดพัฒนา ARM กระดูกเปล่าราคาถูกมาก มี STM32F103C8 เป็นโปรเซสเซอร์ซึ่งมีแฟลช 64 kbytes และหน่วยความจำ RAM 20 kbytes ทำงานได้ถึง 72 MHz และเป็นวิธีที่ถูกที่สุดในการพัฒนาซอฟต์แวร์ฝังตัว ARM

โครงการตัวอย่างส่วนใหญ่และวิธีการอธิบายการเขียนโปรแกรมบอร์ด Blue Pill โดยใช้สภาพแวดล้อม Auduino แม้ว่าจะใช้งานได้และเป็นวิธีเริ่มต้น แต่ก็มีข้อจำกัด สภาพแวดล้อม Arduino ปกป้องคุณเล็กน้อยจากฮาร์ดแวร์พื้นฐาน นั่นคือเป้าหมายการออกแบบ ด้วยเหตุนี้ คุณจะไม่สามารถใช้ประโยชน์จากคุณลักษณะทั้งหมดที่โปรเซสเซอร์มีให้ และไม่สนับสนุนการรวมระบบปฏิบัติการแบบเรียลไทม์ ซึ่งหมายความว่าสภาพแวดล้อม Arduino ไม่ได้ใช้กันอย่างแพร่หลายในอุตสาหกรรม หากคุณต้องการประกอบอาชีพในการพัฒนาซอฟต์แวร์แบบฝังตัว Arduino เป็นจุดเริ่มต้นที่ดี แต่คุณต้องก้าวต่อไปและใช้สภาพแวดล้อมการพัฒนาที่ใช้ในอุตสาหกรรม ST มอบชุดสภาพแวดล้อมการพัฒนาที่สมบูรณ์ฟรีสำหรับโปรเซสเซอร์ที่เรียกว่า STM32CubeIDE มีการใช้กันอย่างแพร่หลายในอุตสาหกรรม ดังนั้นจึงเป็นการดีที่จะก้าวต่อไป

อย่างไรก็ตาม และนี่เป็นเรื่องใหญ่ อย่างไรก็ตาม STM32CubeIDE นั้นซับซ้อนอย่างน่ากลัวและเป็นซอฟต์แวร์ที่น่ากลัวที่จะใช้ รองรับคุณสมบัติทั้งหมดของโปรเซสเซอร์ ST ทั้งหมด และอนุญาตให้กำหนดค่าอย่างใกล้ชิด ซึ่งคุณไม่พบใน Arduino IDE เพราะทั้งหมดนี้ทำเพื่อคุณ

คุณต้องตั้งค่าบอร์ดของคุณเป็นขั้นตอนแรกใน STM32CubeIDE IDE รู้เกี่ยวกับบอร์ดพัฒนาของ ST และตั้งค่าให้คุณ แต่ Blue Pill นั้นใช้โปรเซสเซอร์ ST ไม่ใช่ผลิตภัณฑ์ ST ดังนั้นคุณจึงอยู่ที่นี่ด้วยตัวเอง

คำแนะนำนี้จะนำคุณไปสู่ขั้นตอนการตั้งค่าบอร์ด Blue Pill ของคุณ เปิดใช้งานพอร์ตอนุกรม และเขียนข้อความบางส่วน ไม่มากแต่เป็นก้าวแรกที่สำคัญ

เสบียง

STM32CubeIDE - ดาวน์โหลดจากเว็บไซต์ของ ST คุณต้องลงทะเบียนและใช้เวลาในการดาวน์โหลด

กระดานยาสีน้ำเงิน คุณสามารถรับได้จากอีเบย์ คุณต้องมีโปรเซสเซอร์ ST ของแท้เนื่องจากบางตัวไม่มี ใน ebay ให้ซูมเข้าที่รูปภาพและมองหาโลโก้ ST บนโปรเซสเซอร์

ดีบักเกอร์/โปรแกรมเมอร์ ST-LINK v2 จาก ebay ในราคาไม่กี่ปอนด์

สายเคเบิลอนุกรม FTDI TTL เป็น USB 3.3V สำหรับเอาต์พุตและสายหัวต่อตัวผู้กับตัวเมีย 2 เส้นเพื่อเชื่อมต่อ

โปรแกรมเทอร์มินัลอนุกรมเช่น PuTTY

ขั้นตอนที่ 1: สร้างโครงการใหม่

การสร้างโครงการใหม่
การสร้างโครงการใหม่
การสร้างโครงการใหม่
การสร้างโครงการใหม่
  1. เริ่ม STM32CubeIDE จากนั้นจากเมนูให้เลือก File|New|STM32 Project
  2. ในกล่องค้นหาหมายเลขชิ้นส่วน ให้ป้อน STM32F103C8
  3. ในรายการ MCUs/MPUs คุณควรเห็น STM32F103C8 เลือกบรรทัดนี้ตามภาพด้านบน
  4. คลิกถัดไป
  5. ในกล่องโต้ตอบการตั้งค่าโปรเจ็กต์ ให้ตั้งชื่อโปรเจ็กต์ให้คุณ
  6. ปล่อยให้ทุกอย่างเป็นเหมือนเดิมแล้วคลิกเสร็จสิ้น โครงการของคุณจะปรากฏทางด้านซ้ายในบานหน้าต่าง Project Explorer

ขั้นตอนที่ 2: การกำหนดค่าโปรเซสเซอร์

การกำหนดค่าโปรเซสเซอร์
การกำหนดค่าโปรเซสเซอร์
การกำหนดค่าโปรเซสเซอร์
การกำหนดค่าโปรเซสเซอร์
การกำหนดค่าโปรเซสเซอร์
การกำหนดค่าโปรเซสเซอร์
การกำหนดค่าโปรเซสเซอร์
การกำหนดค่าโปรเซสเซอร์
  1. ในบานหน้าต่าง Project Explorer เปิดโปรเจ็กต์ของคุณและดับเบิลคลิกที่ไฟล์.ioc
  2. บนแท็บ Project & Configuration ให้ขยาย System Core จากนั้นเลือก SYS
  3. ภายใต้ SYS Mode and Configuration ในเมนูแบบเลื่อนลง Debug ให้เลือก Serial Wire
  4. ตอนนี้เลือก RCC ในรายการ System Core เหนือ SYS ที่คุณเลือกด้านบน
  5. ภายใต้ RCC Mode & Configuration จาก High Speed Clock (HSE) ดรอปดาวน์ ให้เลือก Crystal/Ceramic Resonator
  6. ตอนนี้ภายใต้ หมวดหมู่ อีกครั้ง เปิดการเชื่อมต่อ และเลือก USART2
  7. ภายใต้ USART2 Mode and Configuration จากเมนูดรอปดาวน์ของ Mode ให้เลือก Asynchronous
  8. ตอนนี้เลือกแท็บการกำหนดค่านาฬิกาและไปที่ขั้นตอนถัดไป

ขั้นตอนที่ 3: การกำหนดค่านาฬิกา

การกำหนดค่านาฬิกา
การกำหนดค่านาฬิกา

ตอนนี้คุณสามารถดูไดอะแกรมนาฬิกาที่ค่อนข้างน่ากลัวได้แล้ว แต่ต้องตั้งค่าเพียงครั้งเดียว นี่เป็นคำอธิบายที่ยากที่สุดเนื่องจากไดอะแกรมซับซ้อน ทุกสิ่งที่คุณต้องเปลี่ยนจะถูกเน้นในภาพด้านบน

  1. บอร์ด Blue Pill มาพร้อมกับคริสตัล 8 MHz บนบอร์ด และนั่นคือสิ่งที่ไดอะแกรมการกำหนดค่านาฬิกาเป็นค่าเริ่มต้น ดังนั้นเราจึงไม่จำเป็นต้องเปลี่ยนสิ่งนั้น
  2. ภายใต้ PLL Source Mux ให้เลือกตัวเลือกที่ต่ำกว่า HSE
  3. ไปทางขวา ตั้งค่า PLLMul เป็น X9
  4. ทางด้านขวาอีกครั้งภายใต้ System Clock Mux เลือก PLLCLK
  5. ทางด้านขวาอีกครั้งภายใต้ APB1 Prescalar เลือก /2
  6. แค่นั้นแหละ. หากคุณเห็นส่วนใดๆ ของไดอะแกรมที่ไฮไลต์ด้วยสีม่วง แสดงว่าคุณทำอะไรผิด

ขั้นตอนที่ 4: บันทึกและสร้าง

  1. บันทึกการกำหนดค่า.ioc ด้วย Ctrl-S เมื่อคุณถูกถามว่าคุณต้องการสร้างรหัสหรือไม่ ให้เลือก ใช่ (และทำเครื่องหมาย จำการตัดสินใจของฉัน เพื่อที่คุณจะไม่ถูกถามทุกครั้ง) คุณสามารถปิดไฟล์.ioc
  2. ตอนนี้สร้างจากเมนู Project|Build Project

ขั้นตอนที่ 5: การเพิ่มโค้ดบางส่วน

การเพิ่มรหัสบางส่วน
การเพิ่มรหัสบางส่วน
การเพิ่มรหัสบางส่วน
การเพิ่มรหัสบางส่วน

ตอนนี้เราจะเพิ่มรหัสเพื่อใช้พอร์ตอนุกรมที่เรากำหนดค่าไว้

  1. ใน Project Explorer เปิด Core\Src และดับเบิลคลิก main.c เพื่อแก้ไข
  2. เลื่อนลงมาจนกว่าคุณจะพบฟังก์ชัน main() และเพิ่มโค้ดที่แสดงด้านล่างใต้ความคิดเห็น /* USER CODE BEGIN 3 */ แล้วสร้างใหม่อีกครั้ง

HAL_UART_Transmit(&huart2, (uint8_t *)"สวัสดี ชาวโลก!\r\n", 15U, 100U);

ต่อไปก็เชื่อมต่อฮาร์ดแวร์ขึ้นและเริ่มต้นใช้งาน

ขั้นตอนที่ 6: การเชื่อมต่อฮาร์ดแวร์

การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์

การเชื่อมต่อ ST-LINK v2

ST-LINK v2 ควรมาพร้อมกับสายแพรแถบหัวต่อตัวเมียถึงตัวเมีย 4 เส้น คุณต้องทำการเชื่อมต่อต่อไปนี้:

ยาเม็ดสีน้ำเงินไปยัง ST-LINK v2

GND เป็น GND

CLK เป็น SWCLK

DIO เป็น SWDIO

3.3 ถึง 3.3V

ดูภาพแรกด้านบน

การเชื่อมต่อสายเคเบิลอนุกรม

หากคุณกลับไปที่ไฟล์.ioc และดูที่แผนภาพชิปทางด้านขวา คุณจะเห็นว่าเส้น Tx ของ UART2 อยู่ที่พิน PA2 ดังนั้นให้เชื่อมต่อพินที่มีป้ายกำกับ PA2 บนบอร์ด Blue Pill เข้ากับการเชื่อมต่อด้วยสายสีเหลืองบนสายเคเบิล FTDI Serial เชื่อมต่อหมุดกราวด์ตัวใดตัวหนึ่งของ Blue Pill (ที่มีข้อความว่า G) กับสายสีดำบนสายเคเบิลอนุกรม FTDI

ดูภาพที่สองด้านบน

ขั้นตอนที่ 7: การดีบัก

แก้จุดบกพร่อง
แก้จุดบกพร่อง
แก้จุดบกพร่อง
แก้จุดบกพร่อง

เสียบสายเคเบิลอนุกรม FTDI ของคุณและเปิดเครื่องเทอร์มินัลอนุกรมที่ 115200 บอด จากนั้นเสียบ ST-LINK v2 ของคุณแล้วคุณก็พร้อมใช้งาน

  1. จาก STM32CubeIDE ให้เลือก Run|Debug เมื่อกล่องโต้ตอบ Debug as ปรากฏขึ้น ให้เลือก STM32 Cortex-M C/C++ Application และ OK
  2. เมื่อกล่องโต้ตอบแก้ไขการกำหนดค่าปรากฏขึ้น ให้กดตกลง
  3. ดีบักเกอร์จะแตกในบรรทัดแรกของ main() จากเมนู ให้เลือก Run|Resume และตรวจสอบข้อความในเทอร์มินัลซีเรียล

ขั้นตอนที่ 8: ทำมากขึ้น

เพียงเท่านี้ แอปพลิเคชัน STM32CubeIDE แรกของคุณก็ได้รับการกำหนดค่าและใช้งานอยู่ ตัวอย่างนี้ไม่ได้ช่วยอะไรมาก แค่ส่งข้อมูลบางส่วนออกจากพอร์ตอนุกรม

ในการใช้อุปกรณ์ต่อพ่วงอื่นๆ และเขียนไดรเวอร์สำหรับอุปกรณ์ภายนอก คุณต้องจัดการกับตัวแก้ไขการกำหนดค่าที่น่ากลัวอีกครั้ง! เพื่อช่วย ฉันได้จัดทำชุดตัวอย่างโปรเจ็กต์ STM32CubeIDE ที่กำหนดค่าและใช้งานอุปกรณ์ต่อพ่วงทั้งหมดบนโปรเซสเซอร์ของ Blue Pill ในโครงการขนาดเล็กที่เข้าใจง่าย พวกเขาทั้งหมดเป็นโอเพ่นซอร์สและคุณมีอิสระที่จะทำสิ่งที่คุณต้องการกับพวกเขา อุปกรณ์ต่อพ่วงแต่ละตัวได้รับการกำหนดค่าแล้วมีโค้ดตัวอย่างเพื่อใช้แยกส่วน (เกือบ!) เพื่อให้คุณมีสมาธิกับการใช้อุปกรณ์ต่อพ่วงเพียงเครื่องเดียวในแต่ละครั้ง

นอกจากนี้ยังมีไดรเวอร์สำหรับอุปกรณ์ภายนอกตั้งแต่ชิป EEPROM ธรรมดาไปจนถึงเซ็นเซอร์ความดัน LCD ข้อความและกราฟิก โมเด็ม SIM800 สำหรับ TCP, HTTP และ MQTT ปุ่มกด โมดูลวิทยุ USB และยังรวมเข้ากับ FatFS การ์ด SD และ FreeRTOS

พวกเขาทั้งหมดสามารถพบได้ใน Github ที่นี่…

github.com/miniwinwm/BluePillDemo

แนะนำ: