มาขอทำการ แนะนำผู้เริ่มต้นใหม่ STM32F4 discovery โดยkeil บทที่1

Started by deejun, August 21, 2013, 09:35:38 AM

Previous topic - Next topic

Gainnear

ดีครับ ผมซื้อ Board มาดองไว้นานยังไม่ได้ทำอะไรเลย 555+

deejun

Quote from: superkai on August 22, 2013, 11:44:42 AM
NXP อยู่ไหนหว่า??
(NXP อยู่แถวดอนเมืองครับ ไกล้ๆ มก)

ไม่มีบอดท์เล่นครับ  และที่สำคัญราคาเป็นปัจจัยในการเล่นเป็นหลักครับ
เท่าที่ค้นหามาแต่ละค่าย ไม่ใช่หน้าม้า ไม่อยากโปรโมทแบนไหน แต่ทาง NXP ทำราคาไม่โดนใจเท่าค่ายอื่น
หาของก็ยาก ทั้งๆ Fab อยู่ไกล้แค่แถวดอนเมืองเอง  แต่ไม่ทราบว่าเป็นฐานของ cortex หรือไม่   
...
NXP,ATmel, ก็ดังทั้งนั้นครับ
แต่ สิ่งที่ทำให้คนรู้จักเป็นพวก บอดราคาถูก   ถ้าทำเดโม่บอด 300-600 ผมว่ากำลังซื้อมีมาก
แต่ทำมา 10xx-1xxxx บาท  คงหาคนเล่นลำบาก 

Ti เองก็ยังปรับตัว ทำราคาต่ำออกจำหน่าย แน้นขาย IC มากกว่า ขายชุดทดลอง
ซึ่งแต่ก่อน Ti ขายอะไรแต่ละอย่างราคาหนาวๆทั้งนั้น  Freescale ก็ปรับราคาลง ตามๆกัน เพื่อแย่งการตลาด
St ทำราคาตีตลาด ทำราคาIC ตกกระจาย ข้อดีคือผู้บริโภคได้ของที่ราคาถูก คุณภาพดี
...
cortex เดี๋ยวนี้ความเร็วสูง ราคาถูกลงมาก ใส่ฟังก์ชันครบ DSP, FPU, ทำให้  ตัว DSP MPU แท้ๆ
ราคาตกลงตาม  เดโม่ราคาก็ไม่แรง  หลักร้อยเล่นได้ บิว้  jtag debug พร้อม
...
และที่สำคัญ ต้องมีข้อมูลให้ผู้บริโภคเยอะๆ หรือตัวอย่างที่หลากหลาย
...



AppleIIe

