我在 atollic true studio ide 上进行 stm32f030r8 arm 编程。
我从 idr 寄存器读取正确数据时遇到了一些问题。
我制作了 GPIOB(0,1,2,3) 的下拉 PUPR 寄存器。
GPIOB的其他引脚是我用MODER寄存器制作的输出。
当我每次读取 F 值时都在循环下读取 idr 数据但没有任何输入。
请帮我解决这个问题[
#include "main.h"
int main(void)
{
volatile static uint16_t PortDataInput=0x00;
RCC->CR|=(uint32_t)0xF1; //set hsi clock source and with max speed
GPIOB->PUPDR|=0xAA; //set firt 4 bit of gpiob as pull down
GPIOB_RCC->AHBENR|=(1<<18); //enable gpiob clock source
GPIOB->MODER|=0x55555500; //set firt 4 bit of gpiob as input
GPIOB->OTYPER|=0x00000000; //set output pins of gpiob as push pull
while (1)
{
PortDataInput=GPIOB->IDR;
PortDataInput&=0xF;
}