久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2668|回復: 1
打印 上一主題 下一主題
收起左側

stm32f103vet6外接鐵電FM28V020發現的問題

[復制鏈接]
跳轉到指定樓層
樓主
以前用單片機做的,正常工作很長時間,現在想轉到stm32,采用fsmc,外接32K鐵電FM28V020,一直不正常,現象是只能讀出0x100-0x1FF的內容(正確),0x0-0xff也是0x100-0x1ff的內容,然后所有的地址內容不停循環0x100-0x1ff,NADV已經反向給74HC573,初始化程序在后面,

  最后,直接用一個F103VET6實驗板,什么都不接,只是下載這個程序,用示波器觀察,發現如下問題



1. PE11(DA8),信號幅值明顯與其他DA0-DA15的幅值低很多 (這個是2V檔)


2.PE13的信號(1V檔)


FMSC初始化后,所有DA0-DA15,理論上引腳信號幅值應該是一樣的,為什么PF11就不一樣?,最后只有在PE11上上拉一個2K電阻,信號幅值就上去了,如果對PE11采用IO模式,Out_PP輸出,信號幅值很正常
PCB原理圖

ALE已經反向輸出到573的
現在是用的什么都不掛接的實驗板,信號還是一樣,說明是F103VE自身的問題,這個怎么解釋,如果FSMC初始化不正確,為什么0x100-0x1FF的內容寫入和讀出都是正確的?只是所有地址數據都是在0X100-0X1FF循環

FMSC程序
//初始化外部SRAM
void        FSMC_SRAM_Init(void)
{        
        GPIO_InitTypeDef  GPIO_InitStructure;
        FSMC_NORSRAMInitTypeDef  FSMC_NORSRAMInitStructure;
        FSMC_NORSRAMTimingInitTypeDef  p;

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO, ENABLE);
        /* Enable FSMC, GPIOD, GPIOE, GPIOF, GPIOG and AFIO clocks */
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;      
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB, &GPIO_InitStructure);

        /* Set PD.00(D2), PD.01(D3), PD.04(NOE), PD.05(NWE), PD.07(NE1) PD.08(D13), PD.09(D14),
         PD.10(D15), PD.14(D0), PD.15(D1) as alternate function push pull */
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_7 | GPIO_Pin_11 |
                                    GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10  | GPIO_Pin_14 | GPIO_Pin_15 ;

        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
        GPIO_Init(GPIOD, &GPIO_InitStructure);

        /* Set PE.07(D4), PE.08(D5), PE.09(D6), PE.10(D7), PE.11(D8), PE.12(D9), PE.13(D10),
         PE.14(D11), PE.15(D12) as alternate function push pull */

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 |
                                      GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
        GPIO_Init(GPIOE, &GPIO_InitStructure);

        p.FSMC_AddressSetupTime = 5;
        p.FSMC_AddressHoldTime = 5;
        p.FSMC_DataSetupTime = 15;
        p.FSMC_BusTurnAroundDuration = 5;
        p.FSMC_CLKDivision = 0;
        p.FSMC_DataLatency = 0;
        p.FSMC_AccessMode = FSMC_AccessMode_B;(改過D,一樣現象)
        
        FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;
        FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Enable;
        FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR;  (改過PSRAM,一樣現象)
        FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_8b;
        FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
        FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable;  
        FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
        FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
        FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
        FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
        FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
        FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
        FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
        FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;
        FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;
        

        FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);
        /* Enable FSMC Bank4_SRAM Bank */
        FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE);  
                                                                                
}
是庫函數初始化有問題嗎?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1155272 發表于 2025-6-25 13:26 | 只看該作者
CE下降沿,才能讀寫操作,與RAM不一樣的,可能是這個原因
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久中文 | 四虎在线免费视频 | 天天天天天操 | 亚洲国产精品网站 | 老女人毛片 | 色片网址 | 在线观看国产小视频 | www黄色片 | 午夜精品久久久久久久久久蜜桃 | 日韩理论片 | 天天综合网站 | 三级网站在线播放 | 色婷婷在线视频 | 韩国精品一区二区 | 中文字幕理伦片免费看 | 色婷婷一区二区三区四区 | 亚洲性视频| www.国产精品 | 欧美日韩精品 | 日韩免费在线播放 | 婷婷第四色 | 免费黄色小视频 | 精品国产欧美一区二区三区成人 | 日日干天天操 | 午夜综合网 | 午夜精品视频在线 | 欧美午夜在线 | 69福利视频 | 精品久久影院 | 久久综合久 | 一级特黄aaaaaa大片 | 中文字幕自拍偷拍 | 一区二区三区网站 | 91网在线| 中文字幕一区二区三区四区视频 | 四虎免费在线观看 | 亚洲性色av| 日本不卡在线 | 欧美日韩一区二区三区 | 99视频免费观看 | 三级黄色在线观看 |