Quote from: deejun on August 22, 2013, 10:14:31 AM
ปัญหาการเรียนรู้ปัจจุบัน  ผมรู้สึกว่าเราต้องไปอาศัย LIB ของทาง ST มากเกินไป เวลาทำอะไรยุ่งยาก สำหรับคนจะเริ่มต้นใหม่
แต่ถ้าคนเป็นแล้ว อาจจะบอกว่าง่ายๆ  ดึงๆมาใช้ปรับเล็กน้อย ก็ใช้ได้  แต่ผมคิดว่า  กว่าท่านจะได้และพูดว่ามันง่าย ผมว่ามัน
ก็ใช้เวลานานมาก แต่ท่านลืมช่วงเวลาเรียนรู้ไป  หรือทาง ST อาจจะเจาะกลุ่มฐานคนใช้งานที่ไม่จำเป็นเข้าถึงฮาดแวร์มากเกินไป
เมื่อเป็นดังนี้   กลายเป็นว่าจะศึกษาMCU ค่ายไหน  ก็จะต้องไปศึกษา แบบฟรอม ของภาษาทาง LIB ของค่ายนั้นๆ มันยุ่งยาก
ซึ่ง  MCU ของแต่ละค่าย ไม่ได้หนีกันมาก   ต่างกันแค่ Speed และ Module ที่เพิ่มเช่น ADC, I2C, DAC เป็นต้นครับ
แต่พื้นฐานของMCU ผมว่าหมือนกัน มี Timer/Counter ,Uart , GPIO,  ดังนั้น รูปแบบภาษาซี + เซ็ทค่าทางรีจีสเตอร์
ทุกค่ายจะเหมือนกัน  สิ่งที่เรียนรู้เพิ่มคือชื่อของ รีจิสเตอร์นั้นๆ ที่จะใช้ การเปิดปิด โมดูลนั้นๆ  และการทำงานของตัวโมดูล
จะย้ายค่าย  ผมว่าสบายมันไปได้เร็ว แค่ชื่อ และการเซ็ทที่ต่างการ แต่แบบฟรอมการทำงานของโมดูลไม่ต่างกัน  ถ้าเป็นใช้
LIB เวลาเปลี่ยนค่ายที   ก็ต้องไปศึกษาใหม่แบบฟรอมภาษาของค่ายนั้นๆ (ภาษาซีฐาน+แบบฟรอมภาษาLIBค่ายนั้น+รีจิสเตอร์ )
ถ้าเราไม่ใช้ LIB  จะได้ (ภาษาซีฐาน+รีจิสเตอร์)ที่ต้องเรียนรู้   และทำให้คนเรียนรู้ว่ากำลังทำอะไรกับตัว รีจิสเตอร์ เพื่อให้ทำงาน

อีกอย่างเวลาค้นหาคำสั่งจะเจอแต่รูปแบบภาษาใช้ LIB  มากมาย  ค้นหาเป็นแบบคำสั่งรีจิสเตอร์มันมีน้อย ตัวอย่างน้อยมาก
ผมจึงค่อยๆทดลองคำสั่ง และตัวอย่างที่ได้จากโลกออนไลน์  มาเป็นบล็อกโมดูล เพื่อที่จะเป็นตัวอย่างให้คนที่ต้องการศึกษา
ดูรูปแบบ และเอาไปดัดแปลงใช้งานได้  ทำให้ง่าย เข้าใจได้ไม่ยาก แต่ก็ต้องมีพื้นเขียน MCU มาบ้าง มาแบบเป็น 0 เลยไม่ได้

มันอาจจะดู  รกตา ในการเขียนหัวข้อนึง ต่อกระทู้นึงก็ต้องกราบขอโทษไว้ ณ ที่นี้ด้วยครับ  แต่ผมต้องการจะแบ่งเป็นกลุ่ม
เวลาจะอัปเดทในเรื่องนั้นๆ จะได้ไปเข้ากลุ่มนั้นได้เลย เพราะถ้าจับยำทีเดียว ไว้หลายๆหัวเรื่อง เวลาค้นหาในกูเกิล อาจจะไม่เจอ
และบางคนต้องการแค่อยากรู้บางเรื่อง จะได้เร็วในการค้นหา ในเรื่องที่ต้องการ

อาจจะไม่ใช่ตัวอย่างที่ดี  ถูกหลักการโปรแกรมหมด แต่ต้องการแบ่งปันคนที่ต้องการศึกษา เห็นข้อด้อยก็เอาไปปรับใช้ให้ดีขึ้นครับ
ต้องคลานก่อนเดิน  และก็เดินให้เป็นก่อนจะไปวิ่งแข่งได้ครับ 

