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

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

QQ登錄

只需一步,快速開始

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

STM32點(diǎn)亮一個(gè)小燈 在PA.1管腳上,實(shí)現(xiàn)一閃一滅

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:189986 發(fā)表于 2017-5-15 15:27 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
要求led燈管腳在PA.1管腳上,實(shí)現(xiàn)一閃一滅。


下面的程序是別人寫的,我自己都感覺比較復(fù)雜,不過新手看的話應(yīng)該會(huì)比較易懂。
需要注意的地方:
1、開時(shí)鐘和初始化GPIO的順序一定不能弄錯(cuò)
2、操作時(shí)鐘必須開時(shí)鐘和AFIO寄存器才能接著操作GPIO口。
3、STM32和51的程序是可以互相移植的。

  1. #include "stm32f10x_lib.h"//頭文件
  2. void LED_Init(void)
  3. {
  4. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //開 GPIOA 時(shí)鐘
  5.         GPIO_InitTypeDef GPIO_InitStructure;//聲明一個(gè)結(jié)構(gòu)體,名字是GPIO_InitStructure,結(jié)構(gòu)體原型由GPIO_InitTypeDef 確定,stm32里面初始化GPIO用的吧。。設(shè)置完了GPIO_InitStructure里面的內(nèi)容后在GPIO_Init (GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_InitStruct)里面調(diào)用,比如初始化pa口,就是GPIO_Init (GPIOA, &GPIO_InitStructure),括號(hào)里后面那個(gè)就是你問題里面聲明的那個(gè)結(jié)構(gòu)體
  6. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;//設(shè)置led燈連在第二個(gè)管腳
  7. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //GPIO的工作狀態(tài)為推挽輸出
  8. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // GPIO的速率最高輸出速率 50Hz
  9. GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化 GPIOA
  10. }
  11. void Delay(vu32 nCount) //延時(shí)函數(shù),不解釋
  12. {
  13.      for(; nCount != 0; nCount--);
  14. }
  15. main()
  16. {
  17.   LED_Init();
  18. while(1)
  19. {   
  20. GPIO_SetBits(GPIOA, GPIO_Pin_1);//將 GPIO的A端口第二個(gè)管腳置為高電平,即PA.1=1;
  21. Delay(0x8ffff);
  22. GPIO_ResetBits(GPIOA, GPIO_Pin_1);//將 GPIO的 A端口第二個(gè)管腳置為低電平,即PA.1=0;
  23. Delay(0x8ffff);
  24. }
  25. }


  26. #include "stm32f10x.h"

  27. //定義了PA 0-7
  28. #define LED1_OFF GPIO_ResetBits(GPIOA,GPIO_Pin_0);
  29. #define LED1_ON GPIO_SetBits(GPIOA,GPIO_Pin_0);

  30. #define LED2_OFF GPIO_ResetBits(GPIOA,GPIO_Pin_1);
  31. #define LED2_ON GPIO_SetBits(GPIOA,GPIO_Pin_1);

  32. #define LED3_OFF GPIO_ResetBits(GPIOA,GPIO_Pin_2);
  33. #define LED3_ON GPIO_SetBits(GPIOA,GPIO_Pin_2);

  34. #define LED4_OFF GPIO_ResetBits(GPIOA,GPIO_Pin_3);
  35. #define LED4_ON GPIO_SetBits(GPIOA,GPIO_Pin_3);

  36. #define LED5_OFF GPIO_ResetBits(GPIOA,GPIO_Pin_4);
  37. #define LED5_ON GPIO_SetBits(GPIOA,GPIO_Pin_4);

  38. #define LED6_OFF GPIO_ResetBits(GPIOA,GPIO_Pin_5);
  39. #define LED6_ON GPIO_SetBits(GPIOA,GPIO_Pin_5);

  40. #define LED7_OFF GPIO_ResetBits(GPIOA,GPIO_Pin_6);
  41. #define LED7_ON GPIO_SetBits(GPIOA,GPIO_Pin_6);

  42. #define LED8_OFF GPIO_ResetBits(GPIOA,GPIO_Pin_7);
  43. #define LED8_ON GPIO_SetBits(GPIOA,GPIO_Pin_7);

  44. void Delay(__IO uint32_t nCount);
  45. void GPIO_init(void);
  46. void rcc_init(void);
  47. int main(void)
  48. {
  49. rcc_init();
  50. GPIO_init();
  51. while(1)
  52. {
  53. LED1_ON;LED2_OFF;LED3_OFF;LED4_OFF;LED5_OFF;LED6_OFF;LED7_OFF;LED8_OFF;//led1亮
  54. Delay(30000);
  55. LED1_OFF;LED2_ON;LED3_OFF;LED4_OFF;LED5_OFF;LED6_OFF;LED7_OFF;LED8_OFF;//led2亮
  56. Delay(30000);
  57. LED1_OFF;LED2_OFF;LED3_ON;LED4_OFF;LED5_OFF;LED6_OFF;LED7_OFF;LED8_OFF;//led3亮
  58. Delay(30000);
  59. LED1_OFF;LED2_OFF;LED3_OFF;LED4_ON;LED5_OFF;LED6_OFF;LED7_OFF;LED8_OFF;//led4亮
  60. Delay(30000);
  61. LED1_OFF;LED2_OFF;LED3_OFF;LED4_OFF;LED5_ON;LED6_OFF;LED7_OFF;LED8_OFF;//led5亮
  62. Delay(30000);
  63. LED1_OFF;LED2_OFF;LED3_OFF;LED4_OFF;LED5_OFF;LED6_ON;LED7_OFF;LED8_OFF;//led6亮
  64. Delay(30000);
  65. LED1_OFF;LED2_OFF;LED3_OFF;LED4_OFF;LED5_OFF;LED6_OFF;LED7_ON;LED8_OFF;//led7亮
  66. Delay(30000);
  67. LED1_OFF;LED2_OFF;LED3_OFF;LED4_OFF;LED5_OFF;LED6_OFF;LED7_OFF;LED8_ON;//led8亮
  68. Delay(30000);
  69. LED1_OFF;LED2_OFF;LED3_OFF;LED4_OFF;LED5_OFF;LED6_OFF;LED7_ON;LED8_OFF;//led7亮
  70. Delay(30000);
  71. LED1_OFF;LED2_OFF;LED3_OFF;LED4_OFF;LED5_OFF;LED6_ON;LED7_OFF;LED8_OFF;//led6亮
  72. Delay(30000);
  73. LED1_OFF;LED2_OFF;LED3_OFF;LED4_OFF;LED5_ON;LED6_OFF;LED7_OFF;LED8_OFF;//led5亮
  74. Delay(30000);
  75. LED1_OFF;LED2_OFF;LED3_OFF;LED4_ON;LED5_OFF;LED6_OFF;LED7_OFF;LED8_OFF;//led4亮
  76. Delay(30000);
  77. LED1_OFF;LED2_OFF;LED3_ON;LED4_OFF;LED5_OFF;LED6_OFF;LED7_OFF;LED8_OFF;//led3亮
  78. Delay(30000);
  79. LED1_OFF;LED2_ON;LED3_OFF;LED4_OFF;LED5_OFF;LED6_OFF;LED7_OFF;LED8_OFF;//led2亮
  80. Delay(30000);
  81. LED1_OFF;LED2_OFF;LED3_OFF;LED4_OFF;LED5_OFF;LED6_OFF;LED7_OFF;LED8_OFF;//led1亮
  82. }
  83. }

  84. //進(jìn)行GPIO初始化
  85. void GPIO_init(void)
  86. {
  87.     GPIO_InitTypeDef myGPIOA;//初始化
  88.     GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
  89.                myGPIOA.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;
  90. myGPIOA.GPIO_Mode=GPIO_Mode_Out_PP;
  91. myGPIOA.GPIO_Speed=GPIO_Speed_50MHz;
  92. GPIO_Init(GPIOA,&myGPIOA);
  93. }

  94. //開時(shí)鐘和AFIO寄存器
  95. void rcc_init(void)
  96. {
  97.   SystemInit();
  98.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);//開時(shí)鐘
  99. }

  100. //延時(shí)函數(shù)
  101. void Delay(u32 nCount)
  102. {
  103.    u32 x,y;
  104.    for(x=nCount; nCount != 0; nCount--)
  105.    for(y=110;y>0;y--);                     
  106. }  
