msp430
tom9544
嵌入式应用软件开发、Jetson TX2/STM32/FPGA/MSP430等软件开发、硬件设计
展开
-
MSP430F5438A中断系统
1、MSP430F5438A有三个定时器: TA0、TA1 和 TB0。2、CCR0单独用一个中断向量,且优先级最高。其他CCR1--CCR5用公用一个中断向量。33、中断向量:#define TIMER1_A1_VECTOR (48 * 2u) /* 0xFFE0 Timer1_A3 CCR1-2, TA1 */ #define TIMER1_A0_VECTOR (4原创 2016-12-09 22:37:05 · 2419 阅读 · 0 评论 -
MSP430F5438A 内存Flash 读写操作
1、msp430的存储结构采用冯.依曼结构,即RAM和Flash在同一个寻址空间内统一编址,没有代码空间和数据空间之分。2、Flash是以段为为基本结构进行存储的。总体上分三部分: Flash主存储区: 用于存储程序代码,被分成4个扇区,每个扇区分128seg, 每个seg段 大小为 64 * 1024 / 128 = 512B。 Flash控制器可以以位、原创 2017-01-06 15:23:12 · 4203 阅读 · 0 评论 -
MSP430 大型数组 上电不启动
现象:程序烧录板子后,单片机不启动,卡死。注释掉部分字节数组后,才能运行。分析: 这是IAR编译的方法,导致看门狗溢出了。MSP430单片机一上电看门狗就已经启动,但是在进入main()函数之前,软件会先初始化用到的一些数据,比如数组。如果数定义的比较大,初始化时间比较长,那就有可能导致看门狗溢出了,单片机复位,然后重启,再初始化,再溢出,再复位..程序永远也进不原创 2017-01-09 14:10:37 · 1309 阅读 · 0 评论 -
MSP430F5438A 读写Flash
1、IAR选项中有个 Date Model选项,其中 small 和large 中,指针的大小是2字节,因此访问地址最大是64K;要选择 large,指针是4K,能访问最大为4G的地址。由于code Flash 大小超过了64K,因此必须选择 large 选项。原创 2017-01-11 14:07:13 · 984 阅读 · 0 评论 -
MSP430单片机写Info Memory
MSP430F5438A单片机在写Info Memory时,需要先把整页数据擦除,才能写进去。否则写失败。而且还得设置下载程序时不要擦除 Info memory, 否则存储数据失败。因为没此下载时都给你擦除了。原创 2017-03-03 15:43:36 · 1317 阅读 · 0 评论 -
msp430F5438A 定时器
最好少用几个定时器,用多了,相互干扰。很难查出bug。比如TA0要产生固定个数的脉冲,如果此时还有TB0工作,而且中断中有执行时间长的任务,那TA0在初始化后就开始产生pwm波了,等到再进中断函数时已经产生了很多波形。因此要尽量减少多余定时器。原创 2017-03-07 12:43:52 · 1308 阅读 · 0 评论 -
MSP430F5438A 指令周期 和 时钟周期
MSP430的一个时钟周期 = 晶振的倒数。如果晶振是8M,则一个时钟周期为1/8微秒;一个机器周期 = 一个时钟周期,即430每个动作都能完成一个基本操作;一个指令周期 = 1~6个机器周期;也就是说执行一条指令最多花6*1/8微秒。另外,_NOP()是单周期的指令,I/O口赋值是4周期的。原创 2017-03-07 14:33:15 · 1526 阅读 · 0 评论