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

標題: stm32時鐘初始化配置問題 [打印本頁]

作者: 3lian    時間: 2014-3-1 01:18
標題: stm32時鐘初始化配置問題
stm32雖然已經用了一段時間了,但是一直用的都是教程里帶的程序,最近想自己寫寫代碼了,結果各種碰壁,一點小小的問題也能讓我忙活一兩天,真讓人郁悶,這里說一下stm32最基礎的時鐘配置上我遇到的麻煩。
時鐘配置我是使用RCC的庫函數完成的,基本思路就是打開8M的HSE時鐘,然后使用PLL倍頻9倍成72M的系統時鐘。但是看似簡單的函數寫好后片子一直工作不起來,我開始以為是在檢測時鐘是否啟動的while循環中給卡住了,還以為外部8M晶振不起振,后來經過一個下午的測試程序,竟然是配置PLL成9倍的函數出了問題,我把倍頻倍數調小就ok了。但是這沒道理啊。72M的時鐘在不到9倍的pll中根本沒法到達啊,我網上找了一下總算發現了一個我漏掉的細節,那就是rcc配置的時候還需要配置flash!
我網上原本找的代碼里有配置flash的庫函數調用,但我以為是其他應用所以就沒放在心上,結果就是在這里吃了大虧。我翻了一下技術手冊,有這么一段
這些選項應與閃存存儲器的訪問時間一起使用。等待周期體現了系統時鐘 (SYSCLK) 頻率與閃存訪問時間的關系:
0 等待周期,當 0 < SYSCLK < 24MHz
1 等待周期,當 24MHz < SYSCLK  ≤ 48MHz
2 等待周期,當 48MHz < SYSCLK  ≤ 72MHz
預取緩沖區(2個64位):在每一次復位以后被自動打開,由于每個緩沖區的大小(64位)與閃存的帶寬相同,因此只通過需一次讀閃存的操作即可更新整個緩沖區的內容。由于預取緩沖區的存在,CPU可以工作在更高的主頻
所以在初始化的時候還需要加上兩個函數
FLASH_SetLatency(FLASH_Latency_2);   
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
這樣系統可以工作在72M的時鐘下





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 色久五月 | 成年人在线视频 | 成人视屏在线观看 | 精品国产一区二区三区性色 | 毛片免费看 | 国产精品视频在线观看 | 欧美6一10sex性hd| 99视频免费在线观看 | 久久精品97| 亚洲最色视频 | 亚洲一区中文 | 精品国产女人 | 日韩av手机在线观看 | 亚洲九九 | 天天摸天天看 | 情侣av| 免费看黄色小视频 | 亚洲九九 | 久久精品国产免费 | 国产区第一页 | 亚洲欧美中文日韩在线v日本 | 日韩一区二区久久 | 国产高清在线 | 久久中文字幕视频 | 毛片免费视频 | 噜噜噜噜狠狠狠7777视频 | .国产精品成人自产拍在线观看6 | 麻豆久久久久久久 | 久久男人 | 欧美性生活网 | 成人在线中文字幕 | 福利一区二区在线 | 日韩视频 中文字幕 | 久久99精品视频 | 在线观看精品 | 日韩精品一区二区三区 | 中文亚洲字幕 | 精品www| 久久网一区二区 | 日韩欧美精品一区 | 久久99精品久久久久久青青日本 |