Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1679041
  • 博文数量: 124
  • 博客积分: 4078
  • 博客等级: 中校
  • 技术积分: 3943
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-21 11:28
个人简介

新博客:http://sparkandshine.net/

文章分类

全部博文(124)

分类: 嵌入式

2012-03-15 17:21:27

摘要:

    本文讲述了uC/OS在MSP430-169LCD的移植,重点放在测试用例,并附上源码。


    最近小老板给了我MSP430-169LCD板和MSP-FET430UIF调试器,让我将UCOS移植上去(用于课堂演示uC/OS)。我先把官方的Demo code跑通,再移植UCOS。

一、移植uC/OS

    关于uC/OS在MSP430的移植可以参考文档[2],并结合邵贝贝翻译的《嵌入式实时操作系统uCOSII》。我网上找到了一份uC/OS-II在MSP430移植好的源码,几乎不用修改。

二、应用程序

    主要是针对MSP430-169LCD板子修改下应用程序,本例子旨在用两个任务控制灯的闪烁,任务A让灯亮,任务B让灯灭,两任务交替运行,从而达到灯闪烁的效果。

2.1 LED对应的管脚

    MSP430-169LCD有两个LED,一个用于电源指示,另一个可编程的。欲控制该LED,首先得找到与该LED相关的引脚。通过原理图(可以从[1]下载),可以得知该LED对应的引脚是P2.1,如下图红色标记所示:

图1 MSP430-169LCD的LED示意图

2.2 应用程序

任务A,让LED亮,源代码如下:

  1. void TaskStartA(void *pdata)
  2. {
  3.   pdata = pdata; /*无任何意义,防止编译器报警 */

  4.   WDTCTL = WDT_MDLY_32; /*设置时钟节拍间隔为32ms*/
  5.   IE1 |= BIT0; /* 开看门狗定时器中断*/

  6.   P2SEL &= BIT1; //引脚功能选择器
  7.   P2DIR |= BIT1; //方向寄存器,1为输出模式

  8.   while(1)
  9.   {
  10.     P2OUT |= BIT1; //LED灭亮
  11.     OSTimeDly(10); //延时10个时钟节拍,任务挂起,等待延时结束(此时任务B执行)
  12.   }
  13. }

任务B,让LED灭,源代码如下:

  1. void TaskStartB(void *pdata)
  2. {
  3.   pdata = pdata; /*无任何意义,防止编译器报警*/

  4.   WDTCTL = WDT_MDLY_32; /*设置时钟节拍间隔为32ms*/
  5.   IE1 |= BIT0; /*开看门狗定时器中断*/

  6.   P2SEL &= BIT1; //引脚功能选择器
  7.   P2DIR |= BIT1; //方向寄存器,1为输出模式

  8.   while(1)
  9.   {
  10.     P2OUT &= ~BIT1; //LED灭
  11.     OSTimeDly(20); //延时20个时钟节拍,任务挂起,等待延时结束(此时任务B执行)
  12.   }
  13. }


参考资料:

[1] MSP430-169LCD:http://www.olimex.com/dev/msp-169lcd.html

[2]  uCOS在MSP430的移植功能详细说明.pdf   

[3] 工程源码 ucos_msp430f149.rar   

[4]MSP430-169LCD原理图 msp430-169lcd-sch.gif   

阅读(4839) | 评论(3) | 转发(2) |
给主人留下些什么吧!~~

Jelline2012-07-13 20:49:14

sunhenu: 哥们,你的430单片机设计的不错,我转载你的几篇文章,我接下来也要用430单片机了,学习一下啊。.....
我不知道有没有回答错,我误以为是那个LauchPad了。这个MSP430-LCD,我当初用的时候,资料甚少。只是拿来写几个演示应用。

Jelline2012-07-13 19:04:02

sunhenu: 哥们,你的430单片机设计的不错,我转载你的几篇文章,我接下来也要用430单片机了,学习一下啊。.....
谢谢认可。这单片机不是我自己划的,是现成的,TI官方有卖的。这些文章是当初学MSP430整理的。

sunhenu2012-07-13 09:06:40

哥们,你的430单片机设计的不错,我转载你的几篇文章,我接下来也要用430单片机了,学习一下啊。