专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
msp430g2553用P2口捕获的程序怎么写?
2019-03-24 13:29
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
TI MCU
14252
6
1572
P2.0/ 通用型数字I/O 引脚
8 10 9 I/O
TA1.0 Timer1_A,捕获:CCI0A 输入,比较:Out0 输出
这个是数据手册上写的,要用这个捕获的话,程序怎么写呢?? 此帖出自
小平头技术问答
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
elulis
1楼-- · 2019-03-24 18:23
P2.4捕获的代码,刚一个朋友发问的代码改了改,调试能用。不明白的寄存器建议看看UserGuide。赶去公司吃午饭啦,有问题PM,回聊
#include <msp430g2553.h>
volatile unsigned int capture_value = 0;
void main() {
WDTCTL = WDTPW + WDTHOLD;
BCSCTL1 = CALBC1_16MHZ;
DCOCTL = CALDCO_16MHZ;
P2DIR &= ~BIT4; //P2.4捕获
P2SEL |= BIT4;
TA1CTL = TASSEL_1 + MC_2 + TACLR; //ACLK,Continous mode
TA1CCTL2 = CCIE + CM_2 + CCIS_0 + CAP + SCS; //neg. edge,enabled interrupt,CCIxA,capture mode,
while (1) {
_BIS_SR(LPM3+ GIE);
}
}
#pragma vector = TIMER1_A1_VECTOR
__interrupt void TA1_TAISR(void) {
if (TA1CCTL2 & CCIFG) {
TA1CCTL2 &= ~CCIFG;
capture_value = TA1CCR2;
}
}
[
本帖最后由 elulis 于 2012-8-6 11:19 编辑
]
加载中...
baokeyu
2楼-- · 2019-03-24 18:59
精彩回答 2 元偷偷看……
加载中...
benni
3楼-- · 2019-03-24 22:48
我运行你的程序,在调试下用watch看,怎么TA1CCR2和capture_value 都是0,没有变化的?
加载中...
罗曼帝客
4楼-- · 2019-03-25 00:09
我有个问题,就是信号源输入端口设为P2.4,那个CCIXA是干嘛的,他们俩有啥联系啊,菜鸟求解释!!
加载中...
elulis
5楼-- · 2019-03-25 05:12
精彩回答 2 元偷偷看……
加载中...
elulis
6楼-- · 2019-03-25 05:44
一个CCR模块工作在捕获模式的输入信号源可以有多个,具体捕获哪个通过CCIx来选择。比如对于CCR2,经常有CCI2A、CCI2B等源。
加载中...
一周热门
更多
>
相关问题
相关文章
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
#include <msp430g2553.h>
volatile unsigned int capture_value = 0;
void main() {
WDTCTL = WDTPW + WDTHOLD;
BCSCTL1 = CALBC1_16MHZ;
DCOCTL = CALDCO_16MHZ;
P2DIR &= ~BIT4; //P2.4捕获
P2SEL |= BIT4;
TA1CTL = TASSEL_1 + MC_2 + TACLR; //ACLK,Continous mode
TA1CCTL2 = CCIE + CM_2 + CCIS_0 + CAP + SCS; //neg. edge,enabled interrupt,CCIxA,capture mode,
while (1) {
_BIS_SR(LPM3+ GIE);
}
}
#pragma vector = TIMER1_A1_VECTOR
__interrupt void TA1_TAISR(void) {
if (TA1CCTL2 & CCIFG) {
TA1CCTL2 &= ~CCIFG;
capture_value = TA1CCR2;
}
}
[ 本帖最后由 elulis 于 2012-8-6 11:19 编辑 ]
一周热门 更多>