[PIC®/AVR®/dsPIC®产品] 【CuriosityNano测评报告】- 5:ADCC

[复制链接]
2935|4
 楼主| MianQi 发表于 2021-8-19 10:39 | 显示全部楼层 |阅读模式
本帖最后由 MianQi 于 2021-8-19 10:39 编辑

Analog-to-Digital Converter with Computation (ADCC) - 带计算功能的模数转换
参考示例在这里:《TB3263 - Getting STarted with ADCC for PIC18


这次测试的板子是:PIC18F16Q41 Curiosity Nano。从第一印象来看,这块板子跟之前用过的PIC18F57Q40和PIC18F16Q40的区别在于其管脚的分布之整齐,直观地说,就是看上去比较轻松,不会眼花缭乱:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| MianQi 发表于 2021-8-19 10:39 | 显示全部楼层
本帖最后由 MianQi 于 2021-8-18 20:08 编辑

先看一下实验装置:


演示效果:

(RC1接板上自带的LED,负逻辑。在面包板上并联了一个LED,正逻辑。)


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| MianQi 发表于 2021-8-19 10:39 | 显示全部楼层
本帖最后由 MianQi 于 2021-8-19 09:55 编辑

这是“main.c”:
  1. #include "mcc_generated_files/mcc.h"

  2. uint16_t volatile errVal;

  3. void ThresholdISR(void);

  4. /*
  5.                          Main application
  6. */
  7. void main(void)
  8. {
  9.     // Initialize the device
  10.     SYSTEM_Initialize();
  11.    
  12.     INTERRUPT_GlobalInterruptEnable();
  13.     //INTERRUPT_PeripheralInterruptEnable();
  14.     ADCC_SetADTIInterruptHandler(ThresholdISR);
  15.     ADCC_DischargeSampleCapacitor();
  16.     ADCC_StartConversion(channel_ANC0);

  17.     // If using interrupts in PIC18 High/Low Priority Mode you need to enable the Global High and Low Interrupts
  18.     // If using interrupts in PIC Mid-Range Compatibility Mode you need to enable the Global Interrupts
  19.     // Use the following macros to:

  20.     // Enable the Global Interrupts
  21.     //INTERRUPT_GlobalInterruptEnable();

  22.     // Disable the Global Interrupts
  23.     //INTERRUPT_GlobalInterruptDisable();

  24.     while (1)
  25.     {
  26.         // Add your application code
  27.     }
  28. }

  29. void ThresholdISR(void)
  30. {
  31.     errVal = ADCC_GetErrorCalculation();
  32.     PIR1bits.ADIF = 0;
  33.     LATCbits.LATC1 = !LATCbits.LATC1;
  34. }
 楼主| MianQi 发表于 2021-8-19 10:39 | 显示全部楼层
本帖最后由 MianQi 于 2021-8-19 09:56 编辑

以下是一些设置页面:









本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| MianQi 发表于 2021-8-19 10:39 | 显示全部楼层
本帖最后由 MianQi 于 2021-8-19 09:49 编辑

前边提到的例程是不能直接用地,要结合datasheet“PIC18F0616Q41-1420-Pin-Low-Power-High-Performance-Microcontroller-with-XLP-Technology-Data-Sheet-40002214D.pdf”和MCC生成的文件一起看。

比如,这里的寄存器位名:


这里的函数:


以及例程本身第15页的“Arc Right Shift”,结合MCC页面才知道应该是“Acc Right Shift”:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

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

本版积分规则

个人签名:所有未经解决的问题都一般大。

32

主题

394

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部