|
發(fā)布時(shí)間: 2024-1-2 08:25
正文摘要:新手,做了一個(gè)用紅外光發(fā)射接收管做輸入,用用STC8G1K08A-8P做控制輸出一個(gè)低電平的程序,就是發(fā)射接收中間有東西,STC8G1K08A-8P的P33就輸出低電平。 電路和程序做好之后,實(shí)際測(cè)試發(fā)現(xiàn)STC8G1K08A-8P的P55輸入低 ... |
lkc8210 發(fā)表于 2024-1-2 15:53 確定了,就是延時(shí)這里有問題,程序邏輯沒有問題,出問題的是賦的初值,3000只有大約1mS左右,而不是我想的3秒,但我一直當(dāng)是3秒,,學(xué)藝不精害人, 再次感謝大佬, |
|
我這樣寫,while(--HVDTcnt); 它應(yīng)該延時(shí)才對(duì),好像也沒延時(shí), 所以就改成這樣了 while(--HVDTcnt) { HV_OUT = 0; //輸出低 } 這 樣,好像就是一下子就出去了,問題應(yīng)該就是出在這兒,明天改成delay1ms()再試 |
Lthrwy 發(fā)表于 2024-1-2 13:46 應(yīng)為那斷 while(--HVDTcnt) { HV_OUT = 0; //輸出低 } 沒加延時(shí) 所以幾十毫秒后就會(huì)跳出循環(huán) 在循環(huán)里加個(gè)delay1ms()延時(shí)就可以了 |
lkc8210 發(fā)表于 2024-1-2 10:55 感謝大佬回復(fù),中斷是打開了的,在主程序里面打開的,現(xiàn)在上傳的是修改后的,可以有反應(yīng)了,但是時(shí)間很短,但其實(shí)程序里寫了如果P55低電平,P32就輸出低電平3秒時(shí)間,就是沒找到它為什么不能延時(shí)3秒的原因 |
|
你的接收處理代碼在中斷里運(yùn)行 但又不開啟中斷 當(dāng)然沒反應(yīng)
|
Powered by 單片機(jī)教程網(wǎng)