RISC-V技术论坛
直播中

jf_25674040

3年用户 109经验值
擅长:可编程逻辑 MEMS/传感技术 接口/总线/驱动 控制/MCU
私信 关注
[经验]

【南京中科微CSM32RV20开发板试用体验】adc读取电位器数据并通过uart输出

1. 硬件连接
微信图片_20220526173635.jpg
2. 代码编写
  1. int main(void)
  2. {

  3. System_Clock_Init();
  4. CLIC_Init();

  5. GPIO_MODE_Init(GPIOA,PIN10,GPIO_MODE_OUTPUT);
  6. GPIO_MODE_Init(GPIOA,PIN8,GPIO_MODE_OUTPUT);
  7. for(uint8_t i=0;i<10;i++)
  8. {
  9.         GPIO_Toggle(GPIOA,PIN8);
  10.         Delay32M_ms(100);
  11. }

  12. uint32_t adc_result;
  13. ADC_Init_case1();//内部基准,测PA4
  14. UART_Init_case1(UART1);//非中断模式
  15. while(1)
  16. {
  17. Delay32M_ms(500);
  18. GPIO_Toggle(GPIOA,PIN10);
  19. adc_result = ADC_Conversion();
  20. printf("val: %d.%dvn", (adc_result*4*12000/32768)/10000,(adc_result*4*12000/32768)%10000);
  21. }
  22. }
3. 编译沿用上一个版本的就可以,make以下就能生成.elf文件;
4. 因为本台电脑没有只有一个串口,其他不变,串口波特率选择115200,然后打开程序文件,下载/编码,然后复位单片机
2022-05-26_17-44.png
5. 打开串口助手查看获取到的电压值;
2022-05-26_17-47.png 2022-05-26_17-47_1.png
对比万用表读取的数据,一致。
notes:
ISP出现无法下载时,在下载/编程按下之前一直按着复位键,如再不行掉电再上电。

回帖(1)

dianzi

2022-5-27 11:19:48
感谢分享!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分