nios - ii - ÈëÃÅÊÖ²á - ͼÎÄ

Ñ¡Ôñinput ports only£¬µã»÷next³öÏÖÈçϽçÃæ¡£

ͼÖÐGenerate IRQΪ²úÉúÖжϣ¬¼´¸Ã¶Ë¿Ú¾ßÓÐÖжϵŦÄÜ¡£Level ΪÖжϵÄÀàÐÍ£¬µçƽÖжÏEdgeΪ±ßÑØÖжϣ¬Ñ¡ÔñµçƽÖжϣ¬×¢Ò⣺µçƽÖжÏĬÈÏÊÇ¸ßµçÆ½ÓÐЧ£¬µã»÷Finish¡£

½Ó×ÅÔÙÅäÖÃÒ»¸öÖ»Êä³öµÄÒý½ÅÀ´ÑéÖ¤ÊÇ·ñ½øÈëÖжϣ¬ÅäÖ÷½·¨ºÍʵÑéÒ»µÄÊÇÏàͬµÄ¡£½Ó×Å×Ô¶¯·ÖÅä»ùµØÖ·£¬ÖжÏÓÅÏȼ¶¿ÉÊÖ¶¯Ð޸ġ£È»ºóµã»÷GenerateÉú³ÉÈíºË¡£

½Ó×ÅÔÚQuartus ii Öе÷ÓÃÈíºË½øÐÐÈçÏÂÁ¬½Ó¡£

½Ó×űàÒ빤³Ì£¬²¢½«Î´Óõ½µÄ¶Ë¿ÚÉèÖÃΪÈý̬ÊäÈë¡£ÉèÖ÷½·¨¼ûͼ3-1Ëùʾ¡£·ÖÅäÒý½Å£¬ÔٴαàÒ빤³Ì£¬½áÊøºó½«³ÌÐòÏÂÔØµ½fpgaÖС£ ´ò¿ªNios iiÈí¼þ£¬°´ÕÕʵÑé1µÄ²½Öè½øÐÐÉèÖ㬴ò¿ªÈí¼þÒԺ󽫳öÏÖ3-2ËùʾµÄ½çÃæ¡£Ê×ÏȱàÒ빤³Ì£¬½Ó׎«ÔÚSystem.hÖпÉÒÔ¿´¼ûÈçϳÌÐò

#define INTRERR_NAME \ #define INTRERR_TYPE \ #define INTRERR_BASE 0x01001000 #define INTRERR_SPAN 16 #define INTRERR_IRQ 1

#define INTRERR_IRQ_INTERRUPT_CONTROLLER_ID 0 #define INTRERR_DO_TEST_BENCH_WIRING 0 #define INTRERR_DRIVEN_SIM_VALUE 0 #define INTRERR_HAS_TRI 0 #define INTRERR_HAS_OUT 0 #define INTRERR_HAS_IN 1 #define INTRERR_CAPTURE 0 #define INTRERR_DATA_WIDTH 1 #define INTRERR_RESET_VALUE 0 #define INTRERR_EDGE_TYPE \ #define INTRERR_IRQ_TYPE \

#define INTRERR_BIT_CLEARING_EDGE_REGISTER 0

¿ÉÒÔ¿´¼ûINTRERR_IRQ 1Óëͼ4-1ÖÐËùʾµÄINTRERRµÄÖжÏÓÅÏȼ¶Ò»

ÑùµÄ£¬¶¼Îª1¡£½ÓÏÂÀ´½²½âÒ»ÏÂNios iiµÄÓ²¼þÖжϣ¬Ê×ÏȽéÉÜÒ»ÏÂÓëÓ²¼þÖжÏÏà¹ØµÄÄÚÈÝ£¬ÈÃÓû§¶Ô Nios ii µÄÓ²¼þÖжÏÓÐÒ»¸ö¸ÅÀ¨ÐÔµÄÁ˽⡣

ISR(Interrupt Service Routine)ÖжϷþÎñº¯ÊýÊÇΪӲ¼þÖжϷþÎñµÄ×Ó³ÌÐò¡£Nios ii´¦ÀíÆ÷Ö§³Ö32 ¸öÓ²¼þÖжϣ¬Ã¿Ò»¸öʹÄÜÁ˵ÄÓ²¼þÖж϶¼Ó¦¸ÃÓÐÒ»¸öISRÓëÖ®¶ÔÓ¦¡£

ÖжϲúÉúʱ£¬Ó²¼þÖжϴ¦ÀíÆ÷»á¸ù¾Ý¼ì²âµ½µÄÓÐЧÖжϼ¶±ð£¬µ÷ÓÃÏàÓ¦µÄ ISRΪÆäÖжϷþÎñ¡£

ÒªÍê³ÉÓ²¼þÖжϹ¤×÷£¬ÐèÒª×öÁ½¼þÊ£º

µÚÒ»£¬×¢²áÖжϺ¯ÊýISR,ËüµÄÔ­º¯ÊýÐÍÈçÏÂËùʾ£º Int

alt_irq_register(alt_u32

id,

void*

context,

void(*handler)

(void*,alt_u32));

id£ºÖжÏÓÅÏȼ¶£¬¼´Ëù×¢²áµÄISRÊÇΪÄĸöÖжÏÓÅÏȼ¶µÄÖжϷþÎñµÄ¡£ÖжÏÓÅÏȼ¶ÔÚ SOPC Builder ÖзÖÅäµÄ£¬ÈçÏÂͼËùʾºìȦ±êʾ¡£ ÖжϵÄÓÅÏȼ¶¿ÉÈËΪÐ޸ģ¬0µÄÓÅÏȼ¶×î¸ß¡£

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)