完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-14 11:15 编辑
单独用timer0能够进入中断,在中断中我设置了一个IO口,每1s钟闪烁一次用于测试是否进入中断。 但是在主函数中加入InitADC函数之后,就无法进入timer0的TINT0中断。注释掉之后,就可以正常进入TINT0中断。 InitADC函数来自官方代码,在f2802x_adc.c中。 无法进入TINT0中断,就无法触发ADC的SOC。所有片内外设时钟都开了。 下面粘上主函数的程序: |
|
相关推荐
5个回答
|
|
调试了一下,发现是InitAdc()函数里面的DELAY_US(ADC_usDELAY)这个微秒延时的问题。
追踪一下得到这个带参数的宏 #define DELAY_US(A) DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) - 9.0L) / 5.0L) 而DSP28x_usDelay定义在f2802x_usdelay.asm里: .def _DSP28x_usDelay .sect "ramfuncs" .global __DSP28x_usDelay _DSP28x_usDelay: SUB ACC,#1 BF _DSP28x_usDelay,GEQ ;; Loop if ACC >= 0 LRETR 我上网查了一下,这个函数需要在RAM里运行?这怎么搞? 我在主函数里加了: #ifdef _FLASH memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize); #endif 也不管用啊!而且我追踪不到memcpy这个函数的原型,官方库里也没有这个memcpy函数 |
|
|
|
gaofang36 发表于 2018-6-14 00:17 memcpy这个函数调用后需要调用InitFlash()进行相关Flash函数初始化配置 |
|
|
|
gaofang36 发表于 2018-6-14 00:17 参考这个例程C:ticontrolSUITEdevice_supportf2802xv230f2802x_examples_structsflash_f2802x cmd中要定义ramfuncs段,然后在初始的时候,调用memcpy函数。这个是编译器自带函数,你上百度搜一下即可。 ERIC - ERIC |
|
|
|
guigui_7044 发表于 2018-6-14 00:39 嗯 谢谢 这个微秒延时的问题是解决了 是这样用: memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize); InitAdc(); AdcOffsetSelfCal(); 但是又有新问题出现了 这个ADCOffsetSelfCal()函数里面有一句 AdcConvMean = AdcConversion(); 然后这个AdcConversion()里面有一句: //Wait for ADCINT2 to trigger, then add ADCRESULT8-15 registers to sum while (AdcRegs.ADCINTFLG.bit.ADCINT2 == 0)[] 然后程序就卡死在这个while语句里了,导致不能完成失调校准,请问是怎么回事呢? |
|
|
|
gaofang36 发表于 2018-6-14 00:48 你是不是直接导入例程的? 比如C:ticontrolSUITEdevice_supportf2802xv230f2802x_examples_structsadc_soc 用这个例程先测一下。 是不是你自建例程,没有打开ADC的时钟? ERIC - ERIC |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
661 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
587 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1041 浏览 1 评论
720 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
516 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
151浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
116浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
120浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
118浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
161浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 21:33 , Processed in 0.874859 second(s), Total 86, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号