OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4008|回复: 2

STM32407ZETK 驱动液晶屏RA8875,FSMC NE1 A16,FSMC一直不正常,各位大神帮我看看

[复制链接]

2

主题

3

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2018-9-25
在线时间
5 小时
发表于 2018-9-25 11:07:44 | 显示全部楼层 |阅读模式
1金钱
//        static u16 id,id2;
        RCC->AHB1ENR|=0XF<<3;            //ê1&#196;üPD,PE,PF,PGê±&#214;ó  
        RCC->AHB1ENR|=1<<1;             //ê1&#196;üPBê±&#214;ó  
        RCC->AHB3ENR|=1<<0;             //ê1&#196;üFSMCê±&#214;ó  
//        GPIO_Set(GPIOB,PIN15,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU);                                                        //PB15 í&#198;íìê&#228;3&#246;,&#191;&#216;&#214;&#198;±31a
        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_Set(GPIOG,PIN8,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);                                                        //PG8
//        GPIO_Set(GPIOF,PIN12,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);                                                        //PF12,FSMC_A6
//        GPIO_Set(GPIOG,PIN12,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);                                                        //PG12,FSMC_NE4
        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(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
       
//         GPIO_AF_Set(GPIOF,12,12);        //PF12,AF12
//         GPIO_AF_Set(GPIOG,12,12);        //PG12,AF12
       
        GPIO_AF_Set(GPIOD,7,12);        //PD7,AF12
        GPIO_AF_Set(GPIOD,11,12);        //PD11,AF12
         
        //&#188;&#196;′&#230;&#198;÷&#199;&#229;á&#227;
        //bank1óDNE1~4,&#195;&#191;ò&#187;&#184;&#246;óDò&#187;&#184;&#246;BCR+TCR£&#172;&#203;ùò&#212;×ü12°&#203;&#184;&#246;&#188;&#196;′&#230;&#198;÷&#161;£
        //&#213;aà&#239;&#206;ò&#195;&#199;ê1ó&#195;NE1 £&#172;ò2&#190;í&#182;&#212;ó|BTCR[0],[1]&#161;£                                    
        FSMC_Bank1->BTCR[0]=0X00000000;
        FSMC_Bank1->BTCR[1]=0X00000000;
        FSMC_Bank1E->BWTR[0]=0X00000000;
        //2ù×÷BCR&#188;&#196;′&#230;&#198;÷        ê1ó&#195;òì2&#189;&#196;£ê&#189;
        FSMC_Bank1->BTCR[0]|=1<<12;                //′&#230;′¢&#198;÷D′ê1&#196;ü
        FSMC_Bank1->BTCR[0]|=1<<14;                //&#182;áD′ê1ó&#195;2&#187;í&#172;μ&#196;ê±Dò1
        FSMC_Bank1->BTCR[0]|=1<<4;                 //′&#230;′¢&#198;÷êy&#190;Y&#191;í&#182;è&#206;a16bit        
        FSMC_Bank1->BTCR[0]|=0<<2;                 //                 
        //2ù×÷BTR&#188;&#196;′&#230;&#198;÷       
        //&#182;áê±Dò&#191;&#216;&#214;&#198;&#188;&#196;′&#230;&#198;÷                                                             
        FSMC_Bank1->BTCR[1]|=0<<28;                //&#196;£ê&#189;A                                                                     
        FSMC_Bank1->BTCR[1]|=15<<0;         //μ&#216;&#214;·&#189;¨á¢ê±&#188;&#228;(ADDSET)&#206;a15&#184;&#246;HCLK 1/168M=6ns*15=90ns       
        //òò&#206;aòo&#190;§&#199;y&#182;ˉICμ&#196;&#182;áêy&#190;Yμ&#196;ê±oò£&#172;&#203;ù&#182;è2&#187;&#196;üì&#171;&#191;ì,óè&#198;&#228;ê&#199;&#184;&#246;±e&#198;&#230;YaD&#190;&#198;&#172;&#161;£
        FSMC_Bank1->BTCR[1]|=4<<8;          //êy&#190;Y±£′&#230;ê±&#188;&#228;(DATAST)&#206;a60&#184;&#246;HCLK        =6*60=360ns  0
       
       
        //D′ê±Dò&#191;&#216;&#214;&#198;&#188;&#196;′&#230;&#198;÷  
        FSMC_Bank1E->BWTR[0]|=0<<28;         //&#196;£ê&#189;A                                                                      
        FSMC_Bank1E->BWTR[0]|=15<<0;                //μ&#216;&#214;·&#189;¨á¢ê±&#188;&#228;(ADDSET)&#206;a9&#184;&#246;HCLK=54ns
        //9&#184;&#246;HCLK£¨HCLK=168M£&#169;,&#196;3D&#169;òo&#190;§&#199;y&#182;ˉICμ&#196;D′D&#197;o&#197;&#194;&#246;&#191;í£&#172;×&#238;éùò2μ&#195;50ns&#161;£           
        FSMC_Bank1E->BWTR[0]|=9<<8;         //êy&#190;Y±£′&#230;ê±&#188;&#228;(DATAST)&#206;a6ns*9&#184;&#246;HCLK=54ns    6
        //ê1&#196;üBANK1,&#199;&#248;óò4
        FSMC_Bank1->BTCR[0]|=1<<0;                //ê1&#196;üBANK1£&#172;&#199;&#248;óò1       

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-9-26 02:38:20 | 显示全部楼层
示波器看看波形吧,寄存器按我们的教程设置基本都差不多。
回复

使用道具 举报

2

主题

3

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2018-9-25
在线时间
5 小时
 楼主| 发表于 2018-9-29 15:57:55 | 显示全部楼层
正点原子 发表于 2018-9-26 02:38
示波器看看波形吧,寄存器按我们的教程设置基本都差不多。

大神我用的是NE1 A16请问 LCD_RAM和 LCD_REG分别用该是什么?
//#define  LCD_RAM        (*(__IO u16 *)(0x60020000))        //rs =0 ???
////#define  LCD_REG        (*(__IO u16 *)(0x6001FFFE)) //rs =1 ???
//#define  LCD_REG        (*(__IO u16 *)(0x60000000)) //rs =1 ???

#define  LCD_RAM        (*(__IO u16 *)(0x60000000))        //rs =0 ???
//#define  LCD_RAG        (*(__IO u16 *)(0x6001FFFE)) //rs =1 ???
#define  LCD_REG        (*(__IO u16 *)(0x60020000)) //rs =1 ???
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 05:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表