久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2435|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

關(guān)于STM32單片機(jī)矩陣鍵盤(pán)+步進(jìn)電機(jī)模擬電梯運(yùn)行的問(wèn)題求助

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:955316 發(fā)表于 2021-8-10 09:35 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
使用stm32f103c8t6最小系統(tǒng)板控制步進(jìn)電機(jī)正反轉(zhuǎn)函數(shù):  //此函數(shù)來(lái)自某位大佬寫(xiě)的,不是我寫(xiě)的。就是傳入方向和角度來(lái)控制它正反轉(zhuǎn)以及旋轉(zhuǎn)角度。然后我寫(xiě)了一個(gè)主函數(shù),獲取矩陣鍵盤(pán)的鍵值,設(shè)置默認(rèn)樓層為1樓,當(dāng)按鍵按下,比較按下的樓層與默認(rèn)樓層的大小,大于就是正轉(zhuǎn),小于反轉(zhuǎn),此時(shí)默認(rèn)樓層變?yōu)楫?dāng)前按下的樓層,等待下次按鍵輸入,在進(jìn)行比較。之后燒錄代碼的時(shí)候,發(fā)現(xiàn)步進(jìn)電機(jī)會(huì)一直轉(zhuǎn)動(dòng),不會(huì)停下來(lái),按下按鍵是,可以到達(dá)相應(yīng)角度,但之后又繼續(xù)超正方向轉(zhuǎn)動(dòng),求大佬講解一下為什么會(huì)這樣,小白一個(gè),求大佬不吝賜教。大哭!!!!
void Motor_Ctrl_Direction_Angle(int direction, int angle)
{
        u16 j;
        if(direction == 1)
        {
                for(j=0;j<64*angle/45;j++)
                {
                        MotoRccw();//正轉(zhuǎn)
                }
                 MotorStop();//停止
  }
        else
        {
                for(j=0;j<64*angle/45;j++)
                {
                        MotoRcw();//反轉(zhuǎn)
                }
                 MotorStop();//停止
        }
}

寫(xiě)了一個(gè)主函數(shù):
int main(void)
{
         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
         uart_init(9600);            
   Key_Init();  //矩陣鍵盤(pán)初始化
   Moto_Init();//步進(jìn)電機(jī)初始化      
   delay_init();
   int beg = 1; //設(shè)置默認(rèn)樓層為1
   int des ;
   int dir;
   int ang;      
        while(1)
        {
                des = Key_Scan();   //獲取按下矩陣鍵盤(pán)的鍵值               
    if (des > beg){
                         dir = 1;  
       //print("電機(jī)正轉(zhuǎn)")                       
                   ang = (des - beg)*45;  //電機(jī)旋轉(zhuǎn)角度
                }
                else if(des == beg){
                         //print("無(wú)需移動(dòng)");
                   continue;
                       
                }
                else{
                    dir = 0;
                          //printf("電機(jī)反轉(zhuǎn)")  
                          ang = (beg - des)*45;  //電機(jī)旋轉(zhuǎn)角度
                }
                    beg = dir;  //默認(rèn)樓層為當(dāng)前按鍵按下的樓層
        Motor_Ctrl_Direction_Angle(dir,ang);  // 啟動(dòng)電機(jī)
        // printf("當(dāng)前樓層為:%d",beg);               
    }
      
}


燒錄之后,發(fā)現(xiàn)步進(jìn)電機(jī)一直旋轉(zhuǎn),按下按鍵后,它可以旋轉(zhuǎn)規(guī)定的角度,但是旋轉(zhuǎn)完成后,它繼續(xù)往正方向旋轉(zhuǎn)。哪位大佬幫我解釋一下為什么會(huì)這樣,感激不盡
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:958755 發(fā)表于 2021-8-10 17:00 | 只看該作者
也是一樣,原理都懂,就是轉(zhuǎn)不起來(lái)
回復(fù)

使用道具 舉報(bào)

板凳
ID:234075 發(fā)表于 2021-8-10 17:33 | 只看該作者
應(yīng)該是while(1)內(nèi)循環(huán)邏輯問(wèn)題,最后為什么“beg = dir;  //默認(rèn)樓層為當(dāng)前按鍵按下的樓層”,dir只是判斷正反轉(zhuǎn)的變量,應(yīng)該是“beg = des;  //默認(rèn)樓層為當(dāng)前按鍵按下的樓層”吧。
回復(fù)

使用道具 舉報(bào)

地板
ID:234075 發(fā)表于 2021-8-10 17:48 | 只看該作者
調(diào)用別人的程序最好先驗(yàn)證程序是否在你的硬件環(huán)境能夠正常運(yùn)行,設(shè)置不同的鍵值,分別驗(yàn)證調(diào)用程序能否正常正反轉(zhuǎn)和停止;再使用printf輸出打印驗(yàn)證你的while(1)運(yùn)行輸出參數(shù)是否正確,最后再加入調(diào)用的動(dòng)作函數(shù);有些問(wèn)題需要自己進(jìn)行判斷和查找bug
回復(fù)

使用道具 舉報(bào)

5#
ID:161164 發(fā)表于 2021-8-10 17:51 | 只看該作者
                    beg = dir;  //默認(rèn)樓層為當(dāng)前按鍵按下的樓層
???
dir 不是方向嗎?
應(yīng)該是beg = des;  //默認(rèn)樓層為當(dāng)前按鍵按下的樓層
回復(fù)

使用道具 舉報(bào)

6#
ID:188940 發(fā)表于 2021-10-8 15:55 | 只看該作者
你有矩陣鍵盤(pán)的程序嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 高清人人天天夜夜曰狠狠狠狠 | 亚洲国产欧美一区 | 亚洲毛片在线观看 | 精品无码久久久久国产 | 欧美精品二区 | 91久久久久久久久久久久久 | 欧美日韩一| 四虎永久免费地址 | 色综合视频| 欧美国产在线一区 | 中文在线视频观看 | 91精品国产乱码久久久久久 | 免费观看日韩av | 99视频在线免费观看 | 亚洲午夜精品在线观看 | 成人小视频在线观看 | 亚洲国产小视频 | 日韩区 | 一区二区三区四区国产 | 国产精品片| 免费特级黄毛片 | 亚洲国产精品激情在线观看 | 午夜视频一区二区三区 | av一区二区三区四区 | 毛片久久久 | 国产福利在线播放麻豆 | 福利精品 | 国产午夜精品久久久 | 99久久婷婷国产综合精品电影 | 久久久久久国产精品久久 | 国产色婷婷精品综合在线播放 | 中国一级特黄真人毛片 | 国产视频亚洲视频 | 国产91黄色 | 青青久草| 99国产精品久久久久老师 | 国产精品v| 欧美一区二区三区在线观看视频 | 91久久久久| 草草草影院 | 日本一区二区电影 |