欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 超聲波模塊,我持續(xù)給trig口高電平,用萬(wàn)用表去測(cè)echo口總為低電平是怎么... [打印本頁(yè)]

作者: 歲晚    時(shí)間: 2022-4-28 15:23
標(biāo)題: 超聲波模塊,我持續(xù)給trig口高電平,用萬(wàn)用表去測(cè)echo口總為低電平是怎么...
求答,我用的是普中的板子
作者: munuc_w    時(shí)間: 2022-4-28 16:41
如果echo口輸出是脈沖的話(huà),應(yīng)該用示波器查看。
作者: lkc8210    時(shí)間: 2022-4-28 18:54
因?yàn)镋cho的高電平時(shí)間是微秒級(jí)別的
萬(wàn)用表反應(yīng)不過(guò)來(lái)
應(yīng)該用邏輯分析議或示波器
作者: zzzadddd    時(shí)間: 2022-4-30 16:01
用示波器查看。
作者: 歲晚    時(shí)間: 2022-5-2 09:50
zzzadddd 發(fā)表于 2022-4-30 16:01
用示波器查看。

哦哦,那請(qǐng)問(wèn)一下,在串口發(fā)送數(shù)據(jù)時(shí)只有插拔送電才會(huì)出現(xiàn)數(shù)據(jù),怎么回事啊,就是接vcc那條杜邦線(xiàn)只有碰一下超聲波的vcc端才會(huì)發(fā)送數(shù)據(jù)這是怎么回事啊?杜邦線(xiàn)直接插到超聲波vcc就不會(huì)發(fā)送數(shù)據(jù)了,trig高低脈沖轉(zhuǎn)換放到while里面和外面都沒(méi)用
作者: lkc8210    時(shí)間: 2022-5-2 14:40
歲晚 發(fā)表于 2022-5-2 09:50
哦哦,那請(qǐng)問(wèn)一下,在串口發(fā)送數(shù)據(jù)時(shí)只有插拔送電才會(huì)出現(xiàn)數(shù)據(jù),怎么回事啊,就是接vcc那條杜邦線(xiàn)只有碰 ...

哦哦,那請(qǐng)問(wèn)一下,在串口發(fā)送數(shù)據(jù)時(shí)只有插拔送電才會(huì)出現(xiàn)數(shù)據(jù),怎么回事啊,
出現(xiàn)什么數(shù)據(jù)?

就是接vcc那條杜邦線(xiàn)只有碰一下超聲波的vcc端才會(huì)發(fā)送數(shù)據(jù)這是怎么回事啊?
發(fā)送什么數(shù)據(jù)?

杜邦線(xiàn)直接插到超聲波vcc就不會(huì)發(fā)送數(shù)據(jù)了,
發(fā)送什么數(shù)據(jù)?

trig高低脈沖轉(zhuǎn)換放到while里面和外面都沒(méi)用
貼代碼


作者: 歲晚    時(shí)間: 2022-5-2 20:43
lkc8210 發(fā)表于 2022-5-2 14:40
哦哦,那請(qǐng)問(wèn)一下,在串口發(fā)送數(shù)據(jù)時(shí)只有插拔送電才會(huì)出現(xiàn)數(shù)據(jù),怎么回事啊,
出現(xiàn)什么數(shù)據(jù)?

出現(xiàn)的是捕獲的高電平時(shí)間



作者: 歲晚    時(shí)間: 2022-5-2 20:58
lkc8210 發(fā)表于 2022-5-2 14:40
哦哦,那請(qǐng)問(wèn)一下,在串口發(fā)送數(shù)據(jù)時(shí)只有插拔送電才會(huì)出現(xiàn)數(shù)據(jù),怎么回事啊,
出現(xiàn)什么數(shù)據(jù)?

