完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
``下面是写的程序,但感觉采样的数据不对,请各位大神帮助一下` if ((CALBC1_1MHZ == 0xFF) || (CALDCO_1MHZ == 0xFF)) { /G2553自检,如果FLASH区被串改过或损坏,则程序不停复位/ BCSCTL1 = CALBC1_1MHZ; /基础时钟校准/ Init_uart(); TA1CTL = TASSEL_2 + ID_3 + MC_2 + TAIE + TACLR; /SMCKL,开中断,增计数模式/ #pragma vector=TIMER1_A1_VECTOR
|
|
相关推荐
1个回答
|
|
从您提供的代码片段来看,您正在使用430G2553微控制器进行信号脉宽的采集。您的代码主要完成了以下操作:
1. 检查WDTCTL寄存器,确保看门狗定时器处于停止状态。 2. 检查CALBC1_1MHZ和CALDCO_1MHZ寄存器,确保内部DCO自校准正常。 3. 设置BCSCTL1和DCOCTL寄存器,进行基础时钟和内部振荡时钟源校准。 4. 初始化串口和GPIO。 5. 配置定时器TA1,设置为增计数模式,采样信号脉宽。 然而,您提到采样的数据可能不正确。为了解决这个问题,我们需要检查以下几个方面: 1. 确保您的硬件连接正确,包括信号输入、地线和电源线。 2. 检查您的信号源是否稳定,脉宽是否符合预期。 3. 检查定时器TA1的配置是否正确。您当前的配置是: ``` TA1CTL = TASSEL_2 + ID_3 + MC_2 + TAIE + TACLR; ``` 这将定时器设置为使用SMCLK作为时钟源,分频系数为8,增计数模式,并清除当前值。确保这些设置与您的硬件和需求相匹配。 4. 检查TA1CCTL1的配置,您当前的配置是: ``` TA1CCTL1 = CAP + CM_3 + CCIS_0 + SCS + CCIE; ``` 这将TA1的通道1设置为捕获模式,比较模式为比较脉冲宽度,使用模块0的时钟,同步捕获源,以及启用捕获中断。确保这些设置与您的硬件和需求相匹配。 5. 在中断服务程序中,确保您正确地读取了捕获值,并根据实际需求进行了处理。 如果以上检查都没有问题,但仍然无法获得正确的采样数据,您可能需要进一步调试您的程序,或者查看430G2553的数据手册,以获取更多关于定时器和捕获模块的信息。 |
|
|
|
只有小组成员才能发言,加入小组>>
3012个成员聚集在这个小组
加入小组2892 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3407 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2322 浏览 1 评论
4781 浏览 1 评论
2556 浏览 1 评论
1294浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3407浏览 2评论
2893浏览 1评论
1454浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 12:30 , Processed in 1.028600 second(s), Total 49, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号