完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
2个回答
|
|
这边是我写的电压采样函数,目的是采样692个点,然后用方均根法求出有效值
u16 ADC_DataAcquire(void) { double c=0; double adc_value=0; u16 sample_counter; ADC_Config(ADC_Channel_0); // ADC_SoftwareStartConv(ADC1); for (sample_counter=0;sample_counter<692;sample_counter++) { // ADC_Config(ADC_Channel_0); ADC_SoftwareStartConv(ADC1); while (ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET)// { } adc_value=ADC_GetConversionValue(ADC1); adc_value=adc_value*adc_value; c=adc_value+c; } c=c/692; c=sqrt(c); adc_value=(3300*c)/4095; return adc_value; } |
|
|
|
现在的问题是,第一次运行采样函数得到的值是正确的,但是第二次我用断点模式运行采样函数时时,ADC_GetConversionValue(ADC1)的返回值变得异常大,为302800左右(第一次的正确值在2048),不知道是初始化程序这边出问题了还是其他地方写的有问题,还请大神们指教,感激不尽!!!!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1187 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1122 浏览 2 评论
2223 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1311 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1735 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 13:42 , Processed in 0.464285 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号