[技术问答] NUC120捕捉输入中断问题

[复制链接]
1407|8
 楼主| direrwind 发表于 2014-12-8 23:31 | 显示全部楼层 |阅读模式
本帖最后由 direrwind 于 2015-5-7 23:49 编辑

这是小弟自己看datasheet 及使用手册写出的程式码
PA12 设定为捕捉输入
PA13 设定1KHz方波 Duty50% 输出,高电平跟低电平各一半
然后把PA12跟PA13接在一起测量1KHz方波
数据得到  CRLR0=0x31
                CFLR0=0x63
发觉PWMA->CCR0.CAPIF0=1; 设置为1的时候,PWM CNR应该要重新计时
但没有重新计数,因为CRLR0=0x31和CFLR0=0x63这两个数据没有一致,
不知道少设定到还是设定错误,麻烦指导感谢

我是根据这张图理解的
以下程式码
#include "NUC1xx.h"                                                     
void Initsystem(void);
void PwmInit(void);
main(void)
{
Initsystem();
PwmInit();
PWMA->CCR0.CAPIF0=1;
while(1)
{
while(PWMA->CCR0.CAPIF0!=1);
PWMA->CCR0.CAPIF0=1;
PWMA->CCR0.CFLRI0=0;
while(PWMA->CCR0.CAPIF0!=1);
PWMA->CCR0.CAPIF0=1;
PWMA->CCR0.CRLRI0=0;
}
}

void Initsystem()
{
   UNLOCKREG();
   SYSCLK->PWRCON.XTL12M_EN = 1;
   SYSCLK->CLKSEL0.HCLK_S = 0;
   LOCKREG();
}


123.JPG
mintspring 发表于 2014-12-8 23:47 | 显示全部楼层
可以用库函数写方便
 楼主| direrwind 发表于 2014-12-9 09:39 | 显示全部楼层
mintspring 发表于 2014-12-8 23:47
可以用库函数写方便

我想练习一下假设没有库函数要如何写?
希望有人帮解决这个问题!

mintspring 发表于 2014-12-9 20:44 | 显示全部楼层
direrwind 发表于 2014-12-9 09:39
我想练习一下假设没有库函数要如何写?
希望有人帮解决这个问题!

那就根据手册的寄存器操作还有时序了。
598330983 发表于 2014-12-10 16:07 | 显示全部楼层
这个要一点点的弄,先写个正确的IO输出函数,测试合格了,一点点的加内容。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

23

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部