2602|0

2057

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

[TI首届低功耗设计大赛]+寄存器版本的端口操作+led闪烁 [复制链接]

本帖最后由 IC爬虫 于 2014-9-21 14:45 编辑

       以前在开发MSP430的时候出来都没有使用过基于库的开发,都是直接操作寄存器完成的。在FR5969中官方提供了片内外外设的一下库函数,但为了深入了解这个芯片,这一篇还是先讲讲它的GPIO的寄存器操作实验,这样也可以和以前了解的别的430芯片做比较,但是后续也会更新相应的使用库函数的操作实验。
       我的片内内外设的实验代码来源于TI官方提供的实验代码,有些我会做一定的修改,加上我理解的注释,希望这样能给初学者一定的帮助。
1. 这个试验,P1.0控制RF5969launchpad的LED2,在主函数中延时0.1s反转P1.0的电平,使LED闪烁。
2. 在程序中没有配置芯片的时钟,这就说明适用的是时钟配置是默认的,默认的情况下 MCLK = SMCLK =1MHZ。
3. 和我接触的430的别系列不同的是,在程序中多了PM5CTL0 &= ~LOCKLPM5;这一句,这一句的作用是:关闭上电端口默认输出高阻抗的功能,使能上电保持起始设置。在就说明在一般情况下FR5969的GPIO端口默认是输出高阻抗的功能。
4.__delay_cycles(100000);注意这句前面是两个下划线,该本征函数在 intrinsics.H 里:意思是延时 __cycles 个机器周期,因为我们默认情况下主时钟的周期为1MHZ所以这句延时的时间为100000*1/1000000=0.1s,经过是示波器的测试,这个延时的精度还可以,LED的闪烁频率为4.985HZ。

  1. /*******************************************************************************
  2. //  MSP430FR59x Demo - Toggle P1.0 using software
  3. //
  4. //  Description: Toggle P1.0 using software.
  5. //  ACLK = n/a, MCLK = SMCLK = default DCO 默认的情况下 MCLK = SMCLK =1MHZ
  6. //
  7. //           MSP430FR5969
  8. //         ---------------
  9. //     /|\|                  |
  10. //      |   |                  |
  11. //      --|RST             |
  12. //        |                      |
  13. //        |               P1.0|-->LED
  14. //
  15. //   IC爬虫
  16. //   
  17. //   Sep 2014
  18. //   Built with IAR Embedded Workbench V6.1
  19. *******************************************************************************/
  20. #include <msp430.h>

  21. int main(void)
  22. {
  23.   WDTCTL = WDTPW | WDTHOLD;       // 停止看门狗

  24.   // Configure GPIO
  25.   P1OUT &= ~0x01;                 // 设置P1.0的上点起始状态:输出低电平
  26.   P1DIR |= 0x01;                  // 设置P1.0为输出方向

  27.   PM5CTL0 &= ~LOCKLPM5;           // 关闭上电端口默认输出高阻抗的功能,使能上电保持起始设置

  28.   while(1)
  29.   {
  30.     P1OUT ^= BIT0;                // 反转 LED
  31.     __delay_cycles(100000);       // 该本征函数在 intrinsics.H 里:意思是延时 __cycles 个机器周期
  32.                                   // 经测试LED的闪烁频率为4.985HZ,所以这个延时函数接近延时了0.1s
  33.   }
  34. }
复制代码

1-LED闪烁test.rar

23.12 KB, 下载次数: 3

售价: 1 分芯积分  [记录]

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表