(12)MSP430F5529 常用内置函数和一些说明

  (1)  MSP430F5529支持最高工作频率为25MHZ,也就是说你通过

                锁相环倍频来提高系统运行速度是有一个限制的,

                最高只能到25MHZ(再高没意思了)

   2几个重要的内联函数

                      (内联函数定义在intrinsics.h中,但是这几个函数使用的时候不需要事先声明该文件头)

                        __bic_SR_register();

                                      CPUSR寄存器中的某些位清零。即将括号内的位清零。

                                      例:__bic_SR_register(GIE);//GIE位清零,即关闭总中断

                        __bis_SR_register();

                                      CPUSR寄存器中的某些位置1。即将括号内的位置1

                        __interrupt

  放在函数前面,标志中断函数。下面这段程序是看门狗WDT的中断服务函数。WDT_VECTOR为看门狗的中断向量。举例:

   #pragma vector=WDT_VECTOR

  __interrupt void WatchDog(void)

  {… }

                 __monitor

  放在函数前面,功能是声明当这一函数执行的时候自动关闭中断。应该尽量缩短这样的函数,否则,中断事件无法得到及时的响应。

                 __bic_SR_register_on_exit();

   功能:用于一个中断函数或者不可中断函数(标志为__monitor)返回时,将CPUSR寄存器中的某些位清0.

    ⑥ __bis_SR_register_on_exit();

  功能:用于一个中断函数或者不可中断函数(标志为__monitor)返回时,将CPUSR寄存器中的某些位置1.

    ⑦ __no_init

  放在全局变量前面,功能是使程序启动时不为变量赋初值

    ⑧ __disable_interrupt

          关闭总中断,另外一个相同作用的表达为:    _DINT()

    ⑨__enable_interrupt

                     开启总中断,另外一个相同作用的表达为:    _EINT()

    ⑩__even_in_range(  ,  );

    常被用在多源中断的查询中,如switch( __even_in_range(TAIV10)

    意思是:只有在TAIV的值是在0--10内的偶数时才会执行

  switch函数内的语句。其作用是提高switch语句的效率

   A.        _NOP()

  空操作,等价于__no_operation指令

  B. __get_SP_register(void)

  功能:返回堆栈指针寄存器SP的值。

  C.__get_SR_register_on_exit(void)

  功能:用于一个中断函数或者不可中断函数(标志为__monitor)返回时,返回状态寄存器SR的值。

    D. __bcd_add_short(unsigned short,unsigned short);

  功能:两个16BCD格式的数字相加,返回和。

   E.__bcd_add_long(unsigned long,unsigned long);

   功能:两个32BCD格式的数字相加,返回和。

   F. __delay_cycles(x);

          系统自带的精确延时。x必须是常量或则是常量表达式,如果是变量则编译报错!延时的时间为x乘以MCLK的时钟周期

  (3关于MSP430大量寄存器如何处理的问题:

            MSP430寄存器太多了,把每一个都记住实在太难。所以,我的建议是,学习的时候,把重要的常用的寄存器记住。

       至于其它众多寄存器,大家只需要有一个印象,知道这些寄存器可以控制那些设置。到具体用的时候,再查找技术手册;

   4)头文件msp430f5529.h

  里面不仅定义了对各个寄存器的声明,还定义了很多很方便的东东。

  比如你要进入低功耗模式1LPM1

  比如你要把定时器A0的时钟选为SMCLK

         最原始的做法是TA0CTL=0x0200,但现在有更清晰的做法TA0CTL=TASSEL_2//时钟源选择模式2

  所以说要不断发掘不断积累!

  (5中断寄存器的名字

         大家都知道中断函数是怎么写的,模式为:

  #pragma vector=中断向量地址(名)

  __interrupt void 自定义中断函数名(void)

  {… }

         但是想要写出来,你首先得知道中断向量叫什么名字吧

  到目前,我们已经遇到了看门狗中断WDT_VECTOR、引脚P2的外部中断PORT2_VECTOR、定时器A0CCR1-CCR4TAIFG)中断TIMER0_A1_VECTOR

  还有大量的中断向量,我们目前还不知道名字该怎么办。

  打开msp430f5529.h,拉到该文件底部,就展示了定义的各种中断向量名,还有解释。

  (6)MSP430的最大特色就是低功耗,这个是体现在各个方面的。在整体层次上,MSP430可以设置整个系统的工作模式以达到适应工作要求且降低功耗的目的。

  为了降低功耗,处理器有几个考虑:一个是降低工作电压(F5529为3.3V很低了吧,而且内部核心电压VCORE更低); 

  第二个就是把暂时不用的模块功能关闭掉(F5529各个模块都可以独立运行,如定时器、A/D转换、看门狗等都可以在CPU休眠的状态下独立工作。若需要主CPU工作,任何一个模块都可以通过中断唤醒CPU,从而使系统以最低功耗运行。);

  第三个方法就是降低工作时钟频率。

文章摘录于:http://blog.lehu.shu.edu.cn/879836630/A449074.html

转载于:https://www.cnblogs.com/qingfengshuimu/p/4357819.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零开始学android编程_android初学者的入门秘籍

大概是去年年底开始接触android原本是学习嵌入式的我,领导让我看看能不能搞一下这个android APP。一开始的我懵逼得很。。。这android APP 不是得用java写吗??? 现在我看网上说比较多还是用kotlin,没去学。。。好家伙&…

web中的cookie管理

本篇是以JSP为背景介绍,但是在web开发中也是相同的原理。 什么是cookie 由于http是一种无状态的协议,因此服务器收到请求后,只会当做一次新的请求。即便你重复发送了1000次同样的请求,这1000次都属于独立的请求。 这样显然效率很低…

unity怎么设置游戏页面_杭州有没有正规的unity游戏开发培训机构?

现在Unity游戏开发是个火热的行业,薪资待遇比较高,未来的发展方向和前景也比较不错,很多人也都想成为专业Unity游戏开发工程师,学习Unity游戏开发已经成为很多追求更好就业前景的人的选择。学习专业、系统的Unity游戏开发知识并达…

VC++ 使用attributes定义接口

1.定义预处理命令_ATL_ATTRIBUTES 2.在一个全局的Cpp文件里面配置module的attribute [module(dll, uuid "{3845951F-15B8-4286-8E7D-E9D4F5C7B6CE}", name "TestApp")]3.定义接口 [object,uuid("9F414A8A-1D5E-4aff-A60E-CFD65155ABB6"),dual,…

Knockout.Js案例一Introduction

在这第一个教程中,您将体验的一些基本知识构建的web UI Model-View-ViewModel使用knockout.js(MVVM)模式。案例1&#xff1a;添加:data-bind <p>First name: <strong data-bind"text:firstName">1</strong></p><p>Last name: <stro…

谷歌浏览器外贸版_做外贸快两个月,没有单怎么办?

Hello 大家好&#xff0c;我是Jack。今天给大家更新一篇在知乎看到的外贸问题&#xff1a;做外贸快两个月&#xff0c;没有单怎么办?外贸这个话题在知乎算是小众话题了&#xff0c;相比较于职场&#xff0c;英语学习&#xff0c;国际政治&#xff0c;IT等&#xff0c;这些话题…

React Native通信机制详解

http://blog.cnbang.net/tech/2698/ React Native是facebook刚开源的框架&#xff0c;可以用javascript直接开发原生APP&#xff0c;先不说这个框架后续是否能得到大众认可&#xff0c;单从源码来说&#xff0c;这个框架源码里有非常多的设计思想和实现方式值得学习&#xff0c…

excel打开2个独立窗口_谢楠称女性独立的不是钱是心 谢楠与吴京婚后生育2个儿子...

近日&#xff0c;在综艺节目《幸福三重奏》 三日谈妻子篇中&#xff0c;谢楠被问到如何看待独立女性时&#xff0c;反问记者会不会问吴京同样的问题&#xff1b;随后回答道&#xff0c;女性独立的不是钱&#xff0c;而是你的心&#xff1b;楠姐的回答超级霸气了&#xff0c;你们…

Linux学习 Unit 9

Unit9.openssh-server1.openssh-server功能&#xff1a;让远程主机可以通过网络访问sshd服务&#xff0c;开始一个安全shell2.客户端连接方式ssh远程主机用户远程主机ip[rootdesktop0 ~]# ssh root172.25.0.11The authenticity of host 172.25.0.11 (172.25.0.11) cant be esta…

KMP模板与讲解

读书笔记终于写完了&#xff0c;写一下我对KMP的理解。 KMP的思想就是尽量利用已经得到的信息&#xff0c;来降低时间复杂度&#xff0c;已经得到的信息存放在next数组里。算法确实很难理解&#xff0c;所以很难讲解。。举个例子来说吧。 设字符串是str[]&#xff0c;next[5] …

android 非root app 捕捉系统广播_APP的生死之道

这篇文章主要介绍APP在安卓系统中是怎么被杀死的&#xff0c;按照怎样的一个策略去释放进程&#xff1b;同时介绍一些延长应用存活时间的方案&#xff0c;虽然这个在现在安卓系统上越来越难实现了&#xff0c;但是也是可以稍微了解下&#xff0c;主要也是通过这些hack的方案更好…

@value 静态变量_面试官:为什么静态方法不能调用非静态方法和变量?

这个可能很多人之前学习jvm的时候都会遇到&#xff0c;属于一个小问题&#xff0c;写这篇文章的原因是我在看java相关的面试题目中遇到的&#xff0c;因此顺手总结一下&#xff1a;一、例子我们先看效果&#xff1a;我们在静态方法main中调用非静态变量或者是方法都会报错。我们…

Memcached 工作原理

http://hzp.iteye.com/blog/1872664Memcached处理的原子是每一个&#xff08;key&#xff0c;value&#xff09;对&#xff08;以下简称kv对&#xff09;&#xff0c;key会通过一个hash算法转化成hash-key&#xff0c;便于查找、对比以及做到尽可能的散列。同时&#xff0c;mem…

ad中电容用什么封装_用什么来降低噪声?只要几个电容器就可以,简单有效!...

使用电容器降低噪声噪声分很多种&#xff0c;性质也是多种多样的。所以&#xff0c;噪声对策(即降低噪声的方法)也多种多样。在这里主要谈开关电源相关的噪声&#xff0c;因此&#xff0c;请理解为DC电压中电压电平较低、频率较高的噪声。另外&#xff0c;除电容外&#xff0c;…

C#委托的介绍(delegate、Action、Func、predicate)

委托是一个类&#xff0c;它定义了方法的类型&#xff0c;使得可以将方法当作另一个方法的参数来进行传递。事件是一种特殊的委托。 1.委托的声明 (1). delegate delegate我们常用到的一种声明 Delegate至少0个参数&#xff0c;至多32个参数&#xff0c;可以无返回值&#xff0…

版本1.8.1Go安装以及语法高亮配置

注意点&#xff1a;普通用户和root用户高亮要设置两遍①下载go安装包 https://golang.org/doc/ 最新的版本&#xff1a;go1.8.1.linux-amd64.tar.gz ②进入主目录&#xff1a;$:su ~赋给普通用户root权限&#xff0c;以便执行tar命令&#xff1a;$:su root 把压缩包解压到/usr/…

flutter 自定义键盘_入门级机械键盘选购对比

个人觉得键盘这种东西&#xff0c;手感是最重要的&#xff0c;毕竟键盘是要拿用的&#xff0c;不是拿来供的。不管键盘再怎么好看、酷炫&#xff0c;只要你用起来不舒服、不习惯&#xff0c;那对你而言&#xff0c;就不会是一把好键盘。那么&#xff0c;影响手感的因素主要有哪…

四个好看的CSS样式表格

1. 单像素边框CSS表格 这是一个非经常常使用的表格样式。 源码&#xff1a; <!-- CSS goes in the document HEAD or added to your external stylesheet --> <style type"text/css"> table.gridtable { font-family: verdana,arial,sans-serif; font-si…

loading initial ramdisk 卡住_驿站晨读 | 一城市多家快递“卡住了”!有快递网点直接建议:换别家吧......

编辑&#xff1a;驿站老鬼 主播&#xff1a;若晨‍▎美团回应“外卖小哥致电取餐被打成颅脑损伤”10月15日晚&#xff0c;成都温江区某小区内发生一起顾客殴打外卖员事件&#xff0c;导致外卖员冯某东轻度颅脑损伤以及右膝外侧半月板撕裂。据了解&#xff0c;事件起因是顾客要…

JavaScript大神用代码带你揭秘吉普赛古老神秘读心术

javascript/HTML5课题&#xff1a;javascript开发读心术游戏PS:大爆料&#xff01;javascript解密读心术游戏背后故事知识点&#xff1a;读心术原理算法独家揭秘&#xff0c;HTML5最新选择器&#xff0c;原生javascript动态DOM生成&#xff0c;判断与循环讲解&#xff0c;函数封…