个人学习理解,难免有错,望各位大佬指出错误,不胜感激

有些引脚在单片机上没看到,在原理图上可以找得到,说明这些引脚没有引出来

单片机上的引出的引脚是可以外部操作的,有些不必要引出的就直接在单片机内部

对于单片机的学习其实就是寄存器的学习与操作,仔细阅读说明书

MSP430芯片的USB口可以在电脑上创建两个com口,其中一个可以用来调试

可以用串口调试助手来检测数据,相当于里面集成了一个串口

插上usb后,打开设备管理器,我的电脑win8快捷键  win + x + m(win+x可以调出一个菜单,自己看就知道了,相当于右击左下角的开始菜单)

这个就是一个虚拟的串口,如果不仔细阅读说明书还是不好找的,我一开始没有找到p4.4    p4.5 串口,就是因为他们集成在单片机内部,没有引出,用作调试

芯片上   V 、Vcc,  为供电端

G、Gnd 为地端,与供电端相对应,构成通路,通俗点理解就是电流从Vcc流入,从Gnd流出

进行单片机编程的时候,新手难免会疑惑,比如以下代码

这些是对串口的寄存器操作,UC为USCI的缩写,USCI在下面的下面的下面。。。

这些东西是如何对应到硬件上的呢,对这些变量的操作是怎样转化到对单片机硬件的操作的呢?

其实这些东西都在头文件定义好了,每一个名称对应一个地址,也就对应到了硬件

只是一个名称而已,这也是域名出现的原因,如果域名都不知道的话,那就是qq好友的备注,我就不信你没用过电话簿.......

置位:  使有效  复位:  使无效

IE  Interrupt Enable  通常情况下为中断使能

SR  State Register   状态寄存器

RST  当然是Reset啦

GIE  General Interrupt Enable  通用中断使能

NMI  Non Maskable Interrupt  不可屏蔽中断

POR  Power On Reset  上电复位

PUC  Power Up Clear  上电清除

RXD  Receive Exchange Data

TXD  Transmit Exchange Data

CTL  Control  BTCTL  基本定时器控制寄存器

USCI      Universal Communication Interface  通用通信接口,US应该是一个单词

USART  Universal Synchronous/Asynchronous Receive/Transmit    同步/异步串行通信,包含SPI同步串行通信,Inter-IC(I方C)、、串行通信方式可能有不少。。

还有一个长得像的词:UART异步串行通信,这个就是USART中的异步功能,不能同步。一般情况下UART与USART一样用,因为同步模式用的少。

定时器A:  TACTL  Timer  A  Control  定时器A控制寄存器  TAR  Timer A Register  定时器A的计数寄存器  MC  Model Control  模式控制

定时器B:  TBCTL  Timer  B  Control  定时器B控制寄存器  TBR  Timer B Register  定时器B的计数寄存器

MSP430的通用IO口 P1--P6端口,每个端口8位,其中P1和P2口具有中断功能

控制寄存器有  PNSEL  PNDIR  PNOUT  PNIN

分别为选择引脚,控制引脚方向(输入还是输出),表示对应的引脚的输出值(供外部读取),表示对应的引脚的输入值(供外部读取)

中断函数不需要在主函数中调用,在发生相应的中断时自动调用,定义中断函数时需要用关键字标识,如下中断函数

#pragma vector=TIMER1_A0_VECTOR   //表示中断向量,也就是地址,表示是哪一种中断,属于谁的中断

TIMER1_A0_VECTOR就是个预先定义的单片机中的计时器A0的中断地址,=号前面的通常不变

__interrupt void TIMER1_A0_ISR(void)    //__interrupt为关键字,表示这是一个中断服务函数
{
    t5ms_cnt++;
    if (t5ms_cnt==2)
    {
     t10ms_flag=1;
     t10ms_cnt++;
     t5ms_cnt=0;
    }
    if (t10ms_cnt==10)
    {
     t100ms_flag=1;
     t100ms_cnt++;
     t10ms_cnt=0;
    }
    if (t100ms_cnt==10)
    {
     t1000ms_flag=1;
     t100ms_cnt=0;
    }
}

对于单片机里的寄存器操作,也有不少的技巧

比如这一个

P1OUT   |    =    BIT2

P1一共有8个位,BIT2在头文件预定义为0x02,也就是00000010,BIT3就是00000100,都是为了简化编程

