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

QQ登錄

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

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

利用STM32外部中斷和霍爾傳感器寫(xiě)的電機(jī)測(cè)速程序 求幫助

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:539559 發(fā)表于 2019-7-19 09:22 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
這是我最近寫(xiě)的利用32外部中斷和霍爾傳感器寫(xiě)的電機(jī)測(cè)速源程序,程序運(yùn)行錯(cuò)誤 求幫助
  1. #include "exti.h"
  2. #include "stm32f10x.h"
  3. #include "delay.h"
  4. #include "led.h"
  5. #include "sys.h"

  6. u16 k1 = 0;
  7. u8 k2 = 0;

  8. void EXTIX_Init(void)
  9. {
  10.         GPIO_InitTypeDef GPIO_InitStructure;
  11.         EXTI_InitTypeDef EXTI_InitStructure;
  12.         NVIC_InitTypeDef NVIC_InitStructure;
  13.         
  14.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;                                //初始化IO口
  15.         GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_2 | GPIO_Pin_1;
  16.         GPIO_Init(GPIOF,&GPIO_InitStructure);               
  17.         
  18.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOF, ENABLE);                //開(kāi)啟IO口復(fù)用時(shí)鐘
  19.         
  20.         GPIO_EXTILineConfig(GPIO_PortSourceGPIOF,GPIO_PinSource2);        //        GPIOB2 映射到 中斷線(xiàn)2
  21.         GPIO_EXTILineConfig(GPIO_PortSourceGPIOF,GPIO_PinSource1);        //        GPIOB1 映射到 中斷線(xiàn)1
  22.         
  23.         EXTI_InitStructure.EXTI_Line    = EXTI_Line2;                                //中斷線(xiàn)2
  24.         EXTI_InitStructure.EXTI_LineCmd = ENABLE;                                        //外部中斷使能
  25.         EXTI_InitStructure.EXTI_Mode    = EXTI_Mode_Interrupt;                //模式中斷
  26.         EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;                //下降沿
  27.         EXTI_Init(&EXTI_InitStructure);                                                                //設(shè)定參數(shù)初始化 外部中斷
  28.         
  29.         EXTI_InitStructure.EXTI_Line    = EXTI_Line1;                                //中斷線(xiàn)1
  30.         EXTI_InitStructure.EXTI_LineCmd = ENABLE;                                        //外部中斷使能
  31.         EXTI_InitStructure.EXTI_Mode    = EXTI_Mode_Interrupt;                //模式中斷
  32.         EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;                //下降沿
  33.         EXTI_Init(&EXTI_InitStructure);                                                                //設(shè)定參數(shù)初始化 外部中斷
  34.         
  35.         
  36.         NVIC_InitStructure.NVIC_IRQChannel                                                 = EXTI2_IRQn;                        //通道 外部中斷2
  37.         NVIC_InitStructure.NVIC_IRQChannelCmd                                         = ENABLE;                                //使能
  38.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority         = 2;                                        //搶占優(yōu)先級(jí)
  39.         NVIC_InitStructure.NVIC_IRQChannelSubPriority                         = 1;                                        //響應(yīng)優(yōu)先級(jí)
  40.         NVIC_Init(&NVIC_InitStructure);
  41.         
  42.         NVIC_InitStructure.NVIC_IRQChannel                                                 = EXTI1_IRQn;                        //通道 外部中斷1
  43.         NVIC_InitStructure.NVIC_IRQChannelCmd                                         = ENABLE;                                //使能
  44.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority         = 2;                                        //搶占優(yōu)先級(jí)
  45.         NVIC_InitStructure.NVIC_IRQChannelSubPriority                         = 2;                                        //響應(yīng)優(yōu)先級(jí)
  46.         NVIC_Init(&NVIC_InitStructure);
  47.         
  48. }

  49. void EXTI2_IRQHandler(void)                                                //外部中斷服務(wù)函數(shù)
  50. {
  51. //        k2++;
  52. //        if(k2 >= 13)
  53. //        {
  54. //                k2 = 0;
  55.                 k1++;
  56. //        }
  57.         
  58.         
  59.         EXTI_ClearITPendingBit(EXTI_Line2);                        //清除中斷標(biāo)志位
  60. }

  61. void EXTI1_IRQHandler(void)                                                //外部中斷服務(wù)函數(shù)
  62. {
  63.         k1 = 0;
  64.         
  65.         EXTI_ClearITPendingBit(EXTI_Line1);                        //清除中斷標(biāo)志位
  66. }


復(fù)制代碼
全部資料51hei下載地址:(管理提醒:多人回帖說(shuō)代碼有問(wèn)題,大家不要下載)
外部中斷(電機(jī)測(cè)速).7z (182.49 KB, 下載次數(shù): 125)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:496604 發(fā)表于 2019-7-26 11:37 | 只看該作者
測(cè)不了數(shù)據(jù),都是0
回復(fù)

使用道具 舉報(bào)

板凳
ID:421308 發(fā)表于 2019-7-28 16:43 | 只看該作者
測(cè)不了數(shù)據(jù)啊,
回復(fù)

使用道具 舉報(bào)

地板
ID:484435 發(fā)表于 2019-8-1 11:08 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

5#
ID:593627 發(fā)表于 2019-8-1 15:15 | 只看該作者
代碼可能有問(wèn)題
回復(fù)

使用道具 舉報(bào)

6#
ID:266727 發(fā)表于 2020-3-4 19:22 | 只看該作者
打開(kāi)一看你會(huì)發(fā)現(xiàn)、這只是一個(gè)中斷計(jì)數(shù)
回復(fù)

使用道具 舉報(bào)

7#
ID:567177 發(fā)表于 2020-11-12 22:25 | 只看該作者
這個(gè)代碼逗我玩呢,沒(méi)有霍爾模塊
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表