RT-Thread的C语言多态风格展示 //RT-Thread对象模型采用结构封装中使用指针的形式达到面向对象中多态的效果,例如://抽象父类#include<stdio.h>#include<assert.h>structparent {inta;//反映不同类别属性的方法void(*vfunc)(inta); };//继承自parent的子类structchild {structparent p;intb; };//父类的方法...
pwm_dev = (struct rt_device_pwm) rt_device_find(PWM_DEV_NAME); if (pwm_dev == RT_NULL) { rt_kprintf("pwm sample run failed! can't find %s device!n", PWM_DEV_NAME); return RT_ERROR; } rt_uint32_t ui32_aRGB = 0; /用于字符串数据的检测与转换 */ rt_kprintf("input para ...
替换FreeRTOS 的 vTaskSuspend 和 vTaskResume 为 RT-Thread 的任务挂起和唤醒 API 主要涉及 async_context_rtthread,cyw43_arch,cyw43_arch_rtthread,lwip_rtthread这些文件,基础的移植完成后,就可以开始将其对接到 RT-Thread 的 Wi-Fi 设备驱动框架了,主要参考 rw007 和 cyw43012-RTT 的对接。需要使能 RT-...
编写流水灯控制代码: 使用RT-Thread提供的GPIO操作接口来控制LED的亮灭,实现流水灯效果。示例代码 c #include <rtthread.h> #include <rtdevice.h> #include <rtdbg.h> #define LED0_PIN GET_PIN(A, 8) // PA8为LED0_PIN #define LED1_PIN GET_PIN(D, 2) // PD2为LED1...
RT-Thread有完整版和Nano版,对于资源受限的微控制器(MCU)系统,可通过简单易用的工具,裁剪出仅需要 3KB Flash、1.2KB RAM 内存资源的 NANO 内核版本;而相对资源丰富的物联网设备,可使用RT-Thread完整版,通过在线的软件包管理工具,配合系统配置工具实现直观快速的模块化裁剪,并且可以无缝地导入丰富的软件功能包,实现...
RT-Thread:V4.1.0 STM32CubeMx:V6.7.0 STM32CubeProgrammer:V2.11.0 STM32CubeMonitor:V1.4.0 我平时开发常用的IDE实际上是Jetbrains家的Clion但是为了教程的通用性就选择了免费的RT-Thread Studio。 教程第一步:点灯 本次我们选择UART1作为我们的控制台串口,根据原理图我们得知发送脚为PA9,接收脚为PB7。
1typedefstructrt_timer*rt_timer_t; 6.宏定义 在RT-Thread中,请使用大写英文名称作为宏定义,单词之间使用 “_” 连接,例如: 1#defineRT_TRUE 1 7.函数名称、声明 函数名称请使用小写英文的形式,单词之间使用 “_” 连接。提供给上层应用使用的 API接口,必须在相应的头文件中声明;如果函数入口参数是空,必须...
首先新建一个测试文件test.c #include"rtthread.h"voidtest(void) { rt_kprintf("Hello RT-Thread\n"); } 使用下面的命令导出编译过程到`1.txt`文件 scons -j7 --verbose >>1.txt --verbose参数的作用是打印编译的详细过程 使用notepad++ 打开1.txt,搜索test.c,出现的就是test.c编译过程,如下: ...
THREAD_PRIORITY 20#define THREAD_TIMESLICE 10/* 针对每个线程的计数器 */volatilert_uint32_tcount[2];/* 线程1、2共用一个入口,但入口参数不同 */static void thread_entry(void *parameter){rt_uint32_tvalue; value = (rt_uint32_t)parameter; while (1) {rt_kprintf("thread %d is running\n"...
在任务调度器的实现上,μC/OS-II和RT-Thread都采用了位图调度(bitmap scheduling),任务优先级的值越小则代表具有越高的优先级,主要区别在于实现形式,是采用多级队列的形式,还是纯位图的形式。在位图调度下,每当需要进行调度时,从最低位向最高位查找出第一个置 1 的位的所在位置,即为当前最高优先级,然后从对...