1. 程式人生 > >GPIOA高8位輸入控制低8位輸出(暫存器操作)

GPIOA高8位輸入控制低8位輸出(暫存器操作)

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; } }