[求助] STM32 GPIOA&B寄存器初值问题

15369350004   2016-8-12 21:49 楼主
刚才可能没说清楚,小弟用硬件调试,只接了最小系统板,无外设,寄存器初值有问题,多次尝试仍然同样结果,换板子还是一样,网上仿佛并没有人有这个问题?问题初值如下,求原因
GPIOA->CRH为0x88844444
GPIOA->ODR为0x0000A000
GPIOB->CRL为0x44484444
GPIOA->ODR为0x00000010

回复评论 (9)

源程序:
#include
int main(void)
{
        RCC->APB2ENR|=1<<2;
        GPIOA->CRH&=0x00;
        RCC->APB2ENR|=1<<3;
        GPIOB->CRL&=0x00;
        GPIOA->ODR|=0xFF;
        GPIOB->ODR|=0xFF;
        while(1);
}
点赞  2016-8-12 21:52
和手册描述不一致,还是?能不能正常配置。能配置,功能正常,就不用管那么多。
点赞  2016-8-12 22:10
引用: ienglgge 发表于 2016-8-12 22:10
和手册描述不一致,还是?能不能正常配置。能配置,功能正常,就不用管那么多。

不一致啊,正确的应该是
GPIOA->CRH为0x44444444
GPIOA->ODR为0x00000000
GPIOB->CRL为0x44444444
GPIOA->ODR为0x00000000
点赞  2016-8-12 22:23
引用: ienglgge 发表于 2016-8-12 22:10
和手册描述不一致,还是?能不能正常配置。能配置,功能正常,就不用管那么多。

而且除了GPIOA、B其他的都正常
点赞  2016-8-12 22:24
你只要知道io口默认是弱上拉的高电平就行了
点赞  2016-8-13 13:03
引用: huo_hu 发表于 2016-8-13 13:03
你只要知道io口默认是弱上拉的高电平就行了

手册上说CRH CRL默认值是0x44444444
由此推断io口不是应该默认是悬空状态的输入吗
点赞  2016-8-13 14:28
无所谓吧,反正都要初始化
点赞  2016-8-13 17:13
引用: huo_hu 发表于 2016-8-13 17:13
无所谓吧,反正都要初始化

嗯,实际上也是,但是就是搞不懂为什么这样,出现了不该出现的情况
点赞  2016-8-13 23:45
真是踏破铁鞋无觅处,得来全不费工夫啊,终于搞清楚了,原来是JTAG原因
点赞  2016-8-15 14:26
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复