復(fù)制代碼


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

使用道具 舉報(bào)

沙發(fā)
ID:243748 發(fā)表于 2017-12-14 21:37 來自手機(jī) | 只看該作者
學(xué)習(xí)中
回復(fù)

使用道具 舉報(bào)

板凳
ID:168857 發(fā)表于 2018-1-10 15:39 | 只看該作者
還有更簡單易懂的方法呢
回復(fù)

使用道具 舉報(bào)

地板
ID:18591 發(fā)表于 2019-1-20 21:19 | 只看該作者
感恩~~~~~~~~~~~~~~~~~~
回復(fù)

使用道具 舉報(bào)

5#
ID:554736 發(fā)表于 2019-6-4 15:23 | 只看該作者
老師,我能請(qǐng)教一個(gè)問題嗎?用32編寫點(diǎn)亮一個(gè)LED后讓它熄滅,但是出現(xiàn)了閃爍,這是什么原因造成的呀!
回復(fù)

使用道具 舉報(bào)

6#
ID:379278 發(fā)表于 2019-6-5 11:21 | 只看該作者
緣野666 發(fā)表于 2019-6-4 15:23
老師,我能請(qǐng)教一個(gè)問題嗎?用32編寫點(diǎn)亮一個(gè)LED后讓它熄滅,但是出現(xiàn)了閃爍,這是什么原因造成的呀!

可能是用了while(1)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧洲一级黄 | 亚洲一区二区三区免费 | 国产精品久久亚洲 | 成人在线一区二区 | 亚洲精品久久久久中文字幕欢迎你 | 黄色免费网站在线看 | 欧美午夜一区 | 中文字幕第一页在线 | 国产精品久久久久久福利一牛影视 | 日韩av第一页| 日韩精品在线播放 | 国产精品免费观看 | 高清色视频 | a在线免费观看视频 | 雨宫琴音一区二区在线 | 午夜精品久久久久久久99黑人 | 日本精品999 | 91免费版在线观看 | 日韩av一区二区在线观看 | 久久久精品一区二区三区 | 一级片网址 | 国产欧美一区二区三区免费 | 日本字幕在线观看 | 精品国产伦一区二区三区观看说明 | 亚洲国产成人精品女人久久久野战 | 成人在线不卡 | 超碰97免费 | 成人精品视频在线观看 | 99re在线视频 | 国产一区不卡 | 亚洲国产欧美一区二区三区久久 | 久久国产激情视频 | 久久区二区 | 黄色成人免费在线观看 | 97精品超碰一区二区三区 | 久久精品亚洲国产奇米99 | 成在线人视频免费视频 | 一区二区三区视频在线观看 | 日本黄色影片在线观看 | 久久国产成人精品国产成人亚洲 | 中文字幕一区二区三区四区不卡 |