打印
[其他ST产品]

bandgap的基准电压的计算

[复制链接]
1211|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lgq_123|  楼主 | 2015-5-6 15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
U16 j;
U16 g;       
for(i=0;i<2;i++)
                {
                        delay_ms(250);
                           UART1_SendData(0xAA);
                //        Get_ADC10bitResult(i);                //参数0~7,查询方式做一次ADC, 丢弃一次
                   if(i=0)
                   {
                        g = Get_ADC10bitResult(2);             //参数0~7,查询方式做一次ADC, 返回值就是结果, == 1024 为错误

                   }
                   else
                   {
                            P1ASF = 0;
                                j = Get_ADC10bitResult(0);        //读内部基准电压, P1ASF=0, 读0通道
                                P1ASF = ADC_P12;
                                Nref = j;
                       
                   }       
                        j = (u32)2500 * (u32)g / Nref;                        //Ux = Vref * Nx / Nref. Vref = 2500mV
                        Value_high = j/256;
                        Value_low  = j%256;
                        UART1_SendData(Value_high);
                        UART1_SendData(Value_low);
                        UART1_SendData(0xBB);
                        delay_ms(250);                                   
                }

做过电压ADC的大神们,这样计算对么?
沙发
jrcsh| | 2015-5-6 15:18 | 只看该作者
按文档~~~~ 的公式进行计算就还原数值来了~~~~

使用特权

评论回复
板凳
lgq_123|  楼主 | 2015-5-7 10:18 | 只看该作者
jrcsh 发表于 2015-5-6 15:18
按文档~~~~ 的公式进行计算就还原数值来了~~~~

算出的数值通过串口发送到PC机上,通过串口调试助手接收到的是十六进制数,十六进制数得先转化成十进制,在对照ASCII码表,找到对应的数字字符,感觉好麻烦,有没有比较好的处理办法呢?

使用特权

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

本版积分规则

20

主题

103

帖子

3

粉丝