介紹
針對客戶的開發(fā)需求,基于Keil的開發(fā)環(huán)境,使用RA6M4開發(fā)板,通過配置RASC設(shè)置相關(guān)配置,實現(xiàn)PWM觸發(fā)ADC組采集功能。
硬件準備
準備一塊RA6M4開發(fā)板(CPK-RA6M4),芯片是用R7FA6M4AF3CFB,主頻200MHz,Pin腳是144pin,1MB內(nèi)存的,如下圖所示。

軟件部分
1打開RASC.EXE文件

2填寫工程名稱和工程的保存位置,注意路徑中不要包含中文和空格,點擊Next。

3RASC支持IAR和Keil,在IDE Project Type選擇Keil,選擇芯片對應(yīng)型號,點Next。

4選擇工程模板,具體如下圖,確認無誤點擊Finish。

5工程新建完成后,出現(xiàn)下圖界面,此時可以確認一下自己的配置信息是否正確。

6打開Stacks,添加相關(guān)的代碼模塊。點擊New Stack-Timers-Timer,General PWM(r_gpt)。

7添加完成后,單擊PWM模塊。再點擊Properties打開配置界面,再點擊Common,將Pin Output Support設(shè)置為Enabled。

8再點擊General,然后將Mode設(shè)置為PWM模式,Period為100,Period Unit為Microseconds。

9在Output中將GTIOCA Output Enabled設(shè)置為True。

10打開Pins,選擇Peripherals-Timers:GPT-GPT0,Operation Mode選擇GTIOCA or GTIOCB,將GTIOC0A的引腳設(shè)置為P213。

11打開Stacks,添加相關(guān)的代碼模塊。點擊New Stack-Analog-ADC (r_adc)。

12添加完成后,單擊ADC模塊。再點擊Properties打開配置界面,再點擊General,將Mode設(shè)置為Group Scan,這時g_adc0 ADC (r_adc)會出現(xiàn)錯誤,這里可以先不用理睬,后續(xù)設(shè)置完成后,就沒有錯誤了。

13點擊Input 將Channel0、Channel1、Channel2打開并在同一組A。

14點擊Interrupts,將Normal/Group A Trigger即觸發(fā)ADC采集觸發(fā)源設(shè)置為GPT0 CAPTURE COMPARE A (Compare match A),然后設(shè)置中斷回調(diào)函數(shù)名還有優(yōu)先級。

15打開Pins,選擇Peripherals-Analog:ADC-ADC0,Operation Mode選擇Custom,設(shè)置AN000、AN001、AN002引腳為P000、P001、P002。

16打開Stacks,添加相關(guān)的代碼模塊。點擊New Stack-System-Event Link Controller (r_elc)。

17添加ELC后ADC就不會有錯誤了。

18配置完成后點擊右上角的三角按鈕(Generate Project Content),關(guān)閉RASC再打開Keil生成的工程項目。

?

19打開Keil-Customize Tools Menu,在Command設(shè)置RASC的路徑,在Initial Folder填寫$P,在Arguments寫入--device $D --compiler ARMv6 configuration.xml。

20如果需要打開RASC進行重新配置,需要在Keil的界面點擊Tools-RA Smart Configurator。

21打開hal_entry.c,找到可以添加自己代碼的地方,添加相應(yīng)的應(yīng)用函數(shù)。

22定義相關(guān)的回調(diào)函數(shù)。

23在hal_entry.c文件中的void hal_entry(void)函數(shù)中添加相關(guān)的初始化代碼,初始化PWM、ADC、ELC,并且設(shè)置ELC去鏈接PWM觸發(fā)ADC的采集。

24在ADC的回調(diào)函數(shù)中添加斷點,如果程序進入斷點則說明PWM已經(jīng)觸發(fā)ADC去完成采集。

25編譯并運行程序,用邏輯分析儀查看PWM的波形,占空比為50%,說明PWM功能正常。

26給P000輸入3.3v,P001懸空,P002接地,測試采集結(jié)果是否P000為4095,P001有懸空狀態(tài)下的電壓值,P002為0。
27測試結(jié)果正確,P000的值為0x0FFF即為4095,P001有值,P002的值為0。

28說明PWM觸發(fā)ADC組采集功能正常使用了。
結(jié)論
以上就是根據(jù)客戶開發(fā)需求,實現(xiàn)PWM觸發(fā)ADC組采集功能,通過該項目可以學(xué)會使用RASC在Keil環(huán)境下的新建項目如何配置一個新的外設(shè),如何調(diào)取相應(yīng)的函數(shù)庫,以及如何基于RASC進行應(yīng)用開發(fā)。
審核編輯:湯梓紅
電子發(fā)燒友App














評論