標(biāo)題:
stm32單片機(jī)點(diǎn)個(gè)led,內(nèi)存地址有個(gè)疑問
[打印本頁]
作者:
nanshancc
時(shí)間:
2022-9-2 14:39
標(biāo)題:
stm32單片機(jī)點(diǎn)個(gè)led,內(nèi)存地址有個(gè)疑問
板子是stm32F103C8T6最小系統(tǒng)
#define PERIPH_BASE ((unsigned int)0x40000000)
#define APB1PERIPH_BASE (PERIPH_BASE + 0x20000)
#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)
#define GPIOC_BASE (APB2PERIPH_BASE + 0x1000)
#define GPIOC_CRL *(unsigned int*)(GPIOC_BASE + 0x00)
#define GPIOC_CRH *(unsigned int*)(GPIOC_BASE + 0x04)
#define GPIOC_ODR *(unsigned int*)(GPIOC_BASE + 0x0c)
#define GPIOC_BSRR *(unsigned int*)(GPIOC_BASE + 0x10)
#define RCC_BASE (APB1PERIPH_BASE + 0x1000)
#define RCC_APB2ENR *(unsigned int*)(RCC_BASE + 0x18)
main.c:
RCC_APB2ENR |= 1<<4;
GPIOC_CRH &=~(0x0f<<(4*6));
GPIOC_CRH |=(0x01<<(4*6));
GPIOC_BSRR = (1<<(14));//通過置位寄存器設(shè)置1改變C14引腳輸出高電平
while(1){
}
運(yùn)行結(jié)果沒問題,通過仿真調(diào)試查看內(nèi)存地址 0x4001100c, 這個(gè)應(yīng)該就是實(shí)際的數(shù)據(jù)地址吧,就是GPIOC_ODR吧? 那值應(yīng)該是 40 00...(0100 0000..)呀,但是怎么跑到地址 0x4001100d去了?如果要加上高16位的話,也應(yīng)該是 00 00 40 00...呀?是怎么回事呀
stm32.PNG
(10.99 KB, 下載次數(shù): 16)
下載附件
2022-9-2 14:34 上傳
作者:
vca
時(shí)間:
2022-9-2 17:52
因?yàn)椴捎玫氖切《四J剑?0 00在內(nèi)存里會(huì)以00 40的方式存儲(chǔ)
作者:
XLinliY.Zhang
時(shí)間:
2022-9-2 18:13
32位的數(shù)據(jù),有高位在前、低位在前的問題吧
作者:
大漠落日
時(shí)間:
2022-9-2 19:42
你沒有接觸過不同的系統(tǒng)吧,大小端問題很普遍,每次換平臺(tái)要先確認(rèn)一下
作者:
yzwzfyz
時(shí)間:
2022-9-3 08:19
芯片實(shí)際內(nèi)存小于程序指定的內(nèi)存時(shí),高位部分截除。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1