久久精品国产精品国产一区,少妇扒开毛毛自慰喷水,国产精品无码电影在线观看 ,久久天天躁夜夜躁狠狠85麻豆

思澈科技軟件開(kāi)發(fā)工具包  2.20
GPADC

GPADC驅(qū)動(dòng)包括兩層:硬件訪問(wèn)層(HAL)和RT-Thread的適配層。
HAL 提供用于訪問(wèn) adc 外設(shè)寄存器的基本 API。 適配層提供常用的adc讀取功能。 用戶(hù)可以將它們與 RT-THREAD 設(shè)備一起使用。 ADC 支持 DMA 模式、中斷模式和輪詢(xún)模式,現(xiàn)在默認(rèn)使用輪詢(xún)模式。 主要功能包括:

  • 支持8個(gè)通道
  • 支持DMA讀取
  • 支持中斷

驅(qū)動(dòng)配置

可以使用 menuconfig 工具為每個(gè)項(xiàng)目選擇它,并且通常保存在 C 頭文件中。 默認(rèn)情況下,配置保存為 rtconfig.h。
下面的例子顯示了在一個(gè)項(xiàng)目頭文件中定義的標(biāo)志,項(xiàng)目是啟用FLASH控制器,NOR-FLASH模式啟用,使用FLASH控制器1和2的NOR模式,F(xiàn)LASH1大小為2MB,F(xiàn)LASH2為32MB。 步驟選擇配置:

  • 在項(xiàng)目下的命令中輸入“menuconfig”
  • 選擇“RTOS —>”
  • 選擇“On-chip Peripheral Driver—>”
  • 選擇“Enable ADC —>” Enable ADC driver,定義宏BSP_USING_ADC
  • 選擇“Enable ADC1”啟用adc1控制器,定義宏BSP_USING_ADC1。
#define BSP_USING_ADC
#define BSP_USING_ADC1

要在 rt-tread 上啟用 ADC 設(shè)備,它還使用 menuconfig 工具并包含在頭文件中。 啟用 RT-DEVICE flash 界面的步驟(在 menuconfig 主菜單中):

  • 選擇“RTOS ”—>
  • 選擇“T-Thread Components —>”
  • 選擇“Device Driver—>”
  • 啟用“Using ADC device drivers”注冊(cè) ADC 設(shè)備,定義宏 RT_USING_ADC
#define RT_USING_ADC

配置完成后,用戶(hù)需要在所有需要訪問(wèn)驅(qū)動(dòng)程序的源代碼中包含頭文件。

PinMux 和插槽定義

對(duì)于每個(gè) adc 插槽,都有一個(gè)引腳,但該引腳可以復(fù)用到不同的功能。 在將其用作 ADC 之前,我們需要設(shè)置它的 pinmux 功能,這里是將 pin 設(shè)置為 ADC SLOT 0 的示例,更多詳細(xì)信息需要檢查硬件 pinmux 表:

HAL_PIN_Set(PAD_PB_04, ADC_PIN, PIN_INPUT, 0);

ADC TO VOL

需要2個(gè)不同的電壓,得到它們的寄存器值,可以得到準(zhǔn)確的偏移量和比率(mv per bit)。

使用ADC接口

適配器層注冊(cè) RT-Thread 請(qǐng)求的硬件支持功能,并使用 HAL 實(shí)現(xiàn)這些功能。 對(duì)于使用 RT-Thread 的用戶(hù),可以使用以下代碼作為示例:

// Find and open adc device
dev = rt_device_find("adc1");
rt_device_open(dev, RT_DEVICE_FLAG_RDONLY);
// enable slot
rt_device_control(dev, RT_ADC_CMD_ENABLE, (void *)chn);
// read value
res = rt_device_read(dev, chn, &value, 1);
// value to voltage
res = (value - TC_ADC_OFFSET) * ratio;
...
// Close device, keep it open for more user.
rt_device_close(dev);
HAL_PIN_Set
int HAL_PIN_Set(int pad, pin_function func, int flags, int hcpu)
Set pin function.