stm32入门c语言下载,STM32入门C语言详解.docx
???????????????????????最新 料推薦???????????????????
閱讀 flash : 芯片內部存儲器flash 操作函數我的理解—— 對芯片內部flash 進行操作的函數,包括
讀取,狀態,擦除,寫入等等,可以允許程序去操作flash 上的數據。
基礎應用1 ,FLASH 時序延遲幾個周期,等待總線同步操作。推薦按照單片機系統運行頻率,
0 —24MHz 時,取 Latency=0 ; 24 — 48MHz 時,取 Latency=1 ;48~72MHz時,取 Latency=2 。
所有程序中必須的
用法: FLASH_SetLatency(FLASH_Latency_2);
位置: RCC 初始化子函數里面,時鐘起振之后。
基礎應用2 ,開啟 FLASH 預讀緩沖功能,加速FLASH 的讀取。
所有程序中必須的
用法: FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
位置: RCC 初始化子函數里面,時鐘起振之后。
3 、閱讀 lib :調試所有外設初始化的函數。
我的理解 —— 不理解,也不需要理解。只要知道所有外設在調試的時候,EWRAM需要從這個函數
里面獲得調試所需信息的地址或者指針之類的信息。
基礎應用1 ,只有一個函數debug 。所有程序中必須的。
用法:#ifdef DEBUG
debug();
#endif
位置: main 函數開頭,聲明變量之后。
4 、 閱讀 nvic :系統中斷管理。
我的理解 —— 管理系統內部的中斷,負責打開和關閉中斷。
基礎應用1 ,中斷的初始化函數,包括設置中斷向量表位置,和開啟所需的中斷兩部分。
所有程序中必須的。
用法:void NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure; //中斷管理恢復默認參數
#ifdef VECT_TAB_RAM //如果 C/C++ Compiler\Preprocessor\Defined symbols中的定義了
VECT_TAB_RAM(見程序庫更改內容的表格)
NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); //則在 RAM 調試
#else // 如果沒有定義VECT_TAB_RAM
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);//則在 Flash 里調試
#endif // 結束判斷語句
//以下為中斷的開啟過程,不是所有程序必須的。
//NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
//設置 NVIC 優先級分組,方式。
//注:一共16 個優先級,分為搶占式和響應式。兩種優先級所占的數量由此代碼確定,
NVIC_PriorityGroup_x 可以是 0、 1、 2 、3 、 4 ,分別代表搶占優先級有 1 、2 、 4 、8、 16 個和響應優先級有 16 、8、4 、2 、1 個。規定兩種優先級的數量后,所有的中斷級別必須在其中選擇,搶占級
別高的會打斷其他中斷優先執行,而響應級別高的會在其他中斷執行完優先執行。
//NVIC_InitStructure.NVIC_IRQChannel =中斷通道名 ; //開中斷,中斷名稱見函數庫
//NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //搶占優先級
//NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //響應優先級
1
???????????????????????最新 料推薦???????????????????
//NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //啟動此通道的中斷
//NVIC_Init(&NVIC_InitStructure);
中斷初始化
}
5 、閱讀 rcc :單片機時鐘管理。
我的理解 —— 管理外部、內部和外設的時鐘,設置、打開和關閉這些時鐘。
基礎應用1 :時鐘的初始化函數過程——
用法: void RCC_Configuration(void) //時鐘初始化函數
{
ErrorStatus HSEStartUpStatus; //
等待時鐘的穩定
RCC_DeInit(); // 時鐘管理重置
RCC_HSEConfig(RCC_HSE_ON); //
打開外部晶振
HSES
總結
以上是生活随笔為你收集整理的stm32入门c语言下载,STM32入门C语言详解.docx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何创造char二叉树C语言,递归创建二
- 下一篇: c语言输入r1 r2垫片的面积,2011