随笔分类 - Msp430x1xx
430的笔记
摘要:430的低功耗确实很强啊,虽然和VR单片机比起来速度慢了好多。在CPU进行工作时,如果没有什么事情干,就得进入低功耗模式啦,LMPX(0~4)这几种模式的具体事项就是如下的,得记住了。一,运行模式MSP430具有一种活动模式和五种软件可选的低功耗运行模式。一个中断事件可以将芯片从五种低功耗模式中的任何一种唤醒,为请求服务并在从中断程序返回时恢复低功耗模式。下面6种运算模式由软件配置。● 活动模式AM:-所有时钟活动● 低功耗模式0(LPM0)-CPU关闭ACLK和SMCLK保持活动,MCLK关闭● 低功耗模式1(LPM1)-CPU关闭ACLK和SMCLK保持活动,MCLK关闭如果DCO在活..
阅读全文
摘要:说道到这个电平转换,写程序的时候居然还要示波器来观察现象,表示我们交的是211的学费,上的却不是211大学,创新实验室的仪器设备真的是少的可怜啊,我级不吐槽了说说这个电平转换的一些知识还有看法吧。。 看到原理图首先得说说接线帽的问题,这个很重要,接线帽 的使用会连接到不同的引脚上,大家看原理图的时候就会知道啦,只是要小心要细心。虽没有示波器,但是用软件的方式把led灯当作指示灯,根据指示灯的闪动也是可以的,通过74LVC4245在连接器P2的引脚上产生一定占空比的方波。 P3DIR |= BIT4; //设置P3.4为输出 P3OUT ^= BIT4; //P3.4连接的LED闪烁用这...
阅读全文
摘要:在学习MSP430的时候,总是有很多东西记不住,同时又是英文的资料,好多东西也是没怎么看透,英文虽过六级但是看英文资料还是有一种想睡的冲动啊,在学习键盘的时候,我的这块板子有些不同,矩阵键盘和独立键盘公用的,组合式的按键。。这是为了节约硬件的成本啊 。。。 #define keyin (P1IN & 0x0f) //低四位保持不变,高4位清零,这个宏定义就是这个意思。再写主函数的时候有这个语句: P1DIR = BIT7; //设置P1.0~P.3为输入状态,P.7为输出 P1OUT = 0; //前面两句确定P1.0~P1.3是独立按键这是用软件的方式把...
阅读全文
摘要:Q1. IAR中怎样描述P2OUT.3脚,#define LCD_cs1 P2OUT.3; 对吗?A1:430 不能位寻址,所以一般的位操作,都通过“与”来作用。#define LCD_cs1 (P2OUT&BIT3 )。Q2.__intrinsic是什么意思A2:本征函数,不是C语言标准库,而是和MSP430汇编直接对应的函数,比如:_NOP()_EINT()LPM0引用msp430xxxx.h,默认引用的头文件Q3:在程序里循环调用了sprintf函数,当循环了几次后程序就跑飞了,是堆栈大小不够吗?还有sprintf到底需要多大的堆栈,单步走了下,发现它使用堆栈都不是连续的?A3:
阅读全文
摘要:Q1:晶体一般都是接32768,然后使用液晶很正常。我打算将晶体接6M的替换32768,那么液晶还能正常显示吗A1:看你所用的LCM 模块时序极限是多少HZ,然后看6M情况下,MSP430去驱动LCM 时,程序时间会不会超过这个极限频率,如果超过,得加延时。Q2:I/O 怎样直接驱动LCD,如何做?A2:建议采用带LCD 驱动的芯片。可采用MSP430F4xx系列的芯片。如果不用带LCD 驱动的芯片,可以用IO 口仿LCD 的波形,比较复杂些,不过也能做出来。可以到TI 网站上去下载关于LCD 的应用报告。Q3:段式液晶和点阵式液晶区别和不同的应用?A3:段式液晶显示的信息较少,但是便宜,驱动
阅读全文
摘要:Q1:用IAR Embedded Workbench for MSP430 通过JTAG往MSP430上写程序。为了知道片内程序的版本,必须读出Flash 中内容。什么工具软件可以通过JTAG口实现这个功能?A1:熔丝未烧断的话,做个空程序的项目,然后在C-SPY选项里选择保留未改变的区域,DEBUG后看MEMORY里的内容!熔丝烧断的话只能用编程器或BSL,如果加密了,只能通过BSL来读了,不过你要知道中断向量表的32个字节的内容,即密码。Q2:MSP430F449中我想把一个整形的数A存入某地方掉电也不丢失,作为以后程序运行的参数。是放在flash里面吗?用代码怎么实现?A2:如果只是个巴
阅读全文
摘要:Q1:msp430(我用的4619)的VCC,DVCC,VSS,DVSS怎么接啊?模拟的和数字的一样吗?A1:CC 就是正,SS 就是负,A是模拟电,D 是数字电,A的都接在一起,D 的都接在一起,地线要分开布,中间用000 贴片连接,也就是传说中的单点连接。A 和D 的正电源间如果信号源有固有的频率或频率范围建议中间用适当的电感连接,并在两侧加适当的退耦电容,以防止数字部分的信号干扰模拟信号。要求不是很精的时候,模拟电源和数字电源多数都是连通的。Q2:如果直接用干电池(比如两节AA 电池)不经过PWIC 给MSP430供电,时间长了电池电压下降,这时候是不是芯片的参数,比如说Voh/Vol/
阅读全文
摘要:Q1: 430 串口中,有个R/D 控制线,在接收上位机的数据,但本身的数据有无发送完毕不知道啊,什么时候才可置低R/d 位来接收数据啊?好像430 没有发送完中断标志A1:字节主动发送,一般都能发出去,除非你的的时钟有问题.可以用程序检测,半双工通讯,可以多发送一个字节,作为判断,当最后个字节(作为判断用)写入发送缓存产生中断时,在中断里改变R/D状态。Q 2: 我想做个6个节点的网络,最远的距离为2mF20 系列的USI 做3 线SPI 模式用是否能满足要求?能否提供其他低端的430芯片?A2:SPI 是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,
阅读全文
摘要:Q1:MSP430F149 AD 的输入阻抗有多大?A1:RC<2000欧*30PFQ2:MSP430 ADC12 模块的速度?A2: ADC12 的转换速率是转换所需的ADC12CLK 以及时钟的一项功能。ADC12CLK 的近似最小值与最大值分别为500kHz 及6.5MHZ。速度最快的整个转换过程可以在17 个周期内完成(13 个周期进行转换,4 个周期进行采样及保持)。6.5MHz/17 = 382ksps。ADC12 的运行速率不能低于最小值的ADC12CLK,但在软件的控制下,采样门可以无限制保持打开状态。如欲了解有关采样与转换时间规范的更多详情,敬请参阅数据表。Q3:用VR
阅读全文
摘要:Q1:请问msp430 怎么手动复位啊?是不是连到RST/NMI 上?但是这个脚不是和JTAG 连吗?我看到一些资料上说复位的话还要上拉电阻或者复位电路。A1:JTAG 功能只在下载程序时候使用,正常工作中RST可以连接一个按键,按下按键实现430手动复位。上拉电阻是上电复位用的,手工复位一个BUTTON就行了。MSP430 单片机低电平复位。Q2上电复位和硬件看门狗复位有什么区别吗,在程序里将两者分开,请问有办法将两者分开吗?A2:上电复位时,内存被清零或为任意值,看门狗清零时并没有断电,内存里的原有信息被保留,同时上电复位无法通过标志位来判别,看门狗复位才可以通过WDTIFG 来判别。同时
阅读全文
摘要:Q1:请问430 的I/O 中断能不能可靠的响应60ns 的脉冲信号, 就是来了一个60ns 的脉冲,430 的中断会有丢失吗?A1:端口支持的最高8M的时钟,无法响应这么快的频率。Q2:430是3.3V供电,如果我想使P2.7管脚置高,然后等待低电平中断。接5V左右的电压接上拉电阻行不行?需不需要用分压电路到3.3VA2:你可能要进行电平变换,430I/O口最好不要接5v的Q3:当Jtag接口把程序下载到单片机之后,Jtag接口还能不能用作普通IO口?A3: 和GPIO端口复用的JTAG引脚,只要不在仿真状态,就是普通的i/o引脚。Q4:我在产品的测试中经常会发现,某一管脚输出电压不正常,本
阅读全文
摘要:Q1:1,MSP430进入LP 模式后,CPU 停止运行,那么,进入中断执行退出后,由于SR的恢复,导致还处于LP 模式,是否意味着,CPU 在退出中断后立即停止了呢?2,也就是说,进入LP 模式后,要让非中断流程运行的话,只能在中断退出前把保存在堆栈里面的SR 修改了?3,由于中断自动恢复保存的寄存器,要想在中断程序里面修改堆栈里面的保存的SR,只能用汇编了?Q2:1、是的。2、是的。3、是的。_BIS_SR_IRQ() 以及_BIC_SR_IRQ() 函数可用。Q2:有个程序进入LPM3 后拿万用表测电流在40uA 左右,不是的datasheet里说的小于2uA。万用表2mA 档串接在电池
阅读全文
摘要:Q1:我自己做了一块MSP430F149的试验板,以前用下载线进行调试没有出现过问题,但是,最近我每次make后用下载线调试时,总是弹出一个窗口,给我提示:Could not find target status. 然后就死到那儿了,请问这是什么问题呢?A1:检查Jtag口线是否连接正常,如果JTAG口线连接正常,可能是供电不足,目标板加电再测试。Q2:我用的430f22x学习套件,请问在IAR Embedded Workbench 中仿真时如何看程序运行时间.A2:只有软件模拟下可以看, VIEW-REGISTER-CYCLECOUNTQ3:请问各位msp430 仿真器和编程器有什么区别啊?
阅读全文
摘要:最近在学习MSP430f149这块单片机,开始程序也没烧进去,弄了一天,发现串口不能下载,买了个jtag下载器,才搞定。现在也谈谈开始写程序的一些方法吧程序重要的是框架,有这个基础之后才能行云流水的开始写程序。include //函数声明void InitSys( );int main( void ){WDTCTL=WDTPW+WDTHOLD; //关闭看门狗InitSys( ); //初始化start://以下填充用户代码LPM3; //进入低功耗模式n,n 取值为0~4,若不希望进入低功耗模式,屏蔽本句goto start;}/*****************************..
阅读全文