我在做TFTLCD的实验,在MININ上上可以显示,我自己做了一个32ZET6的板,为了上层布线方便,我想把所有的IO都改了,但是就是不显示,一直白屏。改成这样可以吗?
// GPIOB->CRL=0X88888888; //PB0-7 ????????
// GPIOB->CRH=0X88888888; //PB8-15 ????????
// GPIOB->ODR=0X0000; //????????0
GPIOA->CRH&=0XF0FFFFFF;
GPIOA->CRH|=0X08000000;
GPIOA->ODR&=0<<14; //????????0
GPIOB->CRL&=0X0FFFFFFF; //PB7 9
GPIOB->CRH&=0XFFFFFF0F;
GPIOB->CRL|=0X80000000; //PB7 9
GPIOB->CRH|=0X00000080; //
GPIOB->ODR&=0<<7; //????????0
GPIOB->ODR&=0<<9;
GPIOC->CRH&=0XF0F00F0FF; //PC10 12 13 15
GPIOC->CRH|=0X080880800; //PC10 12 13 15
GPIOC->ODR&=0<<10; //????????0
GPIOC->ODR&=0<<12;
GPIOC->ODR&=0<<13;
GPIOC->ODR&=0<<15;
GPIOD->CRL&=0X0F0F0F0F; //PD 1 3 5 7
GPIOD->CRL|=0X80808080; //PD 1 3 5 7
GPIOD->ODR&=0<<1; //????????0
GPIOD->ODR&=0<<3;
GPIOD->ODR&=0<<5;
GPIOD->ODR&=0<<7;
GPIOE->CRL&=0XFF0F0F0F; //PE 1 3 5
GPIOE->CRL|=0X00808080; //PE 1 3 5
GPIOE->ODR&=0<<1; //????????0
GPIOE->ODR&=0<<3;
GPIOE->ODR&=0<<5;
GPIOF->CRL&=0XFFFFFF0F; //PF1
GPIOF->CRL|=0X00000080; //PF1
GPIOF->ODR&=0<<1; //????????0
GPIOG->CRH&=0XFFFFF0FF; //PG10
GPIOG->CRH|=0X00000800; //PG10
GPIOG->ODR&=0<<10; //????????0
//GPIOB->CRL=0X33333333; //PB0-7 ????????
//GPIOB->CRH=0X33333333; //PB8-15 ????????
//GPIOB->ODR=0XFFFF; //??????????
GPIOA->CRH&=0XF0FFFFFF; //PA14
GPIOA->CRH|=0X03000000; //PA14
GPIOA->ODR|=1<<14; //????????
GPIOB->CRL&=0X0FFFFFFF; //PB7 9
GPIOB->CRH&=0XFFFFFF0F;
GPIOB->CRL|=0X30000000; //PB7 9
GPIOB->CRH|=0X00000030; //
GPIOB->ODR|=1<<7; //????????
GPIOB->ODR|=1<<9;
GPIOC->CRH&=0X0F00F0FF;
GPIOC->CRH|=0X30330300; //PC10 12 13 15
GPIOC->ODR|=1<<10; //????????
GPIOC->ODR|=1<<12;
GPIOC->ODR|=1<<13;
GPIOC->ODR|=1<<15;
GPIOD->CRL&=0X0F0F0F0F;
GPIOD->CRL|=0X30303030; //PD 1 3 5 7
GPIOD->ODR|=1<<1; //????????
GPIOD->ODR|=1<<3;
GPIOD->ODR|=1<<5;
GPIOD->ODR|=1<<7;
GPIOE->CRL&=0XFF0F0F0F;
GPIOE->CRL|=0X00303030; //PE 1 3 5
GPIOE->ODR|=1<<1; //????????
GPIOE->ODR|=1<<3;
GPIOE->ODR|=1<<5;
GPIOF->CRL&=0XFFFFFF0F;
GPIOF->CRL|=0X00000030; //PF1
GPIOF->ODR|=1<<1; //????????
GPIOG->CRH&=0XFFFFF0FF;
GPIOG->CRH|=0X00000300; //PG10
GPIOG->ODR|=1<<10; //????????
#define DATAOUT(x) { GPIOA->ODR=((GPIOA->ODR&=0xBFFF)|(x&0x4000));\
GPIOB->ODR=((GPIOB->ODR&=0XFD7F)|(x&0x0280));\
GPIOC->ODR=((GPIOC->ODR&=0X4BFF)|(x&0xB400));\
GPIOD->ODR=((GPIOD->ODR&=0XFF99)|(x&0x0066));\
GPIOE->ODR=((GPIOE->ODR&=0XFFD9)|(x&0x0026));\
GPIOF->ODR=((GPIOF->ODR&=0XFFFD)|(x&0x0002));\
GPIOG->ODR=((GPIOG->ODR&=0XFBFF)|(x&0x0400));\
} //????????
#define DATAIN (GPIOA->IDR&0X4000)|(GPIOB->IDR&0X0280)|(GPIOC->IDR&0XB400)|(GPIOD->IDR&0X0066)|(GPIOE->IDR&0X0026)|(GPIOF->IDR&0X0002)|(GPIOG->IDR&0X0400); //????????
////////////////////////
|