STM32F3 get adc error

Started by ch25, February 22, 2017, 05:33:43 PM

Previous topic - Next topic

ch25

ผมใช้ STM32F3 มีปัญหากับ ADC บางบอร์ดก็อ่านได้ บางบอร์ดอ่านไม่ได้ ดูที่การบัดกรีก็ไม่มีปัญหาอะไร
   if (HAL_ADC_Start(&hadc3) != HAL_OK)
  {           
   putsUART3("ADC3 Error \n");
       //  Error_Handler();         
  }
  else
   putsUART3("ADC3 Success \n");

บอร์ดที่อ่านได้มัน จะ Success ส่วนที่อ่านไม่ได้มันจะ Error จะต้องแก้ยังไงให้อ่านได้ ครับ หรือเป็นที่ ฮาร์ดแวร์

TaoTao

โค้ดที่ให้มา อ่านแล้ว @_@!
ผมก็เพิ่งหัดใช้ HAL Lib เหมือนกัน
;D

แนวทางที่ผมเคยโคดมานะครับ
ผมว่าสั่งให้มันทำจนเสร็จจริงๆ ก่อน จะดีกว่าครับ
แล้ว เอาค่านั้น มาเก็บในตัวแปรที่เราสร้างไว้
อาจเป็น Array ถ้ามีหลาย Channel

เพราะ ADC มันผ่านหลายขั้นตอน ใช้หลายคล็อกมาก
ซึ่ง กว่าจะเสร็จ ก็กินเวลาพอควรเลยนะ
หลาย Channel ก็ หลาย micro sec แน่ๆ

โปรเจคก่อนหน้านี้ ผมใช้ 32F051 ก็ปกติดีครับ
(ใช้เพราะมันมี DAC 555+)
โดยให้มันเก็บค่า Analog หลายๆ แหล่ง วนๆ ไป
แล้วเก็บอัตโนมัติ ในโหมด DMA
พอค่าใน DMA ถูกอัพเดท
ก็เอามาเก็บในตัวสแปรที่สร้างไว้
แล้วก็ค่อยเอามาใช้