流水源 发表于 2022-11-13 22:40:44

【Telink-泰凌微电子 B91通用开发套件】ADC采样测试

本次研究一下板子的ADC采样功能。在导入的外设驱动例子中,选择ADC_Demo。点击IDE的小锤子选择并编译。例子可配置选择采样GPIO电压,VBAT电压,以及MCU温度。
MCU的adc功能说明:


adc的GPIO引脚有一下几个:
/**
* @brief adc input pin type
* |         |            |
* | :-------- | :----------- |
* |   <15:12> |    <11:0>    |
* |adc channel|    gpio pin|
*/
typedef enum{
        ADC_GPIO_PB0 = GPIO_PB0 | (0x1<<12),
        ADC_GPIO_PB1 = GPIO_PB1 | (0x2<<12),
        ADC_GPIO_PB2 = GPIO_PB2 | (0x3<<12),
        ADC_GPIO_PB3 = GPIO_PB3 | (0x4<<12),
        ADC_GPIO_PB4 = GPIO_PB4 | (0x5<<12),
        ADC_GPIO_PB5 = GPIO_PB5 | (0x6<<12),
        ADC_GPIO_PB6 = GPIO_PB6 | (0x7<<12),
        ADC_GPIO_PB7 = GPIO_PB7 | (0x8<<12),
        ADC_GPIO_PD0 = GPIO_PD0 | (0x9<<12),
        ADC_GPIO_PD1 = GPIO_PD1 | (0xa<<12),
}adc_input_pin_def_e;

下面我根据上次串口demo,实现printf打印信息输出。
////////////////////////////////////////////
#define UART0_TX_PIN    UART0_TX_PB2
#define UART0_RX_PIN    UART0_RX_PB3
voiddebug_uart_init(void)
{
        unsigned short div=0;
        unsigned char bwpc=0;

        uart_reset(UART0);
        uart_set_pin(UART0_TX_PIN,UART0_RX_PIN);
        uart_cal_div_and_bwpc(115200, sys_clk.pclk*1000*1000, &div, &bwpc);
        uart_init(UART0, div, bwpc, UART_PARITY_NONE, UART_STOP_BIT_ONE);
}

__attribute__((used)) int _write(int fd, const unsigned char *buf, int size)
{
    (void) fd;
    int    i;
    for (i = 0; i < size; i++){
            uart_send_byte(UART0, buf);
    }
    return i;
}这里要注意在common文件夹有个print.c已经实现了pintf,不过是IO模拟串口的。如下地方:


添加打印数据:


重新编译下载。

串口数据


还可以通过BDT下载软件查看变量。















页: [1]
查看完整版本: 【Telink-泰凌微电子 B91通用开发套件】ADC采样测试