国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

ELEOK

標題: STM32F103程序兩個燈一亮一滅 每按一下開關(guān) 兩個燈的亮滅狀態(tài)翻轉(zhuǎn) [打印本頁]

作者: 路漫漫    時間: 2020-6-6 23:11
標題: STM32F103程序兩個燈一亮一滅 每按一下開關(guān) 兩個燈的亮滅狀態(tài)翻轉(zhuǎn)
STM32F103設(shè)計電路,在GPIO C口,分別接有一個開關(guān)K1和兩個指示燈LED1和LED2。兩個燈一亮一滅,每按一下開關(guān),兩個燈的亮滅狀態(tài)翻轉(zhuǎn)
  1. #include"stm32f10x.h"
  2. /*pc5green,6red,10button*/
  3. void LED_Init(void)
  4. GPIO_InitTypeDef GPIO_InitStructure;
  5. {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
  6. GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6;
  7. GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

  8. GPIO_InitStructure.GPIO_Mode= GPIO_Mode_Out_PP;//輸出模式

  9. GPIO_Init(GPIOC,&GPIO_InitStructure);      
  10. }
  11. void KEY_Init(void)
  12. {
  13. //定義一個GPIO_InitTypeDef類型的結(jié)構(gòu)體
  14. GPIO_InitTypeDefGPIO_InitStructure;
  15. //開啟GPIO相關(guān)的外設(shè)時鐘
  16. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
  17. //選擇要控制的GPIO引腳
  18. GPIO_InitStructure.GPIO_Pin= GPIO_Pin_10;
  19. //設(shè)置GPIO引腳的輸入模式
  20. GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IPU;//高電平
  21. //調(diào)用庫函數(shù)初始化GPIO
  22. GPIO_Init(GPIOC,&GPIO_InitStructure);
  23. }
  24. int main(void)
  25. {int i;
  26.     LED_Init();
  27.   KEY_Init();
  28. GPIO_ResetBits(GPIOC,GPIO_Pin_5);//green亮
  29.         GPIO_WriteBit(GPIOC,GPIO_Pin_6,Bit_SET);//red滅
  30.     while(1){

  31.         if(!GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_10))
  32.             {
  33.                 GPIO_WriteBit(GPIOC,GPIO_Pin_5,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_5)));
  34.                  for(i=0;i<500000;i++) { } ;
  35.              GPIO_WriteBit(GPIOC,GPIO_Pin_6,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_6)));
  36.                     for(i=0;i<500000;i++) { };

  37.                     }
  38.             }
  39.         }
復制代碼





歡迎光臨 ELEOK (http://m.afoofa.cn/) Powered by Discuz! X5.0