1、 IAR程序下载方式:串口下载
2、 复位向量地址:0FFFEH。地址中存放的是程序段的开始地址
3、 程序下载和在线调试电源可通过计算机的jatg口提供,无需加电源
4、 特殊功能寄存器(SFR):0H~0FH
5、 8位外转模块+IO端口:010H~0FFH
6、 16位外转模块+TIMER+ADC:0100H~01FFH
7、 定义数据段地址(RAM):0200H~09FFH
8、 专用FLASH引导:0A00H~)FBFH
9、 信息段:FC0H~10FFH(可擦除、读写信息)
10、 程序代码段:1100H~FFDFH
11、 中断向量地址段:FFE0H~FFFFH
12、 硬件乘法器是独立于CPU运行的,将变量放入制定的地址即可(建议是用乘法器之前关闭中断)
13、 MSP430F149有6个8为IO口(共48个),其中P1、P2占两个中断向量,即可设置16个外部中断源
14、 IO口可直接通过端口的输入输出寄存器进行端口通信
15、 因为所有IO口都是和其他外设复用的,因此在使用前需先设定端口功能:外设or P口
16、 两个16位定时器(对应两个定时器中断向量),看门狗也可以用作定时器
17、 包含一个内部时钟(DCOCLK)和两个外部时钟(LFXT1CLK、XT2)
18、 内部始终最高可达1024KHz
19、 一个外部时钟XT1可接32KHz,一个外部时钟XT2可接8MHz(单片机最高工作频率)
20、 CPU和外围模块根据不同需求使用不同的时钟信号:
辅助时钟ACLK:来自LFXT1CLK晶体的频率,用户外围模块
主系统时钟MCLK:用户CPU和系统,可来自于LFXT1CLK、XT2或DCOCLK其中之一,若选择LFXT1CLK或XT2,但时钟源出现问题时,系统会自动切换到选择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中的计数值保存到它的锁存寄存器TxCCRx(16位)中,实现精确测量。
27
28 安装MSP430USB驱动时出错:inf不能找到所需的段
按照网上的方法:设置smartcard 启动+自动
打开驱动程序目录,发现有两个INF文件。其中一个带有 [ClassInstall32] 段,另一个没有,于是从一个INF中复制 [ClassInstall32] 和其下面的 AddReg= 。。。。一句,粘贴到无此段的INF文件里面,重新尝试安装。
还是安装不成功,查看setupapi.log,发现“#E339 添加服务: 服务 "usbser" 的二进制文件 "C:WINDOWSsystem32DRIVERSusbser.sys" 不存在。”,在网上下载usbser.sys,复制到C:WINDOWSsystem32DRIVERS目录下,重新安装,OK!
调试问题:
This product is not licensed for MISRA C checking
解决:
在option里general 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