需要了解MSP430系列的GPIO,TIMERA,UART相关的知识
涉及内容:PWM输出配置,TIMER A 的捕捉/比较寄存器的输入捕捉配置,串口通信的配置,系统时钟的配置
公式:v = s/t;
s,就是轮子周长;t就是中断周期
参数:
周长:C=2*pi*R=pi*D=20.41975cm;
总共20个洞。
1.0209875cm/洞
每穿过一个洞,产生一个中断,得到计算的周期T
v = s/t
未被遮挡,指示灯亮,输出高电平
被遮挡,指示灯灭,输出低电平
开发板:MSP430G2ET(MSP430G2553)
void TA1_CCR2_PIN1_5()
{
/*设置定时间隔*/
// TA1CCR0 = 49999;//50ms
/*开启TAIFG中断*/
TA1CTL |= TAIE;
/*TA1,CCR2用于捕捉功能*/
TA1CCTL2 |= CAP;
/*上升沿捕捉*/
TA1CCTL2 |= CM0;
/*P2.5作为捕捉输入(CCI2B)*/
TA1CCTL2 |= CCIS0;
P2SEL |= BIT5;
/*允许捕捉比较中断*/
TA1CCTL2 |= CCIE;
__bis_SR_register(GIE);
}
void TA11_P21_PWM_OUT(void)
{
P2SEL |= BIT1;
P2DIR |= BIT1;//P2.1设为输出TA1.1
TA1CTL |= TASSEL_2 + MC_1; //选SMCLK,UP MODE
TA1CCTL1 = OUTMOD_7;
TA1CCR0 = 2000;
TA1CCR1 = PWM; //占空比:TACCR1/TACCR0
}
捕捉/比较1,捕捉/比较2,定时器中断溢出共用一个中断向量
#pragma vector = TIMER1_A1_VECTOR
__interrupt void Time_Tick(void)
{
static uint8_t cnt = 0;
__bis_SR_register(GIE);//允许中断嵌套
switch(TA1IV)
{
case 0x02://捕捉比较中断1
break;
case 0x04://捕捉比较中断2
if(cnt == 0)
{
capvalue_1 = TA1CCR2;//保存第一次捕捉值
timestamp_1 = timestamp;//保存第一次时间戳
cnt ++;
}
else
{
capvalue_2 = TA1CCR2;//保存第二次捕捉值
timestamp_2 = timestamp;//保存第二次时间戳
cnt = 0;
totaltime = (timestamp_2 - timestamp_1) * 2000 + capvalue_2 - capvalue_1;//计算总时间
}
break;
case 0x0A://溢出中断
timestamp ++;
break;
default:
break;
}
}
#include <msp430.h>
#include "stdint.h"
#include <stdio.h>
//#define PWM 170 // max for RCCX UNDER 2000
uint32_t timestamp = 0;//时间戳
uint16_t capvalue_1 = 0;//第一次捕捉值
uint16_t capvalue_2 = 0;//第二次捕捉值
uint32_t timestamp_1 = 0;//第一次时间戳
uint32_t timestamp_2 = 0;//第二次时间戳
uint32_t totaltime = 0;
float freq = 0;
#define P1_IE_ON P1IE |= BIT3
#define P1_IE_OFF P1IE &=~ BIT3
int num = 0;
int temp = 0;
unsigned int i,j;
/*
* @FN: void GPIO_INIT()
* @PAR: NONE
* @RETURN:NONE
* @BRIEF:配置三个 TCRT5000 模块
*/
//void GPIO_INIT()
//{
// P1DIR &=~(BIT3+BIT4+BIT5);
// P1REN |= (BIT3+BIT4+BIT5);
// P1OUT &=~(BIT3+BIT4+BIT5);
//}
/*
* @FN: void InitSystemClock(void)
* @PAR: NONE
* @RETURN:NONE
* @BRIEF: 配置系统时钟1MHZ
*/
void
文章浏览阅读1k次。FFmpeg是非常流行的多媒体框架,主要用于音视频的解码、编码、转码、混流、过滤、播放等操作。2000年,法国著名的程序员Fabrice Bellard创建FFmpeg项目,前两个字母FF是Fast Forward的意思,同时他也发起MPlayer开源多媒体播放器项目。FFmpeg图标围绕FFmpeg后续将讲解FFmpeg的命令行操作,使用FFmpeg的API编写程序,深入源码进行分析等,本篇介绍..._h265 提取strm
文章浏览阅读1.1k次。我们在说 css 的核心基础的时候,介绍了三种选择器类型,分别是:class 选择器,id 选择器,标签选择器,但是啊,我们日常用到的肯定不止这些,我们这篇主要来说说一些除此之外的其他选择器,这个我们日后工作会常常用到~一、分组选择器先来说说分组选择器的由来,再说这个东西具体怎么用1. 由来我们知道啊,css 层叠样式由很多,但是在一个网页中,肯定有相同、或者说就是一模一样的样式,但是我们总不能一个一个去复制粘贴一遍,所以,为了我们更好的去定义css,我们需要一个选择器可以支持到我们做到这个_网页设计选择器类型介绍
文章浏览阅读84次。我正在开发一项功能,要求我获取网页的内容,然后检查该页面中是否存在某些文本.这是一个反向链接检查工具.问题是-函数在大多数情况下都能完美运行,但是有时,当链接明显位于该页面时,它会将页面标记为没有链接.我已经将其跟踪到视觉上比较输出中的字符串的程度,并且它们匹配得很好,但是使用==运算符,php告诉我它们不匹配.意识到这可能是某种编码问题,所以我决定看看如果在它们上使用base64_encode(...
文章浏览阅读523次。Linux下查看系统剩余空间1.查看系统整体空间剩余情况在命令行中输入“df -h”可以查看系统的分配,已使用和可用情况。如下图:2.查看每个文件夹的占用情况在命令行中输入 “du -sh *”可以查看每个文件夹的大小。此举可以快速定位大文件所存在的位置。..._kali查看剩余空间
文章浏览阅读1.9w次,点赞14次,收藏99次。empyreal生平empyrical是常用金融风险和表现度量。被zipline和pyfolio采用。三者都是quantopian开发维护。Github 官方文档API参考sortino_ratioempyrical.sortino_ratio(returns, required_return=0, period='daily', annualization=None, ..._empyrical库
文章浏览阅读1w次,点赞3次,收藏20次。1.SQL Server数据库操作的原子性,出Select之外,Update、Insert、Delete的操作都是原子性的,不可拆分,执行的最小单位;可以用于充值交费中 ,如果多个请求进行更新同一条 数据时,直接使用update Table1 set money=money+100 这种方式就可以避免多个语句,更新一条记录导致的更新失败的问题(一般想法是,先查询当前的账户余额,然后进行更新,这..._高级.net高级高频面试
文章浏览阅读890次。关于Matlab中rayleighchan这个函数的使用12-16各位大哥:关于Matlab中,现在有个rayleighchan这样的函数,它能产生瑞利衰落的信道,但是,其中的有个参数不是很理解,Help里面也没有讲清楚。它其中有个参数叫做:AvgPathGaindB-----average path gains;另外还有一个只读的参数是:PathGains。现在搞不清楚这两个参数之间是什么关系,..._matlab2020 无法调用rayleighchan
文章浏览阅读996次。DATA: EXT_NUMBER TYPE BAPI_ITOB_PARMS-EQUIPMENT. DATA: DATA_GENERAL TYPE BAPI_ITOB. DATA: DATA_GENERAL_EXP TYPE BAPI_ITOB. DATA: DATA_SPECIFIC TYPE BAPI_ITOB_EQ_ONLY. DATA: DATA_INSTALL TYPE BAPI_ITOB_EQ_INSTALL. DATA: RETURN TYPE B._bapi_equi_create
文章浏览阅读67次。请编写程序,找出一段给定文字中出现最频繁的那个英文字母。输入格式:输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。输出格式:在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。输入样例:This is a simple TEST. There ARE numbers and oth
文章浏览阅读1.3k次。零知识证明应用到区块链中的技术挑战李康1,2, 孙毅1,2, 张珺3, 李军4, 周继华5, 李忠诚11. 中国科学院计算技术研究所,北京 100190 2. 中国科学院..._零知识证明技术的国内外研究现状
文章浏览阅读159次。集合jí hé[释义]①(动)许多分散的人或物聚在一起。民兵已经在村前~了。(作谓语)②(动)使集合。~各种材料;加以分析。(作谓语)[构成]动补式:集〈合[反义]分散、解散[同音]极核...仿写复习教案一、《语文课程标准》:根据语言情境的需要进行仿写、扩写、续写等,做到语言准确、连贯、流畅。其实仿写语句试题有一定的综合性,它往往涉及语法结构、表达方式、语意连贯、修辞运用、风格谐调等许多方面,也间..._java 小数乘法
文章浏览阅读4.4w次。v-if多个条件判断语句还有条件则继续增加v-else-if// 我这里是三个条件,如果还有条件则继续增加 v-else-if <div v-if="item.enable === '已签到'"> <span class="badge badge-success">{{ item.enable }}</span> </div> <..._v-else-if最多写几个