运行 AI代码解释 #include<rtthread.h>#include<rtdevice.h>#include<board.h>#defineDBG_TAG"main"#defineDBG_LVLDBG_LOG#include<rtdbg.h>intmain(void){unsigned int count=1;/* 设置 RGB 灯引脚的模式为输出模式 */rt_pin_mode(PIN_LED_R,PIN_MODE_OUTPUT);rt_pin_mode(PIN_LED_G,PIN_MODE_OUT...
这部分代码是通过汇编实现,比较难理解,可以参考野火rt_thread的电子书第85页。 rt_hw_context_switch()这部分代码主要是触发中断,还给rt_interrupt_from_thread和rt_interrupt_to_thread赋值,之后pendSV中断会用上,pendSV在第一次线程切换的函数里面已经进行了设置。值得一提的是rt_hw_context_switch()函数...
代码语言:javascript 代码运行次数:0 运行 AI代码解释 rt_pin_write(LED_PIN,PIN_LOW); 这个就是设置低电平,比较简单。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 LOG_D("led on, count: %d",count);LOG_D("led off"); 这个是通过串口来打印,结果如下。 接下来我们来看一看RGB灯的实现,如果...
一、对学习的好处:1、明确目标功能的代码;2、熟悉 RT-Thread 代码文件,能够体会“分”得好而产生的“管理”的美;3、锻炼读代码能力,从优秀代码中学到优秀架构的实现方法(要“悟”才能收获)。二、对产品的好处:1、明确 RT-Thread 目标功能代码,是将目标功能整合进自己产品的第一步;2、对于中小型项目,往往几个...
当线程已经是挂起态的时候无法调用rt_thread_suspend()函数,已经是挂起态的线程调用rt_thread_suspend()将返回错误代码,挂起的线程想要恢复可以调用rt_thread_resume()函数。 注:通常不应该使用这个函数来挂起线程本身,如果确实需要采用rt_thread_suspend函数挂起当前线程,需要在调用rt_thread_suspend()函数后立刻调用rt...
贡献代码 感谢以下小伙伴对本仓库的贡献! English | 中文 | Español | Deutsch 简介 RT-Thread诞生于2006年,是一款以开源、中立、社区化发展起来的物联网操作系统。 RT-Thread主要采用 C 语言编写,浅显易懂,且具有方便移植的特性(可快速移植到多种主流 MCU 及模组芯片上)。RT-Thread把面向对象的设计方法应用...
在Tricore架构中,虽然不同Core使用的CSA(Context Save Areas)不同,但是,线程Thread(等同Task)的初始化可以在主核中完成,之后通过rt_thread_control()接口,为线程静态分配控制的Core,eg:分配Core1调度led_thread_thread线程,代码示意如下: (三)线程间任务切换 ...
Env 工具包含了 RT-Thread 源代码开发编译环境和软件包管理系统。从 RT-Thread 官网下载 Env 工具。 下载地址:https://www.rt-thread.org/page/download.html 下载完成后,打开 Env 控制,RT-Thread 软件包环境主要以命令行控制台为主,同时以字符型界面来进行辅助,使得尽量减少修改配置文件的方式即可搭建好 RT-Thr...
截至目前,RT-Thread scons构建系统可以使用命令行方式编译代码,或者使用scons来生成不同IDE的工程文件。在使用scons时,需要对构建配置文件(rtconfig.py)中如下的变量进行配置: CROSS_TOOL指定希望使用的工具链,例如gcc/keil/iar. EXEC_PATH工具链的路径.
(1)在application分组下创建一个用户文件oled_display.cpp文件,存放本项目中的OLED显示代码。 代码如下: #include <rthw.h>#include <rtthread.h>#include <rtdevice.h>#include <U8g2lib.h>#include <stdio.h>#include <board.h>#include "drv_common.h"#include <drv_soft_i2c.h>extern "C"{#includ...