关于stm32f103VE 使用FSMC控制LCD 应该如何初始化FSMC??求指点

2019-08-14 07:38发布

原子哥的资料里是103ZE的 可我的只有100脚 没有F G 的管脚啊 那么该怎么配置? ?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
36条回答
hack906447
1楼-- · 2019-08-18 15:44
回复【30楼】八度空间:
---------------------------------
硬件部份使用ili9325 d0-d7
核心用vet6 片選
使用NE1
hack906447
2楼-- · 2019-08-18 18:39
 精彩回答 2  元偷偷看……
hack906447
3楼-- · 2019-08-18 18:58
回复【10楼】_tank_:
---------------------------------
請問你用vet6驅動原子屏io設置是用原子哥後來給你的寄存器版來套用?還是用八度空間的io配置?
月嘉愚生
4楼-- · 2019-08-19 00:24
楼主最终用原子的历程怎么解决的啊,我还是没搞定啊
wazhzhang
5楼-- · 2019-08-19 03:50
改底层接口就好了吧,看来还是选同样的芯片就好了,哪怕贵点,程序可以直接移植啊。
veis
6楼-- · 2019-08-19 07:47
本帖最后由 veis 于 2017-8-18 10:52 编辑
正点原子 发表于 2014-3-5 22:47
我的:
        u16 i;
        RCC->AHBENR|=1<<8;                      //使能FSMC时钟        &n ...

我的不知道为什么不行,
typedef struct
{
        vu16 LCD_REG;
        vu16 LCD_RAM;
} LCD_TypeDef;
//HADDR[27,26]=00 A16
// 1 1111 1111 1110=0x1FFFE                           
#define LCD_BASE        ((u32)(0x60000000 | 0x0001FFFE))

        RCC->AHB1ENR|=0XF<<3;   
        RCC->AHB1ENR|=1<<1;     
        RCC->AHB1ENR|=1<<0;                 
        RCC->AHB3ENR|=1<<0;     
        GPIO_Set(GPIOB,PIN15,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU);                                                
        GPIO_Set(GPIOD,(3<<0)|(3<<4)|(7<<8)|(3<<14),GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);        //PD0,1,4,5,8,9,10,14,15 AF OUT
        GPIO_Set(GPIOE,(0X1FF<<7),GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);                                                //PE7~15,AF OUT
        GPIO_Set(GPIOD,PIN11,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);                                                        //PD11,FSMC_A16
        GPIO_Set(GPIOD,PIN7,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);                                                        //PD7,FSMC_NE1         GPIO_AF_Set(GPIOD,0,12);        //PD0,AF12
         GPIO_AF_Set(GPIOD,1,12);        //PD1,AF12
         GPIO_AF_Set(GPIOD,4,12);        //PD4,AF12
         GPIO_AF_Set(GPIOD,5,12);        //PD5,AF12
         GPIO_AF_Set(GPIOD,8,12);        //PD8,AF12
         GPIO_AF_Set(GPIOD,9,12);        //PD9,AF12
         GPIO_AF_Set(GPIOD,10,12);        //PD10,AF12
         GPIO_AF_Set(GPIOD,14,12);        //PD14,AF12
         GPIO_AF_Set(GPIOD,15,12);        //PD15,AF12
        
        GPIO_AF_Set(GPIOD,7,12);        //PD7,AF12
         GPIO_AF_Set(GPIOD,11,12);        //PD11,AF12
        
        
         GPIO_AF_Set(GPIOE,7,12);        //PE7,AF12
         GPIO_AF_Set(GPIOE,8,12);        //PE8,AF12
         GPIO_AF_Set(GPIOE,9,12);        //PE9,AF12
         GPIO_AF_Set(GPIOE,10,12);        //PE10,AF12
         GPIO_AF_Set(GPIOE,11,12);        //PE11,AF12
         GPIO_AF_Set(GPIOE,12,12);        //PE12,AF12
         GPIO_AF_Set(GPIOE,13,12);        //PE13,AF12
         GPIO_AF_Set(GPIOE,14,12);        //PE14,AF12
         GPIO_AF_Set(GPIOE,15,12);        //PE15,AF12
        
         
                           
        FSMC_Bank1->BTCR[0]=0X00000000;
        FSMC_Bank1->BTCR[1]=0X00000000;
        FSMC_Bank1E->BWTR[0]=0X00000000;

        FSMC_Bank1->BTCR[0]|=1<<12;               
        FSMC_Bank1->BTCR[0]|=1<<14;               
        FSMC_Bank1->BTCR[0]|=1<<4;                             
                                            
        FSMC_Bank1->BTCR[1]|=0<<28;                                                                                    
        FSMC_Bank1->BTCR[1]|=0XF<<0; //HCLK 1/168M=6ns*15=90ns        
        
        FSMC_Bank1->BTCR[1]|=60<<8;          //HCLK=6*60=360ns

        FSMC_Bank1E->BWTR[0]|=0<<28;                                                            
        FSMC_Bank1E->BWTR[0]|=9<<0;                //HCLK=54ns
         
        FSMC_Bank1E->BWTR[0]|=8<<8;         //HCLK=54ns

        FSMC_Bank1->BTCR[0]|=1<<0;                //使能BANK1,区域1

一周热门 更多>