จากการเรียนรู้ที่ผ่านมา
TI                LM3S8962    ข้อมูลหาง่าย ตัวอย่างเยอะ  ตัวอุ่นๆ เวลาทำงาน   ราคาตามแบนด์   โปร์ดัก(USA)
ST               STM32F10XVBT6  ข้อมูลหาง่าย  ตัวอย่างเยอะ  ราคาถูก คุณภาพดี IC เย็น (เทียบค่ายกัน) โปร์ดัก (France)
ST               STM32F407VG     ข้อมูลหาปานกลาง  ตัวอย่างดูจาก LIB ST เอา คุณภาพดี IC เย็น (เทียบค่ายกัน) โปร์ดัก (France)
Freescale     MK60DN512  ข้อมูลหาปานกลาง  ตัวอย่างประปาย  IC ตัวอุ่นๆ เวลาทำงาน   โปร์ดัก(USA)
Fujitsu         MB9B504N    ข้อมูลหาได้น้อย  ตัวอย่างประปาย อาศัย Example (Es)  IC ตัวอุ่นๆ เวลาทำงาน   โปร์ดัก(Japan) 
Infineon       XMC4500      ข้อมูลหายากต้องดูจากโค๊ดตัวอย่างในการศึกษา ออกมาไม่นาน ใช้ก่อน เป็นก่อน  โปร์ดัก(Germany)

ติดตามผลงานท่านมาตลอดนะครับ ขอบคุณท่านมากๆในทุกๆข้อมูล ผมชอบนะครับ ท่านนี่เป็น Hero ตัวจริงเลย  :)
"Stay Hungry, Stay Foolish"
จงกระหาย และ ทำตัวโง่ให้ตลอดเวลา
"Innovation distinguishes between a leader and a follower."
นวัตกรรมแยกผู้นำกับผู้ตามออกจากกัน

คนฉลาด...ต้องโง่เป็น คนโง่ไม่เป็น...จะไม่มีทางฉลาด


tha

ขอบคุณที่แนะนำครับ คือผมศึกษา stm32 เริ่มจากหนังสือ stm32 ของ Inex ทำให้ติดการใช้ Library ตามหนังสือแล้วก็ดูตัวอย่าง Library ของ ST เขาด้วย ก็ยากและไม่เข้าใจลึกอย่างคุณว่าอาศัยการจำเอา มาตอนช่วงหลังนี่เริ่มอ่าน data sheet ทำให้ดู bit Registers ของ Module ต่างๆเปรียบเทียบกันกับ Library ของ ST ว่าการเขียน Library แบบนี้หมายถึงการเซ็ต bit register บิตนี้เป็น 1 หรือ 0 ทำให้เข้าใจตัว stm32 ได้ลึกขึ้น แต่ก็ติดรูปแบบการใช้ Library อยู่ดี คุณ Deejun ทำตัวอย่างมาให้ดูแบบนี้ดีมากเลยครับทำให้รู้ถึง register เลยแต่ก็ต้องดู data sheet ตามกันมากไปด้วย ดูว่าบิตไหนเป็นบิตไหน แต่ถ้าเป็นแล้วผมว่าก็จะทำให้เราเข้าใจ stm32 ได้จะแจ้งทีเดียว แต่ว่าการเริ่มต้นที่ F4 เลยดูมันจะยากไปหน่อย ถ้ามีเวลาทำตัวอย่าง F1 ด้วยก็ดีครับ ถ้ามีเวลาผมก็จะศึกษาตามด้วยเหมือนกันครับ ส่วนการย้ายค่ายนั้นยังไมได้คิดครับ stm32f1 ยังไม่ค่อยแน่นเลยครับ แน่นแล้วไม่แน่

deejun

