回答

收藏

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

泰凌微电子 泰凌微电子 1501 人阅读 | 0 人回复 | 2022-11-13

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

MCU的adc功能说明:


adc的GPIO引脚有一下几个:
  1. /**
  2. * @brief adc input pin type
  3. * |           |              |
  4. * | :-------- | :----------- |
  5. * |   <15:12> |    <11:0>    |
  6. * |adc channel|    gpio pin  |
  7. */
  8. typedef enum{
  9.         ADC_GPIO_PB0 = GPIO_PB0 | (0x1<<12),
  10.         ADC_GPIO_PB1 = GPIO_PB1 | (0x2<<12),
  11.         ADC_GPIO_PB2 = GPIO_PB2 | (0x3<<12),
  12.         ADC_GPIO_PB3 = GPIO_PB3 | (0x4<<12),
  13.         ADC_GPIO_PB4 = GPIO_PB4 | (0x5<<12),
  14.         ADC_GPIO_PB5 = GPIO_PB5 | (0x6<<12),
  15.         ADC_GPIO_PB6 = GPIO_PB6 | (0x7<<12),
  16.         ADC_GPIO_PB7 = GPIO_PB7 | (0x8<<12),
  17.         ADC_GPIO_PD0 = GPIO_PD0 | (0x9<<12),
  18.         ADC_GPIO_PD1 = GPIO_PD1 | (0xa<<12),
  19. }adc_input_pin_def_e;
复制代码


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

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

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


添加打印数据:


重新编译下载。

串口数据


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















分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条