打印
[技术问答]

关于HC32F030J8T6芯片调试过程中遇到的和文档有关的问题

[复制链接]
663|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 lf飞蝗腾达 于 2020-9-21 13:24 编辑

参考了技术文档(HC32F030系列用户手册Rev2.2.pdf)和参考工程之后还是存在一些感觉很奇怪的问题 ,发到论坛问一下各位。
1、OPA模块例化端口问题。想尝试一下这个芯片里的运算放大器功能,并将其配置为电压跟随器使用。但是在文档的第八章(端口控制器(GPIO))和第二十七章(运算放大器(OPA))中没有找到关于绑定引脚到OPA的具体描述。但是在工程中找到了这样的代码:
#define OP0_INP()         {         M0P_GPIO->PCADS_f.PC06 = 1;        M0P_GPIO->PCDIR_f.PC06 = 1;}
#define OP0_INN()         {         M0P_GPIO->PBADS_f.PB15 = 1;        M0P_GPIO->PBDIR_f.PB15 = 1;}
#define OP0_OUT()         {         M0P_GPIO->PCADS_f.PC07 = 1;        M0P_GPIO->PCDIR_f.PC07 = 1;}

#define OP1_INP()         {         M0P_GPIO->PBADS_f.PB13 = 1;        M0P_GPIO->PBDIR_f.PB13 = 1;}
#define OP1_INN()         {         M0P_GPIO->PBADS_f.PB12 = 1;        M0P_GPIO->PBDIR_f.PB12 = 1;}
#define OP1_OUT()         {         M0P_GPIO->PBADS_f.PB14 = 1;        M0P_GPIO->PBDIR_f.PB14 = 1;}

#define OP2_INP()         {         M0P_GPIO->PBADS_f.PB10 = 1;        M0P_GPIO->PBDIR_f.PB10 = 1;}
#define OP2_INN()         {         M0P_GPIO->PBADS_f.PB02 = 1;        M0P_GPIO->PBDIR_f.PB02 = 1;}
#define OP2_OUT()         {         M0P_GPIO->PBADS_f.PB11 = 1;        M0P_GPIO->PBDIR_f.PB11 = 1;}


由代码的字面意思而言,为将端口配置为模拟模式(PxADS_f置高位),并设置为输入(PxDIR置高位)。芯片是如何做到将这些脚绑定到具体编号的OPA上的呢?二次开发的时候如何改动才是有效的?


        2、ADC的校准问题。在调试ADC模块的时候,使用使用中断方式进行单次转换。芯片工作在5V,转换周期为AdcSampTime12Clk,待测点输入阻抗约为1M。在这个条件下发现所得测试结果漂移非常严重。将bAdcInBufEn配置为高,使用内部2.5V参考电压之后情况有好转,但是所得结果与电阻分压计算值有偏差。故尝试配置使用OPA进行电压跟随。但是还是存在这样的疑惑,这款芯片的ADC校准该如何实现,是否有类似STM32的校准方式?


        3、GPIO设置引脚状态后,如何去使能,将其重新设置为高阻态(高阻输入模式)?,在文档中没找到相关的说明,还是说高阻输入(floating input)和真值表里的浮空输入是一个意思?(感觉是这样,但是还是希望文档能写的严谨一点)


最后,官网留的邮件地址好像发不了邮件,有人能帮忙测试一下吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