GPIOA高8位輸入控制低8位輸出(暫存器操作)
阿新 • • 發佈:2019-02-17
int main()
{
GPIOA->CRH = 0x44444444;
GPIOA->CRL = 0x33333333;
while(1)
{
if((GPIOA->IDR & 0x0100) == 0x0100)
GPIOA->BSRR = 0x01;
else
GPIOA->BRR = 0x01;
if((GPIOA->IDR & 0x0200) == 0x0200)
GPIOA->BSRR = 0x02;
else
GPIOA->BRR = 0x02;
if((GPIOA->IDR & 0x0400) == 0x0400)
GPIOA->BSRR = 0x04;
else
GPIOA->BRR = 0x04;
if((GPIOA->IDR & 0x0800) == 0x0800)
GPIOA->BSRR = 0x08;
else
GPIOA->BRR = 0x08;
if((GPIOA-> IDR & 0x1000) == 0x1000)
GPIOA->BSRR = 0x10;
else
GPIOA->BRR = 0x10;
if((GPIOA->IDR & 0x2000) == 0x2000)
GPIOA->BSRR = 0x20;
else
GPIOA->BRR = 0x20;
if((GPIOA->IDR & 0x4000) == 0x4000)
GPIOA->BSRR = 0x40;
else
GPIOA->BRR = 0x40;
if((GPIOA->IDR & 0x8000) == 0x8000)
GPIOA->BSRR = 0x80;
else
GPIOA->BRR = 0x80;
}
}