|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
IRQ端口可以用來做紅外線接受嗎? |
| 作者:zhoudajia 欄目:單片機 |
拜求各位高手幫忙,IRQ端口可以用來做紅外線接受嗎?用C語言怎么讀呢? |
| 2樓: | >>參與討論 |
| 作者: 張明峰 于 2007/1/10 13:06:00 發(fā)布:
肯定可以 用C語言的話必須編一小段匯編程序來判讀IRQ引腳狀態(tài)。 |
|
| 3樓: | >>參與討論 |
| 作者: zhoudajia 于 2007/1/10 13:49:00 發(fā)布:
是只能用"BIH和BIL指令嗎? |
|
| 4樓: | >>參與討論 |
| 作者: zhoudajia 于 2007/1/10 13:57:00 發(fā)布:
張明峰?張老師,是您嗎? 您就是<<PIC單片機入門與實戰(zhàn)>>的作者張明峰老師嗎?一年前我買過你的書, 我覺得你出的書是單片機書中水平最高的。 您如果您能再出一本HC08的書,那有多好! |
|
| 5樓: | >>參與討論 |
| 作者: 張明峰 于 2007/1/10 15:05:00 發(fā)布:
是啊 IRQ引腳狀態(tài)測試必須用專用的匯編指令,故C語言沒有現(xiàn)成的語句與之對應(yīng)?梢詤⒖枷旅娴拇a byte GetIRQ(void) { asm { bil _IRQ_0 lda #1 rts //IRQ=1, return(1) _IRQ_0: } return(0); //IRQ=0, return(0) } void TEST(void) { if (GetIRQ()) { //IRQ=1 ; } else { //IRQ=0 ; } } |
|
| 6樓: | >>參與討論 |
| 作者: zhoudajia 于 2007/1/10 15:14:00 發(fā)布:
太好了,謝謝張老師! |
|
| 7樓: | >>參與討論 |
| 作者: gtw 于 2007/1/11 12:39:00 發(fā)布:
啊呀,這兒又見到了LS的垃圾貼 關(guān)于判斷IRQ引腳電平問題 codewarrior里面有專門的宏來解決,可以在C中直接使用 |
|
| 8樓: | >>參與討論 |
| 作者: gtw 于 2007/1/11 14:37:00 發(fā)布:
如下 Intrinsic Functions ANSI-C does not provide a mechanism to efficiently read a processor flag. Read Processor Flags To avoid using HLI for this purpose, the Compiler offers a set of intrinsic functions. The code of these functions is inlined. The processor flags listed in Table 8.3 are read by the associated intrinsic function. Table 8.3 Read Processor Flags Flag Flag Abbreviation Intrinsic Function NAME Carry C __isflag_carry() Half carry H __isflag_half_carry() Overflow V __isflag_overflow() Interrupt pin high I __isflag_int() Interrupt enable M __isflag_int_enabled() Example: if(__isflag_carry()) goto label translates to a conditional branch to 'label', i.e., branches if the carry flag are set (for HC08, the resulting code is BCS label). |
|
| 9樓: | >>參與討論 |
| 作者: gtw 于 2007/1/11 14:38:00 發(fā)布:
編譯時出現(xiàn)警告可忽略 |
|
| 10樓: | >>參與討論 |
| 作者: gtw 于 2007/1/11 18:31:00 發(fā)布:
__isflag_int() 在C中判斷IRQ電平就可以用 if ( __isflag_int() ){ } |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號 |