完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
ADC的程序没有问题,采回了AD值。新建一个adc.c文件就不能采ad值了。
目标:把ADC配置函数、中断服务函数都放到adc.c文件中,按照我的方式处理后,采不到AD,好像是进不了中断 我的做法:新建adc.c文件并加入工程中;新建adc.h文件声明void ADC_Configuration(void); uint16_t ADC1_sample(void);然后怎么就进不去中断了呢? adc.c文件内容: #include "STM32f10x.h" #include "stm32f10x_exti.h" #include "stm32f10x_rcc.h" #include "misc.h" static uint16_t ADC_Value; static volatile int ad_over; void ADC_Configuration() { } void ADC1_2_IRQHandler(void) { while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC)); ADC_Value=ADC_GetConversionValue(ADC1); ad_over=1; ADC_ClearITPendingBit(ADC1, ADC_IT_EOC); } uint16_t ADC1_sample(void) { // ADC_Cmd(ADC1, ENABLE); ADC_SoftwareStartConvCmd(ADC1, ENABLE); while(1) { if(ad_over) { ad_over=0; break; } } return ADC_Value; } 下面是adc.h文件的内容: #ifndef __ADC_H #define __ADC_H #include "stdint.h" void ADC_Configuration(void); uint16_t ADC1_sample(void); #endif 下面是主函数main.c文件内容: #include "pbdata.h" #include "adc.h" unsigned char Buffer[2]; int main(void) { u16 ad; SystemInit(); while(1) { ad = 0; ad=ADC1_sample(); ad=(3.3/4095)*ad*1000; Buffer[0]=ad/100; Buffer[1]=ad%100; SysTick_delay_ms(800); } } 请问我哪里出了问题 原先程序是这样的,可以正常运行 void ADC_Configuration()在main.c文件中 void ADC1_2_IRQHandler(void)和uint16_t ADC1_sample(void);在stm32f10x_it.c中 程序可以正常运行,采到AD值。我把他们放的adc.c文件就不行了。
复制代码 |
|
相关推荐
8个回答
|
|
|
声明加 extern
|
|
|
|
|
|
|
|
|
|
|
|
把 IRQHandler 挪回去试试?
|
|
|
|
|
|
最开始我只把void ADC_Configuration(void)放到adc.c中,void ADC1_2_IRQHandler(void)和uint16_t ADC1_sample(void);仍在stm32f10x_it.c中,就进不去中断了 |
|
|
|
|
|
没看到哪个地方调用了 ADC_Configuration()啊
|
|
|
|
|
|
在主函数调用ADC_Configuration()就可以了。多谢 |
|
|
|
|
|
你可能那个头文件没有在c/c++那里面的选项里添加
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2797 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2403 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2276 浏览 0 评论
2388 浏览 1 评论
1637 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 00:08 , Processed in 0.857465 second(s), Total 86, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
7799