这个代码包含:GPIO控制(LED,按键),ADC,中断,低功耗模式,UART通信,板载超级电容电压检测,FRAM特性展示等等应有尽有。
按照官方实验步骤完善的一个体验贴。
1. 第一步是用包装里的Micro-USB线连接LaunchPad到电脑上。
靠近LaunchPad底部的红色和绿色两个LED灯会闪烁几次,代表预先烧写的开箱demo运行了。
LED闪烁后,MSP430FR5969CPU进入低功耗模式3,并且等待PCGUI通过秘密UART通道传输的命令。(秘密UART通道< backchannelUART>是特指UART到USB之间的通信,MSP430emulator把MSP430的UART信号转换成USBCDC类协议。)
开箱GUI要连接到LaunchPad'sUART通信使用的串口上。但是要使用GUI,我们要知道Windows给LaunchPad分配了哪个COM端口。
2. 打开Windows设备管理器,找到分配给MSP430LaunchPad的两个COM端口。
记录两个端口号,比如我的电脑是:
MSP Application UART1: __COM4__
MSP Debug Interface: ____COM5__
3.运行开箱DemoGUI
使用开箱DemoGUI,用户可以体验LaunchPad两种不同模式。
这个模式提供实时温度数据流给PCGUI。用户可以影响芯片的温度,看GUI上的变化。
这个模式展示MSP430FR5969的FRAM数据记录性能。开始这个模式后,每5秒唤醒LaunchPad(LED闪烁指示)记录温度和输入电压值。重新连接GUI后,这些值可以上传并且画在GUI上。
打开GUI的最简单的方法是双击MSP430warelibrary文件夹的链接。根据每个人安装路径的不同,默认安装会在:
C:\ti\msp430\MSP430ware_1_90_00_30\examples\boards\MSP-EXP430FR5969\MSP-
EXP430FR5969 Software Examples\GUI\OutOfBox_FR5969_GUI.lnk
可以在可以在最新的MSP430ware或MSP-EXP430FR5969Software Examples中找到开箱例程和GUI。
这里是GUI的截图。
4. 连接GUI到LaunchPad
要让它显示数据,我们首先要连接它。
从列表中选择“MSPApplication UART1”通信端口,点击Connect按钮。在我的电脑上是COM4
5.连接后,要进入实时温度模式,在GUI应用控制面板下,点击“LiveTemp Mode”下的“Start”按钮。
此时,你应该可以看见IncomingData面板填充温度数据曲线。
“FR5969”做什么了?
启动12位ADC采样和转化内部温度传感器的信号。在芯片进入低功耗模式3前,硬件定时器配置用于每0.125s触发一次ADC转换。一旦ADC采样转换完成,原始ADC数据通过UART秘密通道发送给PCGUI。
一旦PCGUI接收到原始数据,首先计算Celsius和Fahrenheit单位的数值。PCGUI保存最近的100温度测量值,这也是当前PC的IncomingData面板上画出的图形。
横穿数据图的红色水平线,可以让你直观看到IncomingData的平均值的跳动。
6. 要退出实时温度模式,点击"LiveTemp Mode"下的“Stop”按钮。在开始FRAM记录模式的前,也必须退出这个模式。
7. 要进入FRAM记录模式,在GUI的应用控制面板的"FRAMLog Mode"下,点击“Start”。
MSP430FR5969从GUI接收UART命令时,启动入口序列,初始化实时时钟且每5秒触发中断。红色LED闪3次指示成功进入FRAM记录模式。
不像刚才的实时温度模式,MSP430FR5969进入低功耗模式3.5以进一步降低功耗,每5秒唤醒一次来执行数据记录。
由于LPM3.5下,没有给UART通信模块提供电源,因此在进入FRAM记录模式后,GUI会自动和LaunchPad断开 。
如图所示
每次唤醒的时候,绿色LED灯点亮,以此向用户显示状态。
12位ADC设置来采样和转换内部温度传感器信号和电池监视信号(超级电容)。
分配芯片的部分FRAM用于存储原始ADC输出数据(0x9000– 0xEFFF)。这样就可以存储多达6144个温度和电压数据点(按5秒/样本估算,大概是8.5小时的数据)。
8. 要退出FRAM记录模式,按下LaunchPad的S2(右边)按钮
红色LED短暂点亮指示成功退出。
LaunchPad上电且进入空闲状态,此时可以重新连接LaunchPad到GUI,从FRAM传输记录数据到PC。
9. 确保LaunchPad连接到GUI,点击GUI的"TransferFRAM Data"开始传输。
进度条显示传输进度直到完成
温度和电压数据会显示在IncomingData面板上