共3条
1/1 1 跳转至页
MSP430,ADC12 【原创】MSP430的ADC12应注意的问题

问
在单通道单次转换和序列通道单次转换时(即CONSEQ=0/1),下一次转换能用ADC12SC启动,不需要先将ENC复位再置位,这一点刚好与书上讲的相反。
答 1:
当CPU访问ADC12IFG寄存器与ADC12中断同时产生时,中断标志可能不会置位。
解决方法:没有必要查询ADC12的中断标志寄存器来处理中断,使用ADC12IV寄存器来识别中断事件,相应的中断标志会自动复位。 答 2: ADC12的转换时间溢出中断标志在序列模式(CONSEQ=1或3)并且MSC=0时,即使没有时间溢出,也会置位。
解决方法是:确认正确的时序(即足够的采样时间及转换时间),并且关闭 转换时间溢出中断允许位ADC12TOVIE 答 3: 在AD转换完后用BIS/BIC指令对ADC12OVIE/ADC12TOVIE进行操作,会引起ADC12SC复位后又马上置位。如果ADC12SC设置成触发ADC(SHS=0),那么就会启动另一次转换。
解决方法:如果ADC12SC设置成触发ADC(SHS=0), 控制位ADC12OVIE/ADC12TOVIE只能在ADC处于空闭时才能修改。 答 4: 用CPU指令来清除中断标志寄存器不会清除最新的中断标志。
解决方法:用访问转换结果寄存器来清除中断标志。 答 5: 好!这个问题是经常遇到的。 答 6: 此帖为资历帖,只有帖子数 10 以上的会员才可查看此帖 答 7: 就是。 答 8: adc12的时钟的选择也十分的重要,最好选用adc12自带的时钟。个人看法 答 9: 多谢楼主,我都没有想到。 答 10: 请教,负参考电压是不是一定的自己加 答 11: 请问采样定时器时间不同 会影响转换结果吗? 答 12: 好啊,这是很好的细节
解决方法:没有必要查询ADC12的中断标志寄存器来处理中断,使用ADC12IV寄存器来识别中断事件,相应的中断标志会自动复位。 答 2: ADC12的转换时间溢出中断标志在序列模式(CONSEQ=1或3)并且MSC=0时,即使没有时间溢出,也会置位。
解决方法是:确认正确的时序(即足够的采样时间及转换时间),并且关闭 转换时间溢出中断允许位ADC12TOVIE 答 3: 在AD转换完后用BIS/BIC指令对ADC12OVIE/ADC12TOVIE进行操作,会引起ADC12SC复位后又马上置位。如果ADC12SC设置成触发ADC(SHS=0),那么就会启动另一次转换。
解决方法:如果ADC12SC设置成触发ADC(SHS=0), 控制位ADC12OVIE/ADC12TOVIE只能在ADC处于空闭时才能修改。 答 4: 用CPU指令来清除中断标志寄存器不会清除最新的中断标志。
解决方法:用访问转换结果寄存器来清除中断标志。 答 5: 好!这个问题是经常遇到的。 答 6: 此帖为资历帖,只有帖子数 10 以上的会员才可查看此帖 答 7: 就是。 答 8: adc12的时钟的选择也十分的重要,最好选用adc12自带的时钟。个人看法 答 9: 多谢楼主,我都没有想到。 答 10: 请教,负参考电压是不是一定的自己加 答 11: 请问采样定时器时间不同 会影响转换结果吗? 答 12: 好啊,这是很好的细节
共3条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】mcxa156使用低功耗定时器适配硬件RTC框架被打赏26分 | |
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 |