Quote from: tha on August 23, 2013, 01:27:24 PM
ขอบคุณที่แนะนำครับ คือผมศึกษา stm32 เริ่มจากหนังสือ stm32 ของ Inex ทำให้ติดการใช้ Library ตามหนังสือแล้วก็ดูตัวอย่าง Library ของ ST เขาด้วย ก็ยากและไม่เข้าใจลึกอย่างคุณว่าอาศัยการจำเอา มาตอนช่วงหลังนี่เริ่มอ่าน data sheet ทำให้ดู bit Registers ของ Module ต่างๆเปรียบเทียบกันกับ Library ของ ST ว่าการเขียน Library แบบนี้หมายถึงการเซ็ต bit register บิตนี้เป็น 1 หรือ 0 ทำให้เข้าใจตัว stm32 ได้ลึกขึ้น แต่ก็ติดรูปแบบการใช้ Library อยู่ดี คุณ Deejun ทำตัวอย่างมาให้ดูแบบนี้ดีมากเลยครับทำให้รู้ถึง register เลยแต่ก็ต้องดู data sheet ตามกันมากไปด้วย ดูว่าบิตไหนเป็นบิตไหน แต่ถ้าเป็นแล้วผมว่าก็จะทำให้เราเข้าใจ stm32 ได้จะแจ้งทีเดียว แต่ว่าการเริ่มต้นที่ F4 เลยดูมันจะยากไปหน่อย ถ้ามีเวลาทำตัวอย่าง F1 ด้วยก็ดีครับ ถ้ามีเวลาผมก็จะศึกษาตามด้วยเหมือนกันครับ ส่วนการย้ายค่ายนั้นยังไมได้คิดครับ stm32f1 ยังไม่ค่อยแน่นเลยครับ แน่นแล้วไม่แน่
ก็มีครับ แต่เป็น stm32F103VBT6  ตะกูล 32F10x ใช้เหมือนกัน ผมลองทำไว้เป็น บทๆ เป็นตัวอย่าง แต่ละโมดูล
เวลาลืม ผมก็กลับมาดูพวกเก่าๆ  ถ้าไม่ได้ใช้งาน 2-3 อาทิตผมเองก็ลืมครับ มาทวนเก่าๆก็เร็วขึ้น แต่ว่า บอดของ
stm32f1 มันไม่เป็นมาตราฐาน เลยไม่อยากลง เพราะว่า แต่ละคนมีGPIO และ การเชื่อมต่อ ไม่เหมือนกัน บอดต่างบริษัท
กัน  บอดที่ผมเล่น China ออกแบบ ราคาประหยัด  แต่ก็จะนำเสนอแบบกลางๆละกัน เดี๋ยวของปรับ การทำงานก่อนแต่คิด
ว่าจะทำต่างจาก F4 ของเป็นกระทู้เดียวแล้วไล่ดูหัวข้อในนั้นละกันครับ 

มีอีกรุ่นเป็นรุ่นมาตราฐาน STM32F100RBT       24Mhz  บอดของทาง ST เองครับ  น่าจะมีคนเล่นเยอะ เดี๋ยวจะไป
คุ้ยในกล่องเก็บก่อน  พอดีเก็บไว้นานเนื่องจากเป็นลูกเล็ก เห็นclock แค่ 24 Mhz  เลยทอดทิ้ง พูดกันตรงๆๆ  มัวแต่
ไปเล่นของแรง หลง  สปีด  เลยลืม ...   จะพยายามทำขึ้นมาและปรับนำเสนอครับ  น้องๆที่กำลังศึกษาจะได้ไปได้เร็วและ
เก่งๆกัน  อนาคตเราต้องแข่งกับเพื่อนบ้านแบบสุดตัว               


tha

เริ่มอ่านพอจะเข้าใจบ้างแล้ว เดี๋ยวจะลองทำตามดูครับ :D

kiazoo

เจอกระทู้นี้ ฟินน์เลยครับ ได้บอร์ดมาตอนสัมนาไม่ได้จับเลยมัวแต่เล่นกับ AVR ได้ลองกันก็คราวนี้ล่ะครับ แหะๆ
Every thing is possible. www.kzelecshop.com

tha

ลองเปลี่ยนไปทำตัวอย่าง F0,F1,F3 บ้างก็ได้นะครับคุณ deejun พอดีบอร์ด F4 ของผมพังแล้ว โดนปลาย jack adapter 12V ที่ถอดทิ้งไว้ไม่ได้ถอดปลั๊กไปช๊อตที่หลักเทอร์มินอลของบอร์ด สงสัยขั้วบวกโดนหลักนึงขั้วลบไปถูกอีกหลักนึงเลยเสียเลย ทำตามไม่ได้แล้ว  :'(