MSP430学习笔记

1、  IAR程序下载方式:串口下载

2、  复位向量地址:0FFFEH。地址中存放的是程序段的开始地址

3、  程序下载和在线调试电源可通过计算机的jatg口提供,无需加电源

 

4、  特殊功能寄存器(SFR):0H~0FH

5、  8位外转模块+IO端口:010H~0FFH

6、  16位外转模块+TIMER+ADC0100H~01FFH

7、  定义数据段地址(RAM):0200H~09FFH

8、  专用FLASH引导:0A00H~)FBFH

9、  信息段:FC0H~10FFH(可擦除、读写信息)

10、              程序代码段:1100H~FFDFH

11、              中断向量地址段:FFE0H~FFFFH

 

12、              硬件乘法器是独立于CPU运行的,将变量放入制定的地址即可(建议是用乘法器之前关闭中断)

 

 

13、              MSP430F14968IO口(共48个),其中P1P2占两个中断向量,即可设置16个外部中断源

14、              IO口可直接通过端口的输入输出寄存器进行端口通信

15、              因为所有IO口都是和其他外设复用的,因此在使用前需先设定端口功能:外设or P

 

 

16、              两个16位定时器(对应两个定时器中断向量),看门狗也可以用作定时器

 

17、              包含一个内部时钟(DCOCLK)和两个外部时钟(LFXT1CLKXT2

18、              内部始终最高可达1024KHz

19、              一个外部时钟XT1可接32KHz,一个外部时钟XT2可接8MHz(单片机最高工作频率)

20、              CPU和外围模块根据不同需求使用不同的时钟信号:

辅助时钟ACLK:来自LFXT1CLK晶体的频率,用户外围模块

主系统时钟MCLK:用户CPU和系统,可来自于LFXT1CLKXT2DCOCLK其中之一,若选择LFXT1CLKXT2,但时钟源出现问题时,系统会自动切换到选择DCOCLK作为MCLK时钟源,缺省情况下也是选择DCOCLK作为MCLK时钟源;

子系统时钟SMCLK:可由XT2CLK或者DCOCLK产生,用于外围模块

page8-状态寄存器R2

 

21、              中断事件能使系统从各种工作方式中唤醒,使用RETI指令返回到中断事件以前所选择的状态,也可以在中断事件中修改工作状态寄存器,使终端退出后进入到不同的工作状态;

22、              中断向量表

 

23、              PUC:上电清除信号,产生它的事件:

发生POR信号(上电复位)

看门狗定时时间到

看门狗定时写入错误的安全值(高位05AH

RST/NMI设置成NMI模式,在RST/NMI引脚出现低电平信号

FLASH存储器写入错误的安全值(高位05AH

24、              NMI中断源:RST/NMI(NMIIFG)、振荡器故障(OFIFG)和闪存非法访问(ACCVIFG,这些标志一旦被置位都会保持到他们被软件复位,因此可以通过软件却只中断请求源,即出错的类型;

 

25、              #define DEFC(name,address) __no_initvolatile unsigned char name @ address

name写入指定地址:address

 

26       捕获模式:外部触发当触发源(检测信号引脚)有信号(触发方式)时,系统将定时器TxR中的计数值保存到它的锁存寄存器TxCCRx16位)中,实现精确测量。

27        

28       安装MSP430USB驱动时出错:inf不能找到所需的段

       按照网上的方法:设置smartcard 启动+自动

    打开驱动程序目录,发现有两个INF文件。其中一个带有 [ClassInstall32] 段,另一个没有,于是从一个INF中复制 [ClassInstall32] 和其下面的 AddReg= 。。。。一句,粘贴到无此段的INF文件里面,重新尝试安装。

       还是安装不成功,查看setupapi.log,发现“#E339 添加服务: 服务 "usbser" 的二进制文件 "C:\WINDOWS\system32\DRIVERS\usbser.sys" 不存在。”,在网上下载usbser.sys,复制到C:\WINDOWS\system32\DRIVERS\目录下,重新安装,OK

 

调试问题:

This product is not licensed for MISRA C checking

解决:

optiongeneral option 设置一下就可以了
最后一个选项里不选ena××e MISRA-C 点击ok就行了

 

开发板测试问题:

看门狗关闭,但是系统还是老是自动重启

解决:

开了定时器中断,但是未定义中断入口及中断函数

 

ADC配置基本项(F1232):

PxSEL:端口ADC功能使能;

SREF_x:参考电压;

SHTx:转换时序与采样时钟的关系:4*T*x

MSC:多次采样/转换位:

       SHP = 1  + MSC=0 == SHI信号上升沿触发采集定时器

       CONSE!=0+ MSC=1==上一次转换完成马上进入下一次转换

ADC10ON:打开ADC10内核

 

INCH_1:转换通道选择

ADC10DIV_7:时钟源分频因子,x + 1

ADC10SSEL_1:时钟选择

CONSEQ_0:转换模式

 

ENC:转换允许位;

ADC10SC:开始转换

 

三通道ADC单次采样初始化例程:

       ADC12CTL0 = ADC12ON+MSC+SHT0_8;           // Turn on ADC12, extend sampling time

 

                                            // to avoid overflow of results

 

  ADC12CTL1 = SHP+CONSEQ_1;                 // Use sampling timer, repeated sequence

 

  ADC12MCTL0 = INCH_0;                      // ref+=AVcc, channel = A0

 

  ADC12MCTL1 = INCH_3;                      // ref+=AVcc, channel = A1

 

//  ADC12MCTL2 = INCH_2;                      // ref+=AVcc, channel = A2

 

  ADC12MCTL2 = INCH_4+EOS;                  // ref+=AVcc, channel = A3, end seq.

 

  //ADC12IE = 0x01;                           // Enable ADC12IFG.3

  //ADC12IE = 0x02;                           // Enable ADC12IFG.3

  ADC12IE = 0x04;                           // Enable ADC12IFG.2

 

  ADC12CTL0 |= ENC;                         // Enable conversions

 

  ADC12CTL0 |= ADC12SC;                     // Start conversion

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值