สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: รายการส่วนประกอบ
- ขั้นตอนที่ 2: สร้างการเชื่อมต่อ
- ขั้นตอนที่ 3: เปิด Keil UVision IDE
- ขั้นตอนที่ 4: เลือกอุปกรณ์
- ขั้นตอนที่ 5: จัดการสภาพแวดล้อมรันไทม์
- ขั้นตอนที่ 6: คัดลอกไฟล์ไดรเวอร์ไปยังโฟลเดอร์โครงการ
- ขั้นตอนที่ 7: เพิ่มไฟล์ไดรเวอร์ให้กับโครงการของคุณ
- ขั้นตอนที่ 8: กำหนดค่าเส้นทางของไฟล์ส่วนหัว
- ขั้นตอนที่ 9: เชื่อมต่อ STM32F407 Discovery Kit ของคุณกับพีซี/แล็ปท็อป
- ขั้นตอนที่ 10: เลือก ST-Link Debugger ใน Compiler Configuration
- ขั้นตอนที่ 11: กำหนดค่า ST-Link Debugger
- ขั้นตอนที่ 12: สร้างและอัปโหลดโค้ด
- ขั้นตอนที่ 13: แค่นั้นแหละ !!! เพียงรีเซ็ต STM32F407 MCU และใช้โทรศัพท์มือถือ
- ขั้นตอนที่ 14: บันทึกย่อและข้อมูลการดีบัก
วีดีโอ: โทรศัพท์มือถือพื้นฐานที่ใช้ STM32F407 Discovery Kit และโมดูล GSM A6: 14 ขั้นตอน (พร้อมรูปภาพ)
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
คุณเคยต้องการสร้างโครงการฝังตัวที่ยอดเยี่ยมหรือไม่?. ถ้าใช่ จะสร้างแกดเจ็ตยอดนิยมและเป็นที่โปรดปรานของทุกคนได้อย่างไร เช่น โทรศัพท์มือถือ!!!. ในคำแนะนำนี้ ฉันจะแนะนำวิธีสร้างโทรศัพท์มือถือพื้นฐานโดยใช้ STM32F407 Discovery Kit และโมดูล GSM A6
โครงการนี้มี 3 โมดูลหลัก:
- โมดูล GSM A6 - โมดูลนี้มีหน้าที่ในการโทรออก/รับสายและ SMS
- จอแสดงผล LCD 16x02 - เพื่อดูผลลัพธ์
- Hex Keypad - เพื่อให้อินพุต
STM32F407 MCU ควบคุม GSM A6, LCD และปุ่มกด ดังนั้น เพื่อให้การเขียนโปรแกรมง่ายและมีระเบียบ ฉันได้พัฒนาโค้ดไดรเวอร์แต่ละตัวสำหรับโมดูล Interfacing GSM A6, LCD และ Keypad บน STM32F407 MCU จากนั้นฉันก็รวมไฟล์ไดรเวอร์เหล่านี้ไว้ในโปรแกรมหลักและเรียก API ที่เกี่ยวข้อง คุณสามารถค้นหารหัสไดรเวอร์เหล่านี้ได้ในวัสดุสิ้นเปลืองด้านล่าง
ไฟล์โครงการ Keil ทั้งหมดรวมอยู่ด้านล่าง
เสบียง
- รายละเอียดทั้งหมดเกี่ยวกับ STM32F407 Discovery Kit เริ่มต้นใช้งาน STM32F407 Discovery Kit
- รายละเอียดพื้นฐานเกี่ยวกับโมดูล GSM A6
- GitHub RepositoryBasic Mobile Phone โดยใช้ STM32F407 Discovery kit และโมดูล GSM A6 Module
- เชื่อมต่อ LCD ขนาด 16x02 บน STM32F407 Discovery โดยใช้โมดูล I2C
- การเชื่อมต่อ 4X4 Matrix Keypad บน STM32F407 Discovery Kit
- การเชื่อมต่อโมดูล GSM-A6 บน STM32F407 Discovery Kit
ขั้นตอนที่ 1: รายการส่วนประกอบ
ส่วนประกอบฮาร์ดแวร์ที่จำเป็นสำหรับโครงการนี้คือ:
- ชุดการค้นพบ STM32F407
- โมดูล GSM A6
- จอแอลซีดี 16x02
- โมดูล I2C
- แป้นพิมพ์ Hex
- สายจัมเปอร์สองสามเส้น
- คณะกรรมการขนมปัง
- ลำโพง (8Ω)
- ไมโครโฟน
ขั้นตอนที่ 2: สร้างการเชื่อมต่อ
เชื่อมต่อส่วนประกอบตามที่ระบุในภาพด้านบน รูปภาพ/แผนภาพนี้ช่วยให้คุณเชื่อมต่อส่วนประกอบทั้งหมดได้อย่างสมจริงและง่ายดาย:-)
หมายเหตุ: โมดูล GSM A6 ใช้พลังงานจากขั้วต่อไมโคร USB คุณสามารถใช้ที่ชาร์จมือถือเครื่องใดก็ได้เพื่อเปิดเครื่อง GSM A6
ขั้นตอนที่ 3: เปิด Keil UVision IDE
เปิด Keil uVision IDE คลิกที่โปรเจ็กต์แล้วเลือก New uVision Project…จากนั้นเลือกไดเร็กทอรีการทำงานของคุณและตั้งชื่อโปรเจ็กต์ที่คุณต้องการ
ขั้นตอนที่ 4: เลือกอุปกรณ์
เมื่อคุณตั้งชื่อให้กับโปรเจ็กต์แล้ว ขั้นตอนต่อไป คุณต้องเพิ่มอุปกรณ์ เรากำลังเพิ่ม STM32F407VG Micronconroller จาก STMicroelectronics เลือก STM32F407VG จากนั้นคลิก ตกลง
ขั้นตอนที่ 5: จัดการสภาพแวดล้อมรันไทม์
ขั้นตอนต่อไปคือการเลือกองค์ประกอบไลบรารี/ไดรเวอร์ในแท็บจัดการสภาพแวดล้อมรันไทม์ ที่นี่เลือกส่วนประกอบทั้งหมดตามที่แสดงในภาพด้านบน เมื่อคุณตรวจสอบฟิลด์ที่เหมาะสมทั้งหมดแล้ว คลิก แก้ไข จากนั้นคลิก ตกลง
ขั้นตอนที่ 6: คัดลอกไฟล์ไดรเวอร์ไปยังโฟลเดอร์โครงการ
ตอนนี้คุณต้องเพิ่มไฟล์ไดรเวอร์สำหรับโมดูล GSM A6, LCD และปุ่มกด ไฟล์ไดรเวอร์คือ:
1. โมดูล GSM A6:
GSM_A6_Driver_STM32F407.c และ GSM_A6_Driver_STM32F407.h
2. จอแอลซีดี:
STM32F407_I2C_LCD16x02_Driver.c และ STM32F407_I2C_LCD16x02_Driver.h
3. ปุ่มกด
STM32F407_KeypadDriver.c และ STM32F407_KeypadDriver.h
คัดลอกไฟล์ทั้ง 6 เหล่านี้ไปยังโฟลเดอร์โครงการของคุณ ฉันได้แนบไฟล์เหล่านี้ด้านล่าง
ขั้นตอนที่ 7: เพิ่มไฟล์ไดรเวอร์ให้กับโครงการของคุณ
เมื่อคุณคัดลอกไฟล์ไดรเวอร์ลงในโฟลเดอร์โปรเจ็กต์แล้ว คุณต้องเพิ่มไฟล์เหล่านี้ลงในโปรเจ็กต์ของคุณ
ใน Keil เลือก Target1 คลิกขวาแล้วเลือกเพิ่มกลุ่มใหม่ สร้าง 4 กลุ่มใหม่และเปลี่ยนชื่อเป็น:
1) แอปพลิเคชันผู้ใช้ - เพิ่มไฟล์ "main.c" ใหม่ที่นี่
2) GSM_A6_Driver - เพิ่มไฟล์ "GSM_A6_Driver_STM32F407.c" และ " GSM_A6_Driver_STM32F407.h" ที่มีอยู่ในกลุ่มนี้
3) LCD_Driver - เพิ่มไฟล์ "STM32F407_I2C_LCD16x02_Driver.c" และ " STM32F407_I2C_LCD16x02_Driver.h" ที่มีอยู่ในกลุ่มนี้
4) Keypad_Driver - เพิ่มไฟล์ " STM32F407_KeypadDriver.c" และ " STM32F407_KeypadDriver.h" ที่มีอยู่ในกลุ่มนี้
หมายเหตุ: ฉันได้รวมไฟล์ "main.c" ไว้ด้านล่าง คุณสามารถเพิ่มไฟล์นี้โดยตรงหรือคัดลอกเนื้อหาไปยังไฟล์หลักที่สร้างขึ้นใหม่
ขั้นตอนที่ 8: กำหนดค่าเส้นทางของไฟล์ส่วนหัว
เมื่อคุณเพิ่มไฟล์ไดรเวอร์แล้ว คุณต้องบอกคอมไพเลอร์ว่าไฟล์ส่วนหัวนั้นอยู่ที่ใด ดังนั้นเราต้องกำหนดค่าตัวเลือกคอมไพเลอร์
คลิกขวาที่ตัวเลือก Target1 สำหรับเป้าหมาย "Target1.. " เส้นทางรวม C/C++ ตรวจสอบให้แน่ใจว่าคุณได้รวมพาธของโฟลเดอร์โปรเจ็กต์ของคุณแล้ว เนื่องจากเราคัดลอกไฟล์ไดรเวอร์ไว้ที่นั่น
ขั้นตอนที่ 9: เชื่อมต่อ STM32F407 Discovery Kit ของคุณกับพีซี/แล็ปท็อป
ขั้นตอนที่ 10: เลือก ST-Link Debugger ใน Compiler Configuration
คลิกขวาที่ Target1 จากนั้นคลิกที่ Option for Target "Target1.. " จากนั้นไปที่แท็บ Debug แล้วเลือก ST-Link-Debugger ตามที่แสดงในภาพด้านบน
ขั้นตอนที่ 11: กำหนดค่า ST-Link Debugger
หลังจากเลือก ST-Link Debugger ในขั้นตอนที่ 10 แล้ว ให้คลิกที่ Settings จากนั้นเลือก Trace และตรวจสอบฟิลด์ทั้งหมดตามที่แสดงในภาพด้านบน
ขั้นตอนที่ 12: สร้างและอัปโหลดโค้ด
หลังจากเสร็จสิ้นขั้นตอนทั้งหมดแล้ว ให้สร้างโครงการและตรวจดูให้แน่ใจว่าไม่มีข้อผิดพลาดในโค้ด หลังจากคอมไพล์สำเร็จแล้ว ให้อัปโหลดโค้ดไปยัง Discovery Kit
ขั้นตอนที่ 13: แค่นั้นแหละ !!! เพียงรีเซ็ต STM32F407 MCU และใช้โทรศัพท์มือถือ
ฉันได้รวมวิดีโอสาธิตของโครงการนี้
ขั้นตอนที่ 14: บันทึกย่อและข้อมูลการดีบัก
- ฉันแนะนำให้คุณเปิดโมดูล GSM ก่อนแล้วรอสักครู่ เพราะเมื่อคุณเปิดโมดูล GSM จะต้องเชื่อมต่อกับผู้ให้บริการเครือข่าย ขึ้นอยู่กับคุณภาพ/ความแรงของสัญญาณ โมดูล GSM อาจใช้เวลาในการเชื่อมต่อ
- ฉันได้ทดสอบผลลัพธ์ใน "อินเดีย" นอกจากนี้ เพื่อความง่าย ฉันได้ฮาร์ดโค้ดรหัสเคาน์ตี (+91 สำหรับอินเดีย) ในไฟล์ไดรเวอร์ "GSM_A6_Driver_STM32F407.c" หากคุณอยู่ในประเทศอื่น โปรดเพิ่มรหัสประเทศของคุณตามที่ไฮไลต์ในภาพด้านบน