在剛開始寫程式的時候,在程式中需要設定暫存器的時候,往往不知道暫存器名稱怎麼寫才是對的,這時候可以通過標頭檔案來檢視暫存器是如何呼叫的。在開啟乙個iar工程檔案,開啟main.c檔案,然後再引用的標頭檔案上單擊滑鼠右鍵,選擇open "iostm8s003f3.h"開啟所引用的標頭檔案。
假如我們要設定pb5口輸出0,首先在stm8中文參考手冊中找到gpio輸出暫存器
我們要設定的是pb_odr暫存器,這時在開啟的iostm8s003f3.**件中按下ctrl+f按鈕,然後輸入pb_odr,點find next
這時候就會定位到pb_odr暫存器巨集定義位置處
這塊列出了關於pb_odr相關的所有定義,可以看到pb5的位定義
#define pb_odr_odr5 pb_odr_bit.odr5
我們可以直接呼叫 pb_odr_odr5 對pb5口進行操作,
pb_odr_odr5 = 0;就是設定pb5口輸出低電平。
當然也可以採用傳統的對pb口整體賦值
pb_ddr |= ( 1 << 5 ); 設定pb5口輸出高電平。
為什麼可以直接對pb5口進行位操作呢,因為在標頭檔案中,官方已經定義好了關於pb口位操作的結構體。
這樣通過檢視標頭檔案,就能很清楚的直到,關於微控制器的暫存器如何呼叫。
STM8學習筆記 ADC多通道取樣
stm8s003微控制器adc取樣通道總共有5個,從ain2 ain6,多通道取樣時需要將adc轉換設定為單次轉換模式,每次切換取樣通道後,需要重新初始化 adc,取樣結果在中斷中讀取。io口初始化 ad通道引腳初始化 void adc gpio init void 將adc的io口都設定為輸入模式...
STM8學習筆記 uart1串列埠中斷
uart1串列埠傳送 接收中斷。目標 串列埠接收1,點亮led1,接收2點亮led2,接收到其他字元關閉led1和led2。步驟如下 1 編寫led.h和led.c檔案。略 2 編寫uart.h和uart.c檔案,其中串列埠配置函式如下 void usart configuration void 串...
STM8學習筆記 定時器 TIM2功能實現
stm8的tim2 tim3 tim5是16位通用暫存器,他們的操作方法一樣。主要功能如下 相關暫存器如下 如果只用到定時功能的話,需要用到的暫存器有自動裝載暫存器arr 預分頻暫存器pscr 事件產生暫存器egr 狀態暫存器sr 控制暫存器cr 中斷使能暫存器ier。此處用tim2實驗,定時器2初...