需要确认注册邮箱后才能开通博客,立即确认我的邮箱
文章 搜索 高级搜索 ?3? ?3?
  • 滤波器new!
  • LED驱动 new!
  • 新能源 new!
  • PLL
  • PCIE协议
  • 可穿戴
  • LSI
  • FCI
文章 论坛 博客 小组 研讨会
EDN电子技术论坛>博客 >EE2012博客 >【TI博客大赛】MSP430单片机编程小结

EE2012的博客——Open your mind

博主:EE2012???? ???? ????
介绍: 专注电子行业最新动态
结交电子行业友人 分享电子新技术 iwxg2012@hotmail.com

文章(153)???? 访问(215885)???? 评论(249)???? 投票(267)???? 订阅本博??

博文列表查看方式: ???

【TI博客大赛】MSP430单片机编程小结
发布时间:2012-10-29 11:23:36
技术类别:单片机
需要确认注册邮箱后才能下载,立即确认我的邮箱

1.#i nclude<>指要在编辑器设定目录下,#i nclude""指的是在当前工程目录下。
2.要调用另一个文件中的函数,要把这个函数文件放到当前工程目录下,并且在工程中添加此文件。
3.命名中不能有-,比如:byq-ee会认为是错误的,要用下划线。
4.用IAR软件仿真时,可以加入变量,如果是查看I/O信息只需加入PXIN,PXOUT即可。
5.IAR在处理字符时,要注意,是字符处理结尾标志,他和其他编辑软件是不同的。比如我们长用字符处理回
自动在结尾处加,但IAR有些是不加的,这就要十分注意。
6.如果只用到LFX1的低速时钟,9600bit/s传输的话,接收会出现问题,原因是误差太大,可以设置到4800以下。
7.在写FLASH时要注意其工作频率在257K~476k之间,如果不是,则会出现错误。而且FLAGH只能写入0,这样就出现了
必须先擦除在写入的模式。
8.当IO口作为输入时,要根据平时的状态加电阻,平时为高时,加个上拉电阻,平时为低时加个下拉电阻以增加稳定性。
9.在FLASH写时一定要关外部中断。
10.MSP430一般是不要RC复位的,一般只要接个100K左右电阻就可以了,如果要加电容,它的大小要根据以下两个标准
选择:
下载程序不会出现下载不了
程序上电会能稳定复位
11.用&表达式作为判断时,不要忘记加括号。
12.不要使用中断嵌套。

同时,为了使用C语言来编写MSP430的高质量代码需要注意。

微处理器一般用于特定环境和特定用途,出于成本、功耗和体积的考虑,一般都要求尽量节省使用资源,并且,由于微处理器硬件一般都不支持有符号数、浮点数的运算,且运算位有限,因此,分配变量时必须仔细。另外要说明的是,速度和存储器的消耗经常是2个不可兼顾的目标,在多数情况下,编程者必须根据实际情况作出权衡和取舍。
需要注意的事项如下:
1) 通常在满足运算需求的前提下,尽量选择为变量定义字节少的数据类型。
比如最常用的int和char,int是16位的,char是8位的,如果没有必要,不要使用int,而且使用char也最好使用unsigned char。运行时,可以在变量窗口看到,使用类型为unsigned char的变量是16进制的格式,而使用int的是十进制格式,如果char没有定义为unsigned,会出现负号,如果没有必要的话,在430中是不需要负数的。
2) 尽量不用过长的数据类型,如long、long long和double
3) MSP430的C编译器不支持位寻址,所以运算中尽量减少位操作,对于只有“是”和“否”的变量,如果RAM容量允许,则可分配为unsigned char类型,可提高运算速度。如果分配为某字节的某个位,可以减少存储器的消耗,但是会降低运算速度
4) 避免使用浮点数,尽量使用定点数进行小数运算。如果必须使用浮点数,则尽量用32位的float,而不是64位的double
5) 尽量将变量分配为无符号数据类型
6) 对于指针变量,如果声明后其值不再改变,则声明为const类型,这样编译器编译时能更好的优化生成的代码
7) 尽可能的使用局部变量而非全局变量或者静态变量(static)。这样有利于编译器编译时更好的优化生成的代码
8) 避免对局部变量使用 &取地址符。因为这样会使编译器无法把此变量放在CPU的寄存器中,而是放在RAM中,从而失去了优化的机会
9) 仅在模块内使用的变量声明为static,有利于优化代码
10) 如果堆栈空间有限,尽量减少函数调用的层次和递归调用
11) 如果传送参数过多,可将参数组成一个数组或者结构体,然后用指针传递
12) 某些变量在中断程序和普通级别程序中都会被用到,所以必须加以保护。
将变量声明为volatile类型,编译器优化时就不会移动它,对它的访问不会被延迟。
为保证对volatile的变量不被打断,为此,可以在访问它的部分(即访问它的函数)前面加上__moniter的声明

