MSP430F149学习之路——捕获/比较模式
1.捕获模式
#include <msp430x14x.h>
unsigned int last0=,last1=;
unsigned int k=,j=;
void mian(void)
{
WDTCTL = WDTPW + WDTHOLD;
TACTL = TACLR + TASSEL_2 + ID_3 + MC_3; TACCTL0 = CM_3 + CCIS_0 + SCS + CAP + CCIE;
TACCTL1 = CM_3 + CCIS_1 + SCS + CAP + CCIE; P1DIR = 0X00;
P1SEL = 0XFF; P3DIR = 0XFF;
P3OUT = 0XFF;
_EINT();
for(;;)
{
for(int i=;i<;i++)
_NOP();
P3OUT ^= BIT0; //产生捕获信号源
}
}
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
switch(TAIV)
{
case :
P1OUT ^= BIT3;
j=CCR1 = last1;
last1 = CCR1;
break;
case :break;
case :P1OUT ^= BIT0;break;
}
} #pragma vector=TIMERA1_VECTOR
__interrupt void Timer_cc(void)
{
if(SCCI0 == )
{
k = CCR0 - last0;
last0 = CCR0;
}
}
2.比较模式
/***************************************
功能:ACLK=32768 Hz,MCLK=SMCLK=DCOCLK=80kHz
由捕获/比较模块0产生10Hz的方波,P6.0输出;
由捕获/比较模块1产生20Hz的方波,P6.7输出。
***************************************/
#include <msp430x14x.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
TACTL |= TASSEL_2 + ID_3 + MC_2 + TACLR + TAIE; TACCTL0= CCIE;
TACCTL1= CCIE;
TACCR0 = ;
TACCR1 = ; P6DIR = 0XFF;
P6OUT = 0Xff;
_EINT();
} #pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
P6OUT ^= BIT0;
TACCR0 = TACCR0 + ;
}
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A1(void)
{
switch(TAIV)
{
case :
P6OUT ^= BIT7;
TACCR1 = TACCR1+;
break;
case :break;
case :P6OUT ^= BIT1;break;
}
}
MSP430F149学习之路——捕获/比较模式的更多相关文章
- 设计模式学习之路——Facade 外观模式(结构型模式)
动机: 组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战.如何简化外部客户程序和系统间的交互接口?如何将外部客户程序的演化和内部子系 ...
- MSP430F149学习之路——时钟1
1.看门狗产生方波 #include <msp430x14x.h> void main() { WDTCTL = WDT_MDLY_32; IE1 |= WDTIE; P1DIR |= B ...
- MSP430F149学习之路——AD
代码一:Timer_A触发转换 #include <msp430x14x.h> void main() { WDTCTL = WDTPW + WDTHOLD; P6SEL |= BIT0; ...
- MSP430F149学习之路——蓝牙模块
注意蓝牙模块的接法! #include <msp430x14x.h> ]; ; void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SE ...
- MSP430F149学习之路——SPI
代码一: //****************************************************************************** //Description: ...
- MSP430F149学习之路——UART
代码一: #include <msp430x14x.h> void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SELM_2 + SELS ...
- MSP430F149学习之路——比较器Comparaor_A
代码一: #include <msp430x14x.h> ; void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SELM_2 + SE ...
- MSP430F149学习之路——PWM信号
代码一: /******************************* 程序功能:ACLK=32768Hz PWM波 T=512/32768 占空比75% ******************** ...
- MSP430F149学习之路——时钟2
代码一: /************************** 功能:LED每隔1秒闪烁一次 ****************************/ #include <msp430x14 ...
随机推荐
- shell脚本摘要
开启监听端口的程序时,查看是否开启成功(该例子监听8983端口) #动态显示[|][/][-][\] function spinner() { local pid=$1 local delay=0.5 ...
- (C#) Parse xml 时, 返回的node值总是null。
网上查了一下,原因在于要parse的Xml文件本身包含了一些namespace,这些需要被添加进去. http://msdn.microsoft.com/zh-cn/library/system.xm ...
- c# 对话框交换数据
本例是一个管理联系人信息的小程序,程序有两个窗体,一个主窗体,在listview控件中显示联系人信息列表,一个对话框窗体,用来显示和修改 某个联系人的信息.通过主窗体的菜单命令,可以打开对话框,并把主 ...
- UVa 297 Quadtrees(树的递归)
Quadtrees 四分树就是一颗一个结点只有4个儿子或者没有儿子的树 [题目链接]UVa 297 Quadtrees [题目类型]树的递归 &题意: 一个图片,像素是32*32,给你两个先序 ...
- C++模板元编程 - 2 模仿haskell的列表以及相关操作
这是昨天和今天写的东西,利用C++的可变模板参数包以及包展开,模式匹配的一些东西做的,感觉用typename...比轮子叔那个List<A,List<B, List<C, D> ...
- cotex_m3内核提供的ITM串口打印调试
cotex_m3内核的ARM提供了ITM串口打印观测的功能,可以不用ARM单片机自己的串口就可在开发时候串口打印调试.节约了宝贵的内部资源,同时也为调试提供了方便.使用方法如下: 1 将下面的SWO_ ...
- ucos-内存管理:
注意:一个内存分区至少含有2个内存块(块的大小至少能满足一个指针大小) 1先定义一个内存块结构指针OS_MEM *buffMEM,在定义一个而为指针A[m][n] 2创建内存分区:buffMEM=OS ...
- M2M协议
1, M2M协议 M2M是Machine-to-Machine/Man的简称,是一种以机器终端智能交互为核心的.网络化的应用与服务.M2M协议规定了人机和机器之间交互需要遵从的通信协议.随着科学技术的 ...
- REDHAT6.2配置yum源(64位)(转载)
From:http://www.dedecms8.com/db/php_bc/12322.html 1.删除redhat原有的yum rpm -aq|grep yum|xargs rpm -e --n ...
- Yii 框架生成缩略图
控制器 if($model->load(Yii::$app->request->post())) { //原图 $model->img = ...