- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
MSP430程序库一综述-德州仪器在线技术支持社区.PDF
MSP430 程序库一综述
转眼已经大三就要结束了,我的大学生活即将结束;由于本人对软件比较感兴趣,毕业之后
也许就远离的我的专业(电子信息科学与技术)了;我在大学期间也参加了电子设计竞赛等,
在竞赛中我主要负责单片机程序的编写,所以对msp430 系列的单片机比较熟悉;在这个
系列的文章里,我主要介绍我对430 单片机的理解,整理之前写下的程序,产生一个具有
一定通用性的430 程序库。
我与msp430 最初的接触来自机械工业出版社出版的《MSP430 系列单片机系统工程设计
与实践》这本书;我开始参加电子设计竞赛是在大二的暑假,放假之前听说竞赛用
MSP430F169 的单片机,然后就去图书馆找有关430 单片机的书籍了,有关这款单片机
的书不多,很幸运的是我借到了这本书;我写430 单片机的程序风格很大程度上受到了此
书的影响。
程序库的组织方式:程序库解决方案包含多个项目,每个项目是针对一个单元(如:uart 异
步串行口)的程序库和使用示例,如异步串行口的程序库,下图中UART 项目,Uart.c 是
主要的程序库源代码,Uart.h 是对应头文件,使用时需包含此头文件,main.c 是使用示例
代码。
程序库使用时只需.c 文件和对应的.h 文件即可。
文件组织方式:程序库的c 文件和h 文件一一对应,c 文件至少包含两个头文件,其中一个
是430 的头文件,以使用单片机的硬件资源,另一个是其对应的头文件;如Uart.c 开头即
为
#include msp430x16x.h
#include Uart.h
为防止重复包含头文件中均有#define 语句如Uart.h 开头和结尾:
#ifndef __UART_H
#define __UART_H
#endif /* __UART_H */
程序库使用方式:第一步,先把c 文件和h 文件拷到工程文件夹;然后把c 文件添加到项
目中 在左侧workspace 中右击项目,选Add—Add Files,选择刚添加的c 文件;如
图:
最后在要调用库函数的程序文件中包含拷进来的头文件;之后,就可以正常调用程序库中的
函数(H 文件中声明的,需要的话,可以自行添加)。
程序库目前打算先从异步串行口写起,多谢网友们的支持了啊。
作者:给我一杯酒
出处:http://E/
本文版权归作者和博客园共有,欢迎转载,转载保留此段文字并且注明出处;谢谢。
MSP430 程序库二UART 异步串口
串行通信接口是处理器与其他设备进行数据通信最常用的方式之一。我的这个程序库是针对
MSP430f14 系列和 MSP430f16 系列的,我常用的单片机是这两款:msp430f149,
msp430f169。这两款单片机中均有两个增强型串行通信接口,都可以进行同步或是异步
通信,甚至 169 的模块USART0 还能进行进行I2C 协议通信。在这里,我们只讨论异步
串行通信。
硬件介绍:
MSP 单片机的USART 模块可以配置成SPI (同步通信)模式或UART (异步通信)模式,
这里只讨论UART 方式。UART 数据传输格式如下:
起始位,数据位由高到低7/8 位,地址位 0/1 位,奇偶校验位 奇偶或无,停止位 1/2 位。
数据位位数、地址位、奇偶校验位、停止位均可由单片机内部寄存器控制;这两款单片机都
有两个USART 模块,有两套独立的寄存器组;以下寄存器命中出现x 代表0 或是 1,0 代
表对应0 模块的寄存器,1 代表对应1 模块的寄存器;其中,与串口模式设置相关的控制
位都位于UxCTL 寄存器,与接收相关的控制位都位于UxRCTL 寄存器,与发送相关的控
制位都位于UxTCTL 寄存器;波特率设置用UxBR0、UxBR1、UxMCTL 三个寄存器;接
收与发送有独立的缓存UxRXBUF、UxTXBUF,并具有独立的移位寄存器和独立的中断;
中断允许控制位位于IE1/2 寄存器,中断标志位位于IFG1/2 寄存器。
波特率设置:430 的波特率设置用三个寄存器实现,
UxBR0:波特率发生器分频系数低8 位。
UxBR1:波特率发生器分频系数高8 位。
UxMCTL:波特率发生器分频系数的小数部分实现。
设置波特率时,首先要选择合适的时钟源:USART 模块可以设置的时钟源有UCLK 引脚、
ACLK 、SMCLK;对于较低的波特率(9600 以下),可选ACLK 作为时钟源,这样,在
LPM3 (低功耗3)模式下,串口仍能正常发送接收数据;另外,由于串
文档评论(0)