分享到:? 新浪微博 ?? 微信 ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
qq空间 ?? 腾讯微博 ?? 人人网 ?? 百度搜藏 ??
??????有[ 1 ]名读者喜欢此文
阅读(722)?? 评论(1)?? 收藏??I?? 打印??I?? 推荐到小组??I?? 转发到我的博客 (0)
对不起,您还没有登录,请先登录注册
上一篇:【博客大赛】uC/OS系统的开发

下一篇:【博客大赛】Flash的使用简介

最近到访博主
枫叶333 ╭☆杰の星魂 chitru 大宝小莉 小梅哥 workforfun
牛人有话说 - 【TI博客大赛】MSP430单片机编程小结
美国的游客 (您将以游客身份发表,请登录 | ?注册)
?
你还可以输入1000
验证码:
分享: 新浪微博?? qq空间?? qq微博?? 人人网?? 百度搜藏??
?
有 [ 1 ] 名读者发表评论 - 【TI博客大赛】MSP430单片机编程小结
读了还是有点收获的! 转载收藏下!
(0) ???? (0) ???? 回复(0)
对不起,您还没有登录,请先登录注册
???? 2012-11-16 08:52
转发到我的博客
评论?@Open your mind?的“【TI博客大赛】MSP430单片机编程小结”
1.#include指要在编辑器设定目录下,#include""指的是在当前工程目录下。2.要调用另一个文件中的函数,要把这个函数文件放到当前工程目录下,并且在工程中添加此文件。3.命名中不能有-,比如:byq-ee会认为是错误的,要用下划线。4.用IAR软件仿真时,可以加入变量,如果是查看I/O信...
你还可以输入30000
同时评论给?EE2012
????
快速回复
?
你还可以输入1000
????
引用回复
引用评论?
?
你还可以输入1000
????
博主资料

结交电子行业友人 分享电子新技术

个人文章分类
文章存档
最新评论
阅读排行
EE2012的好友
友情链接
EE2012的小组???? 加入小组
Robei-世界轻量级FPGA仿真软件
成员40名
创建者:EE2012 DIY创意无限 成员589名
创建者:胖螃蟹 开源硬件创客小组 成员167名
创建者:EE2012 成员18977名
创建者:特权同学 usb cy68013 成员993名
创建者:ares007 FPGA开源设计交流学习小组 成员1502名
创建者:Spark_Design_Group FPGA讨论组 成员3308名
创建者:stephen100 EDN帮助小组 成员405名
创建者:彩云 Arduino 成员800名
创建者:zhb1190 艾米教你学习FPGA 成员617名
创建者:赵亮 电子竞赛交流区 成员4620名
创建者:74ls138 FPGA入门 成员271名
创建者:ETRH Studio EDN助学小组之51单片机 成员4860名
创建者:wang1jin 《Arduino开发实战指南》书友会 成员265名
创建者:胖螃蟹 博客大赛 成员56名
创建者:rain社区管理 开关电源设计 成员200名
创建者:pa2792 赛灵思FPGA/CPLD学习小组 成员1040名
创建者:ares007 高频电路设计 成员47名
创建者:小李志 《嵌入式实时操作系统μC/OS-Ⅱ经典实例-基于STM32处理器(第2版)》书友会 成员407名
创建者:胖螃蟹 我爱51单片机 成员415名
创建者:ETRH Studio EDN助学小组之RF实验板 成员982名
创建者:wang1jin 《那些年,我们拿下了FPGA》书友会 成员395名
创建者:北航苏阳-Sun Altium Designer 成员482名
创建者:Neddy 工程师读《圣经》 成员162名
创建者:特权同学
展开
最新网络博文
想在网上直播来讲讲zigbee,大家怎么看
什么原因可能导致USB3.0插座无法识别
nubia发布无边框旗舰手机Z11 售价249...
TCL 750体验:新品牌理念发布后的转...
印度开卖史上最便宜智能手机:售价约2...
? 更多博文>>
返回博客首页
有问题请反馈