欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1907|回復: 4
收起左側

stm32單片機點個led,內存地址有個疑問

[復制鏈接]
ID:1028013 發表于 2022-9-2 14:39 | 顯示全部樓層 |閱讀模式
板子是stm32F103C8T6最小系統

#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));//通過置位寄存器設置1改變C14引腳輸出高電平
        
        
                while(1){
                }
運行結果沒問題,通過仿真調試查看內存地址 0x4001100c, 這個應該就是實際的數據地址吧,就是GPIOC_ODR吧? 那值應該是 40 00...(0100 0000..)呀,但是怎么跑到地址 0x4001100d去了?如果要加上高16位的話,也應該是 00 00 40 00...呀?是怎么回事呀
stm32.PNG
回復

使用道具 舉報

ID:550613 發表于 2022-9-2 17:52 | 顯示全部樓層
因為采用的是小端模式,40 00在內存里會以00 40的方式存儲
回復

使用道具 舉報

ID:771630 發表于 2022-9-2 18:13 | 顯示全部樓層
32位的數據,有高位在前、低位在前的問題吧
回復

使用道具 舉報

ID:195496 發表于 2022-9-2 19:42 | 顯示全部樓層
你沒有接觸過不同的系統吧,大小端問題很普遍,每次換平臺要先確認一下
回復

使用道具 舉報

ID:123289 發表于 2022-9-3 08:19 | 顯示全部樓層
芯片實際內存小于程序指定的內存時,高位部分截除。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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