出現(xiàn)的是捕獲高電平的時(shí)間


        while(1)
        {

                  GPIO_ResetBits(GPIOB,GPIO_Pin_5);
                        delay_us(30);
                        GPIO_ResetBits(GPIOB,GPIO_Pin_5);
               
                if(TIM_ICUserValueStructure.Capture_FinishFlag == 1)
                {
                        // 計(jì)算高電平時(shí)間的計(jì)數(shù)器的值
                        time = TIM_ICUserValueStructure.Capture_Period * (0xffff+1) +
                               (TIM_ICUserValueStructure.Capture_CcrValue+1);
                       
                        // 打印高電平脈寬時(shí)間
                        printf ( "\r\n測(cè)得高電平脈寬時(shí)間:%d.%d s\r\n",time/TIM_PscCLK,time%TIM_PscCLK );
                       
                        TIM_ICUserValueStructure.Capture_FinishFlag = 0;                       
                }       






void TIM4_IRQHandler(void)
{
        // 當(dāng)要被捕獲的信號(hào)的周期大于定時(shí)器的最長(zhǎng)定時(shí)時(shí),定時(shí)器就會(huì)溢出,產(chǎn)生更新中斷
        // 這個(gè)時(shí)候我們需要把這個(gè)最長(zhǎng)的定時(shí)周期加到捕獲信號(hào)的時(shí)間里面去
        if ( TIM_GetITStatus ( GENERAL_TIM, TIM_IT_Update) != RESET )               
        {       
                TIM_ICUserValueStructure.Capture_Period ++;               
                TIM_ClearITPendingBit ( GENERAL_TIM, TIM_FLAG_Update );                
        }

        // 上升沿捕獲中斷
        if ( TIM_GetITStatus (GENERAL_TIM, GENERAL_TIM_IT_CCx ) != RESET)
        {
                // 第一次捕獲
                if ( TIM_ICUserValueStructure.Capture_StartFlag == 0 )
                {
                        // 計(jì)數(shù)器清0
                        TIM_SetCounter ( GENERAL_TIM, 0 );
                        // 自動(dòng)重裝載寄存器更新標(biāo)志清0
                        TIM_ICUserValueStructure.Capture_Period = 0;
      // 存捕獲比較寄存器的值的變量的值清0                       
                        TIM_ICUserValueStructure.Capture_CcrValue = 0;

                        // 當(dāng)?shù)谝淮尾东@到上升沿之后,就把捕獲邊沿配置為下降沿
                        TIM_OC1PolarityConfig(GENERAL_TIM, TIM_ICPolarity_Falling);
      // 開(kāi)始捕獲標(biāo)準(zhǔn)置1                       
                        TIM_ICUserValueStructure.Capture_StartFlag = 1;                       
                }
                // 下降沿捕獲中斷
                else // 第二次捕獲
                {
                        // 獲取捕獲比較寄存器的值,這個(gè)值就是捕獲到的高電平的時(shí)間的值
                        TIM_ICUserValueStructure.Capture_CcrValue =
                         TIM_GetCapture1 (GENERAL_TIM);

                        // 當(dāng)?shù)诙尾东@到下降沿之后,就把捕獲邊沿配置為上升沿,好開(kāi)啟新的一輪捕獲
                        TIM_OC1PolarityConfig(GENERAL_TIM, TIM_ICPolarity_Rising);
      // 開(kāi)始捕獲標(biāo)志清0               
                        TIM_ICUserValueStructure.Capture_StartFlag = 0;
      // 捕獲完成標(biāo)志置1                       
                        TIM_ICUserValueStructure.Capture_FinishFlag = 1;               
                }

                TIM_ClearITPendingBit (GENERAL_TIM,GENERAL_TIM_IT_CCx);            
        }               
}





作者: 歲晚    時(shí)間: 2022-5-2 21:00
lkc8210 發(fā)表于 2022-5-2 14:40
哦哦,那請(qǐng)問(wèn)一下,在串口發(fā)送數(shù)據(jù)時(shí)只有插拔送電才會(huì)出現(xiàn)數(shù)據(jù),怎么回事啊,
出現(xiàn)什么數(shù)據(jù)?

現(xiàn)在主要我想弄清楚為什么那個(gè)串口不能連續(xù)接收到數(shù)據(jù),只能碰一下接收一個(gè),trig高低電平轉(zhuǎn)換放while里面外面都一樣




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1