一、利用定时器定时功能,实现定时器单个溢出中断,实现 p3.0 方波输出
#include “cc430x613x.h”
void main()
{
wdtctl = wdtpw + wdthold; // 停止看门狗定时器
p3dir |= 0x04; // p3口初始化,设置为输出模式
ta0ccr0 = 32768; // 定义中断计数周期1s,时钟频率为32.768mhz,32768 / 32768 = 1s
ta0cctl0 = ccie; // ta0ccr0捕获/比较中断寄存器中断使能
ta0ctl = tassel_1 + mc_1 + taclr; // tassel_1,aclk时钟源 mc_1,增计数模式
_bis_sr(lpm3_bits + gie); // 进入lpm3低功耗模式,开启总中断
}
#pragma vector = timer0_a0_vector
__interrupt void timer_a(void) // 定时器中断触发,p3输出口异或,电平翻转
{
p3out ^= 0x04;
}
二、利用定时器定时功能,实现定时器多个溢出,对应产生多个中断,实现 p3.0 输出
#include “cc430x613x.h”
void main()
{
wdtctl = wdtpw + wdthold; // 停止看门狗定时器
p3dir |= 0x04; // p3口初始化,设置为输出模式
ta0ccr0 = 32768; // 定义中断计数周期1s,时钟频率为32.768mhz,32768 / 32768 = 1s
ta0cctl0 = ccie; // ta0ccr0捕获/比较中断寄存器中断使能
ta0ccr1 = 3276; // 定义中断溢出周期100ms
ta0cctl1 = ccie; // ta0ccr0捕获/比较中断寄存器中断使能
ta0ctl = tassel_1 + mc_1 + taclr; // tassel_1,aclk时钟源 mc_1,增计数模式
_bis_sr(lpm3_bits + gie); // 进入lpm3低功耗模式,开启总中断
}
#pragma vector = timer0_a0_vector
__interrupt void timer_a(void) // 1s溢出中断
{
p3out = ~0x04;
}
#pragma vector = timer0_a1_vector
__interrupt void timer_a1(void) // 100ms溢出中断
{
switch(ta0iv)
{
case 2:p3out = 0x04;break;
case 4:break;
case 10:break;
}
}
半导体制冷技术在生物反应器中的应用优势
基尔霍夫定律与叠加原理
MIMXRT1021和MIMXRT1024 ADC通道数
ADS的直流仿真实验
苹果提供两小时送货服务,以5美元的价格发送快递
MSP单片机实现P3.0方波输出的设计
基于实现FPGA的刀片与主板之间PCI数据交换的方法介绍
2010上海嘉定产学研合作洽谈会暨高新技术展示会将于9月举行
八大现有的生物识别技术
AMD中国成长之路:中关村里来了个老面孔
红米note4x带来了初音未来,小米6是否会带来更大惊喜?雷军你咋想?
ZYNQ7000系列 PS、PL、AXI 、启动流程基本概念
一种可用近红外光激发的电压荧光纳米探针
高速通道损耗压力测试板应用场景
中国铁塔与顺丰集团签署战略合作框架协议
谷歌联手三星,将推出安卓14版Wear OS 5
释放潜能,突破无限未来 | 美格智能多款5G模组亮相2022世界5G大会
AD6659混合信号双通道中频接收机
基于网关和BLE的智能燃气表系统的设计及原理
高通预期2019年Q3业绩预估下滑26% 华为向台积电追单加快自有芯片使用率