คำถามติดแท็ก hal-library

1
การระบุแอดเดรสรีจิสเตอร์ด้วยไลบรารี I2C STM32F0 HAL
ฉันใหม่มากที่ใช้ห้องสมุด CUBE และ HAL_l ฉันกำลังใช้ไมโครคอนโทรลเลอร์ STM32F0 กับ 32 พิน แผนผังสำหรับ I2C นั้นถูกต้อง ดังนั้นฉันต้องการความช่วยเหลือเล็กน้อยที่นี่ ฉันมีเซ็นเซอร์ capacitive ( FDC1004 ) ที่ใช้การสื่อสาร I2C ฉันต้องเขียนรีจิสเตอร์เหล่านี้เพื่ออ่านข้อมูล ฉันจะส่งต้นแบบแบบฟอร์มคำขอเริ่มไปยังทาสอย่างถูกต้องได้อย่างไร (ที่อยู่สลาฟคือ A0) วิธีการตั้งค่าพอยน์เตอร์เป็น 0x0C register? แผ่นข้อมูลเห็น (ลงทะเบียน 0x0C: บิต [7: 4]) ถึง 1) ฉันไม่รู้วิธีการทำเช่นนั้น? และในที่สุดวิธีการอ่านจากการลงทะเบียนเดียวกัน? นอกจากนี้ฉันต้องรอฟิลด์ DONE_x (ลงทะเบียน 0x0C: บิต [3: 0]) ก่อนที่ฉันจะอ่านหรือไม่ แต่ฉันไม่รู้ว่าฉันกำลังพูดถึงทะเบียนที่ถูกต้องหรือไม่! เพราะฉันไม่ได้รับข้อมูลใด ๆ กลับมาจากเซ็นเซอร์! นี่คือรหัสของฉัน: …

3
Eclipse + GNU ARM + STM32 - HAL หรือ SPL
ฉันจะเริ่มต้นด้วยการพัฒนา ARM (หลังจากใช้งาน AVR มา 2 ปี) และเลือกบอร์ด STM DISCOVERY ที่มีไมโครโปรเซสเซอร์ stm32f4 อยู่ ฉันตัดสินใจที่จะไปกับ eclipse + ARM gcc เนื่องจากฉันไม่ชอบขีด จำกัด โค้ดบน Keil และฉันไม่มีเงินที่จะได้รับเวอร์ชันที่จ่ายเงิน บทเรียนต่อไปนี้ฉันได้ติดตั้ง eclipse พร้อมกับ gcc ARM tools + openocd + ทำ utils เป็นต้น คำถามของฉันเกี่ยวกับปลั๊กอิน 'แพ็คเกจ' เช่นเดียวกับผู้เริ่มต้นฉันสับสนว่าจะใช้ STM HAL ใหม่หรือ SPL รุ่นเก่า ความเข้าใจของฉันคือ HAL ได้นำเอานามธรรมไปใช้ในระดับที่สามารถเรียกว่า Arduino เทียบเท่ากับแขน ในทางกลับกัน SPL …
10 arm  stm32  gcc  cortex  hal-library 

4
การแปลง ADC STM32 โดยใช้ HAL
ฉันพยายามเรียนรู้วิธีใช้ไลบรารี่ HAL "ใหม่" จาก stm32 เมื่อฉันพยายามแปลง ADC อย่างง่ายมันใช้งานได้เพียงครั้งเดียว แต่ก็หยุดการแปลง ฉันคิดว่าไม่ได้ตั้งค่าสิ้นสุดการแปลง ฉันกำลังใช้บอร์ดค้นพบ STM32f429I ซึ่งมีบอร์ด STM32f429ZI อยู่ โปรดทราบว่าฉันรู้ว่า sprintf เป็นการฝึกที่ไม่ดีและการทำ adc ด้วยการขัดจังหวะนั้นดีกว่าฉันรู้ว่าโปรดอย่าชี้ให้เห็นว่านี่ไม่เกี่ยวข้องกับคำถามฉันแค่ทดสอบ HAL ที่นี่ ดังนั้นคำถามคือทำไมไม่ตั้งค่าสถานะ EOC หรือฉันต้องทำอย่างไรเพื่อให้ใช้งานได้ Googling ไม่ได้ช่วยอะไรมากมายเนื่องจากมีเนื้อหาที่ดีเกี่ยวกับ HAL อยู่เล็กน้อย นี่คือรหัส: __IO uint16_t ADCValue=0; void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc); int main(void) { char str[15]; /* Various initializations */ HAL_ADC_Start(&hadc1); while (1) { if …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.