MSP430学习笔记

2019-07-14 03:01发布

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:WINDOWSsystem32DRIVERSusbser.sys" 不存在。”,在网上下载usbser.sys,复制到C:WINDOWSsystem32DRIVERS目录下,重新安装,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