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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5536|回復: 0
打印 上一主題 下一主題
收起左側

stm32用寄存器編程方法配置GPIO引腳為浮空輸入的時候程序會卡在那條語句上

[復制鏈接]
跳轉到指定樓層
樓主
ID:228154 發表于 2017-8-17 19:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題,我在用tcs230模塊時,用寄存器編程的時候,在配置GPIO引腳的時候發現程序會卡死在配置浮空輸入的那條語句上下面是我用來配置GPIO引腳的函數,前面的推挽輸出都是正常的,但是到了配置浮空輸入的時候就卡住了(PB15腳)
求大神幫我看看到底是怎么回事(使用串口輸出的用來調試用的,忽略掉就可以了)
還有就是我的tcs230模塊的OE引腳好像始終是低電平,根本不受程序的控制,我在用51和用固件庫編程的時候都是這樣,是硬件本身就是這樣的嗎?

  1. static void TCS230_GPIO_Init(void) {
  2.         RCC->APB2ENR|=1<<3;             //使能PORTA接口時鐘
  3.   
  4.                 USART1->DR=0x30;
  5.           while((USART1->SR&0X40)==0);       
  6.         GPIOB->CRH&=0XFFFFF0FF;
  7.         GPIOB->CRH|=0X00000300;         //PB10推挽輸出
  8.         GPIOB->ODR|=1<<2;               //PB10輸出高電平
  9.        
  10.                 USART1->DR=0x31;
  11.           while((USART1->SR&0X40)==0);       
  12.         GPIOB->CRH&=0XFFFF0FFF;
  13.         GPIOB->CRH|=0X00003000;         //PB11推挽輸出
  14.         GPIOB->ODR|=1<<3;               //PB11輸出高電平
  15.        
  16.                 USART1->DR=0x32;
  17.           while((USART1->SR&0X40)==0);       
  18.         GPIOB->CRH&=0XFFF0FFFF;
  19.         GPIOB->CRH|=0X00030000;         //PB12推挽輸出
  20.         GPIOB->ODR|=1<<4;               //PB12輸出高電平

  21.                 USART1->DR=0x33;
  22.           while((USART1->SR&0X40)==0);
  23.         GPIOB->CRH&=0XFF0FFFFF;
  24.         GPIOB->CRH|=0X00300000;         //PB13推挽輸出
  25.         GPIOB->ODR|=1<<5;               //PB13輸出高電平

  26.                 USART1->DR=0x34;
  27.           while((USART1->SR&0X40)==0);       
  28.         GPIOB->CRH&=0XF0FFFFFF;
  29.         GPIOB->CRH|=0X03000000;         //PB14推挽輸出
  30.         GPIOB->ODR|=1<<6;               //PB14輸出高電平       

  31.                 USART1->DR=0x35;
  32.           while((USART1->SR&0X40)==0);
  33.         GPIOB->CRH&=0X0FFFFFFF;
  34.                 USART1->DR=0x40;
  35.           while((USART1->SR&0X40)==0);
  36.         GPIOB->CRH|=0X40000000;                     //PB15浮空輸入,是外部中斷的輸入線,但是程序到了這一步后會卡死,不知道是什么原因
  37.                
  38.                 USART1->DR=0x36;
  39.           while((USART1->SR&0X40)==0);
  40. }
復制代碼




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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表