คำถามติดแท็ก code-design

2
การออกแบบการเข้ารหัส C - ตัวชี้ฟังก์ชั่น?
ฉันมีPIC18F46K22และตั้งโปรแกรมด้วยคอมไพเลอร์ XC8 ในท้ายที่สุดผมจะมีระบบเช่นเครื่องคอมพิวเตอร์ด้วยและstdin stdoutดังนั้นในลูปหลักจะมีฟังก์ชันที่ตรวจสอบว่ามีอินพุตใหม่หรือไม่ หากมีการป้อนข้อมูลฟังก์ชั่นจะถูกเรียกตาม ตัวอย่างเช่นเมื่อฉันป้อน A บนstdinPIC จะเรียกใช้ฟังก์ชันเช่นfunction_Aแทนที่จะfunction_Bเรียกว่าเมื่อฉันป้อน a เมื่อ PIC เสร็จสิ้นด้วยฟังก์ชั่นฉันต้องการให้อินพุตใหม่ถูกส่งไปยังฟังก์ชั่น ดังนั้นเมื่อกด A จะเปิดตัวส่งสัญญาณ RS232 จากช่วงเวลานั้นทุกอินพุตจะถูกส่งผ่าน RS232 ในที่สุดโครงการนี้เป็นโปรแกรมแก้ไขข้อความแบบสแตนด์อโลน ดังนั้นเมื่อกด A จะเป็นการเปิดระบบไฟล์จากช่วงเวลานั้นคุณจะไม่แก้ไขข้อความอีกต่อไป แต่ลองดูรายการไฟล์ต่างๆ นั่นหมายความว่าการกดขึ้นและลงหมายถึงสิ่งที่แตกต่างจากในสภาพแวดล้อมการแก้ไขข้อความ ฉันได้คิดมากเกี่ยวกับวิธีการเขียนโปรแกรมใน C. ฉันคิดว่าเมื่อคืนนี้และอยากจะรู้ว่าเป็นไปได้หรือไม่และถ้าเป็นเช่นนั้น สิ่งที่ฉันต้องการจะทำคือ: mainเรียกฟังก์ชันการทำงานเช่นfunction_A function_Aเปลี่ยนตัวแปรโกลบอลfunction_addrเป็นตัวชี้แอดเดรสของฟังก์ชันin_function_A จากช่วงเวลานั้นmainเรียกใช้ฟังก์ชันfunction_addrเมื่อมีอินพุตใหม่ สิ่งที่ฉันต้องการคือmainฟังก์ชั่นที่ตรวจสอบว่าfunction_addrเป็นศูนย์หรือไม่ ถ้ามันเป็นฟังก์ชั่น 'ปกติ' function_Aควรจะเรียกว่าเหมือน ถ้าไม่ใช่ฟังก์ชันที่function_addrควรจะถูกเรียก ฉันยังต้องfunction_Aซึ่งการเปลี่ยนแปลงที่จะชี้ไปยังfunction_addrin_function_A หมายเหตุ: เมื่อควรปิดฟังก์ชั่นระบบแฟ้มis_function_Aควรเปลี่ยนfunction_addrเป็น 0 ดังนั้นโดยทั่วไปคำถามของฉันคือฉันจะทำอย่างไร รับที่อยู่ของฟังก์ชั่น (และเก็บไว้ในตัวแปร) เรียกใช้ฟังก์ชันตามที่อยู่ที่ระบุ

2
ความแตกต่างระหว่างคำสั่ง If-else และคำสั่ง Case ใน VHDL
ฉันต้องการเข้าใจว่าการสร้างโครงสร้างในโค้ด VHDL แตกต่างกันอย่างไรใน RTL ทุกคนสามารถบอกความแตกต่างระหว่างโครงสร้างIf-Elseและ คำสั่ง Caseของกระบวนการใน VHDL ในแง่ของวิธีการที่โค้ดถูกอนุมานในวงจร RTL โดยเครื่องมือสังเคราะห์ได้หรือไม่ พิจารณากรณีของหลาย ๆ if-else ที่ซ้อนกันและผสม case-statement ด้วย if-elseสร้างขึ้นภายในกระบวนการ นอกจากนี้เมื่อใดที่จะใช้สิ่งก่อสร้าง? PS: ฉันได้เห็นคำถามที่เกี่ยวข้อง "หลายถ้างบในกระบวนการใน vhdl" แต่ที่ไม่ตอบคำถามของฉันในอย่างไรก็ตาม
11 vhdl  code-design  rtl 

5
มีไลบรารีโอเพ่นซอร์สสำหรับ VHDL สำหรับ C ++ หรือ python หรือไม่?
เมื่อฉันเข้าใกล้ปัญหาใน C ++ หรือ python มีหลายไลบรารีที่มีอยู่ซึ่งทำให้รหัสของฉันหนักขึ้น ฉันกำลังคิดถึงGNU GSL , BOOSTหรือ FFTW สำหรับ C ++ และ NumPy หรือ SciPy สำหรับ python ในหลาย ๆ ทางความจริงที่ว่าทรัพยากรเหล่านี้มีอยู่ทำให้การเขียนโค้ดในภาษาที่เกี่ยวข้องเหล่านี้มีมูลค่าเนื่องจากห้องสมุดป้องกันไม่ให้คุณต้องเขียนสิ่งที่ต่ำทั้งหมดตั้งแต่เริ่มต้น ไลบรารีมาตรฐาน IEEE ดูเหมือนจะครอบคลุมเฉพาะพื้นฐานมาก ๆ เช่นชนิดข้อมูล (เรียงลำดับคล้ายกับ lib มาตรฐาน C) ดูเหมือนว่าใน VHDL คุณสามารถซื้อ / หา "IP Cores" บางอย่างที่จะแก้ปัญหาแทนที่จะใช้ไลบรารีโอเพ่นซอร์ส ในไพ ธ อนถ้าฉันต้องการพูดคุยกับอุปกรณ์แบบอนุกรมฉันเพียงimport serialและฉันก็ทำโดยทั่วไป ใน VHDL ฉันอาจจะเขียนโพรโทคอลแบบอนุกรมตั้งแต่เริ่มต้นหรือฉันต้องไปที่ google บนที่เก็บต่างๆจนกว่าฉันจะพบใครบางคนที่ผลิตงานบางอย่างที่เรียงลำดับ จากนั้นฉันจะทำการแก้ไขโค้ดในโครงการของฉันแทนที่จะรวมเอาบางสิ่งและเรียกสิ่งนั้น …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.