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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

初學STM32單片機,請求大佬指教

[復制鏈接]
回帖獎勵 5 黑幣 回復本帖可獲得 5 黑幣獎勵! 每人限 1 次(中獎概率 50%)
跳轉到指定樓層
樓主
ID:511875 發表于 2020-2-25 19:32 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
流水燈做成了,但我想讓他全亮全滅弄不通:
#include "stm32f10x.h"

/**
  * @brief  Ö÷oˉêy
  * @param  ÎT
  * @retval ÎT
  */
        #define LED1_TOGGLE            GPIOA->ODR^=GPIO_Pin_0
#define LED1_OFF                GPIOA->BSRR = GPIO_Pin_0
#define LED1_ON                 GPIOA->BRR = GPIO_Pin_0
#define LED2_TOGGLE             GPIOA->ODR^=GPIO_Pin_1
#define LED2_OFF                GPIOA->BSRR = GPIO_Pin_1
#define LED2_ON                 GPIOA->BRR = GPIO_Pin_1
#define LED3_TOGGLE             GPIOA->ODR^=GPIO_Pin_2
#define LED3_OFF                GPIOA->BSRR = GPIO_Pin_2
#define LED3_ON                 GPIOA->BRR = GPIO_Pin_2
#define LED4_TOGGLE             GPIOA->ODR^=GPIO_Pin_3
#define LED4_OFF                GPIOA->BSRR = GPIO_Pin_3
#define LED4_ON                 GPIOA->BRR = GPIO_Pin_3

//ê1óÿaoˉêy
#define LED5_OFF                GPIO_SetBits(GPIOA,GPIO_Pin_4)
#define LED5_ON                 GPIO_ResetBits(GPIOA,GPIO_Pin_4)
#define LED6_OFF                GPIO_SetBits(GPIOA,GPIO_Pin_5)
#define LED6_ON                 GPIO_ResetBits(GPIOA,GPIO_Pin_5)
#define LED7_OFF                GPIO_SetBits(GPIOA,GPIO_Pin_6)
#define LED7_ON                 GPIO_ResetBits(GPIOA,GPIO_Pin_6)
#define LEDALL_OFF              GPIO_SetBits(GPIOA,GPIO_Pin_All)
#define LEDALL_ON               GPIO_ResetBits(GPIOA,GPIO_Pin_All)


void LED_Cfg(void){
     GPIO_InitTypeDef led_gpio;
           SystemInit();
           RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
           led_gpio.GPIO_Pin = GPIO_Pin_All;
        //led_gpio.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3
           //                    | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
           led_gpio.GPIO_Mode = GPIO_Mode_Out_PP;//í¨óøøíÆíìêä3ö
           led_gpio.GPIO_Speed = GPIO_Speed_50MHz;//2MHz
           GPIO_Init(GPIOA,&led_gpio);
           //ÅäÖÃíê3éoó1رÕËùóDLED
           LED1_OFF;
          LED2_OFF;
          LED3_OFF;
          LED4_OFF;
          LED5_OFF;
          LED6_OFF;
          LED7_OFF;
          LEDALL_OFF;
}


void Delay(u32 nCount){
           while(nCount--);
               
}

int main(void)
{
            LED_Cfg();
            while(1){

                               LEDALL_ON;                                Delay(6000000);
                                LEDALL_OFF;
                                Delay(6000000);  燒錄這個程序流水燈不亮

          但以下這個就可以亮


                         /*LED1_ON;
          LED2_ON;
          LED3_ON;
          LED4_ON;
          LED5_ON;
          LED6_ON;
          LED7_ON;
             Delay(6000000);
        LED1_OFF;
          LED2_OFF;
          LED3_OFF;
          LED4_OFF;
          LED5_OFF;
          LED6_OFF;
          LED7_OFF;
        Delay(6000000);*/



                                
                                                               
                                
                                                               
                        }

        
}


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

使用道具 舉報

沙發
ID:168996 發表于 2020-2-25 21:00 | 只看該作者
#define LEDALL_OFF              GPIO_SetBits(GPIOA,GPIO_Pin_All)
#define LEDALL_ON               GPIO_ResetBits(GPIOA,GPIO_Pin_All)
如果前面led受控(可高可低),那么證明GPIO_SetBits、GPIO_ResetBits沒問題,LEDALL_OFF LEDALL_ON 也應該沒問題。
所以我懷疑前面led并非受控,把delay函數優化一下:

void Delay2(u32 nCount){
  u32 tmp=0;
   while(nCount--);
}

試試
回復

使用道具 舉報

板凳
ID:592477 發表于 2020-2-25 22:24 | 只看該作者
全亮和全滅不是已經有了嗎?
#define LEDALL_OFF              GPIO_SetBits(GPIOA,GPIO_Pin_All)
#define LEDALL_ON               GPIO_ResetBits(GPIOA,GPIO_Pin_All)
第一個是全滅,第二個是全亮
回復

使用道具 舉報

地板
ID:698253 發表于 2020-2-25 22:32 | 只看該作者
一共是幾個燈,具體怎么接線
回復

使用道具 舉報

5#
ID:462827 發表于 2020-2-26 01:34 | 只看該作者
沒看到你的GPIO_Pin_All在哪里定義呀
回復

使用道具 舉報

6#
ID:511875 發表于 2020-2-26 08:38 | 只看該作者
hantu 發表于 2020-2-26 01:34
沒看到你的GPIO_Pin_All在哪里定義呀

GPIO_Pin_All是用的庫函數里面的0xFFFF
回復

使用道具 舉報

7#
ID:679425 發表于 2020-2-26 09:05 | 只看該作者
#define LEDALL_OFF              GPIO_SetBits(GPIOA,GPIO_Pin_All)
#define LEDALL_ON               GPIO_ResetBits(GPIOA,GPIO_Pin_All)
回復

使用道具 舉報

8#
ID:229016 發表于 2020-2-26 09:42 | 只看該作者
我個人覺得僅僅流水燈,用這么宏定義有點麻煩了,直接配置結構體就好了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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