感謝RT-Thread和Renesas給我這次評測的機會,我測評的部分是ADC和GPIO。
1、新建開發板工程

2、在fsp中設置相關參數
在pins中選擇ADC0,關閉其他不需要的功能
選擇通道四即可
在pins中選中P105并配置為外部中斷模式
在stacks中點擊New stacks并選擇Analog,選擇第一個或者第二個都可以,看需求
點擊剛才創建的r_adc進行參數配置,選擇通道四,因為通道四和開發板上的電位計相連接
點擊generate project content
3、點擊RT_Thread Setting配置相關參數
開啟ADC
選擇ADC0
保存設置
5、硬件模塊
使用了LED3,按鍵,電位計。使LED閃爍,按鍵用中斷觸發,使用ADC0的第四通道采集電位器的電壓。
6、程序編寫
按自己喜歡的方式修改main函數
如下圖所示
新建test_adc.c、test_adc.h、test_gpio.c、test_gpio.h
編寫test_adc.c內容
1#include?
2#include?
3
4#define?ADC_NAME????????"adc0"??/*?ADC?設?備?名?稱?*/
5#define?ADC_CHANNEL???????4?????/*?ADC?通?道?*/
6#define?REFER_VOLTAGE????330????/*?參?考?電?壓?3.3V,數?據?精?度?乘?以100保?留2位?小?數
7*/
8#define?CONVERT_BITS?(1?<12)?/*?轉?換?位?數?為12位?*/
9static?int?adc_sample(int?argc,?char?*argv[])
10{
11rt_adc_device_t?adc_dev;
12rt_uint32_t?value,?vol;
13rt_err_t?ret?=?RT_EOK;
14/*?查?找?設?備?*/
15adc_dev?=?(rt_adc_device_t)rt_device_find(ADC_NAME);
16if?(adc_dev?==?RT_NULL)
17{
18rt_kprintf("adc?sample?run?failed!?can't?find?%s?device!\n",?ADC_NAME);
19return?RT_ERROR;
20}
21/*?使?能?設?備?*/
22ret?=?rt_adc_enable(adc_dev,?ADC_CHANNEL);
23/*?讀?取?采?樣?值?*/
24value?=?rt_adc_read(adc_dev,?ADC_CHANNEL);
25
26rt_kprintf("the?value?is?:%d?\n",?value);
27/*?轉?換?為?對?應?電?壓?值?*/
28vol?=?value?*?REFER_VOLTAGE?/?CONVERT_BITS;
29rt_kprintf("the?voltage?is?:%d.%02d?\n",?vol?/?100,?vol?%?100);
30/*?關?閉?通?道?*/
31ret?=?rt_adc_disable(adc_dev,?ADC_CHANNEL);
32return?ret;
33}
34/*?導?出?到?msh?命?令?列?表?中?*/
35MSH_CMD_EXPORT(adc_sample,?adc?voltage?convert?sample);編寫test_gpio.c內容
1#include?
2#include?"hal_data.h"
3#include?
4
5#define?USER_INPUT??"P105"
6
7void?gpio_test(void?*args)
8{
9????rt_kprintf("key?pushed?\r\n");
10
11}
12
13void?gpio_sample(void)
14{
15
16????rt_uint32_t?pin?=?rt_pin_get(USER_INPUT);
17????rt_kprintf("?pin?number?:?0x%04X?\r\n",?pin);
18????rt_err_t?err?=?rt_pin_attach_irq(pin,?PIN_IRQ_MODE_LOW_LEVEL,?gpio_test,?RT_NULL);
19????if(RT_EOK?!=?err)
20????{
21????????rt_kprintf("?attach?irq?failed.?\r\n");
22????}
23????err?=?rt_pin_irq_enable(pin,?PIN_IRQ_ENABLE);
24????if(RT_EOK?!=?err)
25????{
26????????rt_kprintf("enable?irq?failed.?\r\n");
27????}
28}
29MSH_CMD_EXPORT(gpio_sample,?gpio?sample);
7.測試
在終端中輸入adc_sample
萬用表測試如下
8.視頻
9.代碼
https://github.com/18785275440/RA6M4.git
10.心得體會
才拿到開發板快遞時感覺重重的,心想里面除了開發板還裝了啥呢,拿到寢室迫不及待的打開,快遞沒有一點破損,包裝很到位,里面夾了兩本入門手冊。一本是評估板快速入門,還有一本是RA MCU的基礎知識。感覺很貼心,接下來就是這款開發板,拿著很大氣,元器件布局很有美感。開發板的資源也很豐富,新建工程的時候,觀察里面的文件命名結構,剛開始有點蒙,感覺一個ADC接口進行了多次封裝,這樣不是很不利于開發者開發嘛,但是后面讀了入門手冊后改變了我的想法,這樣做是為了進行硬件分離,開發者不用關心底層結構。還有就是FSP很好用,可能剛開始不熟悉里面的結構,但是通過網上查找資料、手冊熟悉后就覺得很方便,減少開發時間。接下來就是RT_Thread操作系統,很好用。剛開始學操作系統就是拿這個入門,學習的時候容易看懂。驅動比較完善。在我不怎么了解這款開發板的情況下完成任務。并不是我的能力有多大,而是RTT寫得太好。
希望在以后RT-Thread與瑞薩越做越強。
直播預告:
3月31號,將舉行瑞薩特約直播活動,馬上進群看直播吧!

如群已滿,請加小師弟微信:rtthread2020,拉你進群

關注我們

可加微信號 13632716562 報名師資培訓!


↓點擊閱讀原文進入官網
愛我就請給我在看