亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

stm32開啟IO口時鐘和設置開樓為何只能放在循環(huán)內部?

[復制鏈接]
跳轉到指定樓層
樓主
ID:1117224 發(fā)表于 2025-12-25 12:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
學習stm32,現在學理解寄存器,頭文件是空的,SystemInit函數也是空的。
剩下的部分我寫了兩個:第一個開啟IO口時鐘和設置輸出模式放在循環(huán)內部 小燈閃爍;
                                   第二個開啟IO口時鐘和設置輸出模式放在循環(huán)外部 小燈不閃爍。
                                   一直沒搞懂這是為什么?求助大佬解惑!
  1. #include "stm32f10x.h"

  2. void SystemInit(void)
  3. {
  4.     // 函數體為空,使用內部HSI 8MHz時鐘
  5. }

  6. int main(void)
  7. {
  8.     volatile int i;
  9.    
  10.     while(1)
  11.     {
  12.         // 1. 開啟GPIOB時鐘
  13.         *(unsigned int*)0x40021018 |= (1 << 3);
  14.    
  15.         // 2. 配置PB0為開漏輸出,10MHz速度
  16.         *(unsigned int*)0x40010c00 |= (1 << (4*0));  
  17.         
  18.         // LED亮(低電平)
  19.         *(unsigned int*)0x40010c0c &= ~(1 << 0);
  20.         for(i = 0; i < 1000000; i++);
  21.         
  22.         // LED滅(高電平)
  23.         *(unsigned int*)0x40010c0c |= (1 << 0);
  24.         for(i = 0; i < 1000000; i++);
  25.     }
  26. }
復制代碼
  1. #include "stm32f10x.h"

  2. void SystemInit(void)
  3. {
  4.     // 函數體為空,使用內部HSI 8MHz時鐘
  5. }

  6. int main(void)
  7. {
  8.     volatile int i;
  9.    
  10.      // 1. 開啟GPIOB時鐘
  11.      *(unsigned int*)0x40021018 |= (1 << 3);
  12.    
  13.      // 2. 配置PB0為開漏輸出,10MHz速度
  14.      *(unsigned int*)0x40010c00 |= (1 << (4*0));  
  15.         
  16.     while(1)
  17.     {
  18.         // LED亮(低電平)
  19.         *(unsigned int*)0x40010c0c &= ~(1 << 0);
  20.         for(i = 0; i < 1000000; i++);
  21.         
  22.         // LED滅(高電平)
  23.         *(unsigned int*)0x40010c0c |= (1 << 0);
  24.         for(i = 0; i < 1000000; i++);
  25.     }
  26. }
復制代碼


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

使用道具 舉報

沙發(fā)
ID:879809 發(fā)表于 2025-12-26 15:22 | 只看該作者
仿真器打斷點看亮滅語句執(zhí)行了沒有。
回復

使用道具 舉報

板凳
ID:469589 發(fā)表于 2026-1-2 08:15 | 只看該作者
放到int main(void)前面試試。
回復

使用道具 舉報

地板
ID:469589 發(fā)表于 2026-1-2 08:18 | 只看該作者
有可能這個:沒有輸出,是靠上面的開路才輸出的
       // LED亮(低電平)
        *(unsigned int*)0x40010c0c &= ~(1 << 0);
        for(i = 0; i < 1000000; i++);
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

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