上面就等价于   P1OUT    =    P1OUT    |     BIT2

BIT2只有第二位为1,其余为0,所以这个式子不会影响其他位置的数字,任何一个数字     |      0,结果还等于本身

同理        P4OUT ^= 0x80               P1OUT &= ~(BIT5+BIT6)  你们差不多就也能理解了

注意     |   与   ||     &  与  &&   运算不同,原理请自行百度谷歌。

430的时钟

三个时钟源:

LFXT1CLK    低频时钟源

XT2CLK     高频时钟源

DCOCLK     数字控制RC振荡器

三种时钟系统,用于不同的模块

注:430的每一种器件都含有低速晶体振荡器LFXT1

最后,放上两张图纪念一下

MSP430F5529学习记录的更多相关文章

  1. Quartz 学习记录1

    原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...

  2. Java 静态内部类与非静态内部类 学习记录.

    目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...

  3. Apache Shiro 学习记录4

    今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...

  4. UWP学习记录12-应用到应用的通信

    UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...

  5. UWP学习记录11-设计和UI

    UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...

  6. UWP学习记录10-设计和UI之控件和模式7

    UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...

  7. UWP学习记录9-设计和UI之控件和模式6

    UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...

  8. UWP学习记录8-设计和UI之控件和模式5

    UWP学习记录8-设计和UI之控件和模式5 1.日历.日期和时间控件 日期和时间控件提供了标准的本地化方法,可供用户在应用中查看并设置日期和时间值. 有四个日期和时间控件可供选择,选择的依据如下: 日 ...

  9. UWP学习记录7-设计和UI之控件和模式4

    UWP学习记录7-设计和UI之控件和模式4 1.翻转视图 使用翻转视图浏览集合中的图像或其他项目(例如相册中的照片或产品详细信息页中的项目),一次显示一个项目. 对于触摸设备,轻扫某个项将在整个集合中 ...

随机推荐

  1. Win10如何禁止软件运行?win10禁止软件启动的设置方法!禁止人生日历热点快讯的方法

    相信不少使用Win10系统的用户遇到过下载了一款软件进行安装后后续会有接连不断的程序安装到电脑中.他可能似乎一个大家常用的程序,在我们安装好运行的时候会通过后台偷偷下载其他应用安装到我们电脑中,导致系 ...

  2. 如何保证Redis的高并发

    单机的redis几乎不太可能说QPS超过10万+,一般在几万. 除非一些特殊情况,比如你的机器性能特别好,配置特别高,物理机,维护做的特别好,而且你的整体的操作不是太复杂. Redis通过主从架构,实 ...

  3. 使用jquery.more.js上滑加载更多

    html: <div id="more"> <div class="single_item"> <div class=" ...

  4. Fib数列2 费马小定理+矩阵乘法

    题解: 费马小定理 a^(p-1)=1(mod p) 这里推广到矩阵也是成立的 所以我们可以对(2^n)%(p-1) 然后矩阵乘法维护就好了 模数较大使用快速乘

  5. spark操作Kudu之写 - 使用DataFrame API

    在通过DataFrame API编写时,目前只支持一种模式“append”.尚未实现的“覆盖”模式 import org.apache.kudu.spark.kudu._ import org.apa ...

  6. HTML元素粘滞融合效果

    .target { filter: url("#goo"); } .ball { width: 150px; height: 150px; border-radius: 50%; ...

  7. JavaSE| 面向对象的三大特征

    1.面向对象的基本特征之一:封装Encapsulation 目的:隐藏实现细节,让使用者方便,让代码更安全 将对象的属性和行为封装起来,其载体就是类.类通常对客户隐藏其实现细节,这就是封装的思想. 封 ...

  8. 055 kafka可靠性与高性能

    一:可靠性 1. 二:高性能 1.

  9. 五种UML工具

    ProcessOn是一款在线流程图软件(https://www.processon.com/),能够高效的完成在线流程图.UI原型图.UML以及组织图,网络拓扑图的构建.该软件最大的特点是,无需安装, ...

  10. day23 面向对象 函数和方法区分

    最近两周内容大概回顾: # 文件操作 # # 模块:random,序列化模块,时间模块,collections,re,os,sys # 模块与包的概念和导入方法 # 写代码的规范 # 正则表达式 # ...