刚才可能没说清楚,小弟用硬件调试,只接了最小系统板,无外设,寄存器初值有问题,多次尝试仍然同样结果,换板子还是一样,网上仿佛并没有人有这个问题?问题初值如下,求原因
GPIOA->CRH为0x88844444
GPIOA->ODR为0x0000A000
GPIOB->CRL为0x44484444
GPIOA->ODR为0x00000010
源程序:
#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);
}
和手册描述不一致,还是?能不能正常配置。能配置,功能正常,就不用管那么多。
手册上说CRH CRL默认值是0x44444444
由此推断io口不是应该默认是悬空状态的输入吗
嗯,实际上也是,但是就是搞不懂为什么这样,出现了不该出现的情况
真是踏破铁鞋无觅处,得来全不费工夫啊,终于搞清楚了,原来是JTAG原因