• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术讨论 > ble112蓝牙芯片 十六进制取平均值计算

ble112蓝牙芯片 十六进制取平均值计算

录入:edatop.com     点击:
下面是程序adc模块的代码 现在主要问题在将一组十六进制相加后除以总个数 ,app读取出来的结果与我实际计算的结果不一致。说明我的十六进制数计算存在问题,想请教我该如何计算。谢谢!
event hardware_adc_result(input, value)
        # 1.设定采样总时间 Xs,设定记录counter 0-X/10(ms)的ad数据值,
        #  平均counter(20:X/10)(ms)的数据,同时重置counter为初值状态。
       
        if counter < 100 then
                counter = counter + 1
               
                # 交换AD采样的数据高低位字节。               
                adc_buf1 = (value >> 8) & $00ff
                adc_buf2 = (value << 8)        & $ff00
                adc_buf = adc_buf1 | adc_buf2
               
                #write adc value               
                call attributes_write(c_adc_data, 0, 2, adc_buf)       
               
                #十六进制数累加
                adc_val = adc_val + adc_buf
               
                       
        else
                if counter = 100 then
                       
                        #平均一组16进制值
                        adc_result = (adc_val >> 4)/16
                        #write adc value               
                        call attributes_write(c_adc_result, 0, 2, adc_result)                                                       
                       
                        #关闭 ad采样                       
                        call hardware_set_soft_timer(0, 0, 0)       
                                                                                                                       
                        #关闭IO端口
                        call hardware_io_port_write(1,  pin_select_mask, $ff)
                       
                        #重置counter值为初始状态
                        counter = 0
                       
                end if
        end if
end

顶一下。

上一篇:无线网络中有一种叫社区网络,具体指什么
下一篇:关于无线环境监测模拟装置中的无线传输装置的推荐

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图