亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
stm32開啟IO口時鐘和設置開樓為何只能放在循環內部?
[打印本頁]
作者:
1124649516
時間:
2025-12-25 12:50
標題:
stm32開啟IO口時鐘和設置開樓為何只能放在循環內部?
學習stm32,現在學理解寄存器,頭文件是空的,SystemInit函數也是空的。
剩下的部分我寫了兩個:第一個開啟IO口時鐘和設置輸出模式放在循環內部 小燈閃爍;
第二個開啟IO口時鐘和設置輸出模式放在循環外部 小燈不閃爍。
一直沒搞懂這是為什么?求助大佬解惑!
#include "stm32f10x.h"
void SystemInit(void)
{
// 函數體為空,使用內部HSI 8MHz時鐘
}
int main(void)
{
volatile int i;
while(1)
{
// 1. 開啟GPIOB時鐘
*(unsigned int*)0x40021018 |= (1 << 3);
// 2. 配置PB0為開漏輸出,10MHz速度
*(unsigned int*)0x40010c00 |= (1 << (4*0));
// LED亮(低電平)
*(unsigned int*)0x40010c0c &= ~(1 << 0);
for(i = 0; i < 1000000; i++);
// LED滅(高電平)
*(unsigned int*)0x40010c0c |= (1 << 0);
for(i = 0; i < 1000000; i++);
}
}
復制代碼
#include "stm32f10x.h"
void SystemInit(void)
{
// 函數體為空,使用內部HSI 8MHz時鐘
}
int main(void)
{
volatile int i;
// 1. 開啟GPIOB時鐘
*(unsigned int*)0x40021018 |= (1 << 3);
// 2. 配置PB0為開漏輸出,10MHz速度
*(unsigned int*)0x40010c00 |= (1 << (4*0));
while(1)
{
// LED亮(低電平)
*(unsigned int*)0x40010c0c &= ~(1 << 0);
for(i = 0; i < 1000000; i++);
// LED滅(高電平)
*(unsigned int*)0x40010c0c |= (1 << 0);
for(i = 0; i < 1000000; i++);
}
}
復制代碼
作者:
rundstedt
時間:
2025-12-26 15:22
仿真器打斷點看亮滅語句執行了沒有。
作者:
GlenXu
時間:
2026-1-2 08:15
放到int main(void)前面試試。
作者:
GlenXu
時間:
2026-1-2 08:18
有可能這個:沒有輸出,是靠上面的開路才輸出的
// LED亮(低電平)
*(unsigned int*)0x40010c0c &= ~(1 << 0);
for(i = 0; i < 1000000; i++);
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1