查看: 1955|回复: 1

【赚周年币】技术贴Week 3-Day2——mbed 之 RTOS线程

[复制链接]
  • TA的每日心情
    奋斗
    2020-5-27 15:41
  • 签到天数: 868 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-1-13 11:38:53 | 显示全部楼层 |阅读模式
    分享到:
             ARM mbed OS是开源的嵌入式操作系统,为物联网特定设计。
             新的mbed OS 5.3.0版本已经发布了。https://docs.mbed.com/docs/mbed-os-release-notes/en/latest/5_3/release_note/        
             使用 mbed OS有三种方式:1.mbed在线 2.mbed CLI命令行接口 3.第三方IDE
             在mbed OS文档:  https://docs.mbed.com/ 中,给了一个简单的例子。
    1.JPG
    点击会弹出导入程序窗口。
    2.JPG
    憾的是LPC824lite目前不支持mbed OS 5,只支持OS2,所以导入后,代码很简单。
    1. #include "mbed.h"

    2. DigitalOut led1(LED1);

    3. // main() runs in its own thread in the OS
    4. // (note the calls to wait below for delays)
    5. int main() {
    6.     while (true) {
    7.         led1 = !led1;
    8.         wait(0.5);
    9.     }
    10. }
    复制代码
    LED1在LPC824Lite里没有定义,需要修改 .例如接P0_28 脚的LED。
    编译下载到板上复位,可以看到P0_28脚的LED每秒闪一次。
    Thread
    在系统中,线程允许定义、创建、控制线程函数。
    线程的四个状态:
    1.运行:正在运行的线程,某一时刻仅一个线程在这个状态。
    2. 就绪:准备运行的线程,一旦正在运行的线程结束或进入等待,有高优先级的就绪线程就会变成运行线程。
    3.等待:等待事件发生的线程。
    4.暂停:既不创建也不结束的线程。
    3.JPG
    1. #include "mbed.h"
    2. #include "rtos.h"

    3. DigitalOut led1(P0_28);
    4. DigitalOut led2(P0_18);

    5. void led2_thread(void const *args) {
    6.     while (true) {
    7.         led2 = !led2;
    8.         Thread::wait(1000);
    9.     }
    10. }
    11. int main() {
    12.     Thread thread(led2_thread);   
    13.     while (true) {
    14.         led1 = !led1;
    15.         Thread::wait(500);
    16.     }
    17. }
    复制代码
    编译后下载到板上复位后,运行不正常。LPC824Lite 不支持 OS 5,连OS 2也不支持?
    看来 LPC824Lite暂时是不能用mbed OS了。



    评分

    参与人数 2 +30 收起 理由
    EEboard爱板网 + 15 3周发帖养成记 奖励
    loveeeboard + 15

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情

    2021-12-7 12:35
  • 签到天数: 1354 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-1-13 23:45:59 | 显示全部楼层
    参考学习,有机会试用一下
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-18 08:18 , Processed in 0.140930 second(s), 22 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.