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 ...
rt_kprintf("create dynamic semaphore failed.n"); return -1; } else { rt_kprintf("create done. dynamic semaphore value = 0.n"); } rt_thread_init(&thread1, "thread1", rt_thread1_entry, RT_NULL, &thread1_stack[0], sizeof(thread1_stack), THREAD_PRIORITY, THREAD_TIMESLICE); rt_t...
25/* 设置LED引脚为输出模式 */ 26rt_pin_mode(LED_B_PIN,PIN_MODE_OUTPUT); 27rt_pin_mode(LED_G_PIN,PIN_MODE_OUTPUT); 28rt_pin_mode(LED_R_PIN,PIN_MODE_OUTPUT); 29intcount=1; 30while(count++) 31{ 32rt_pin_write(LED_B_PIN, PIN_HIGH); 33rt_thread_mdelay(500); 34rt_pin_wri...
编写流水灯控制代码: 使用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...
1typedefstructrt_timer*rt_timer_t; 6.宏定义 在RT-Thread中,请使用大写英文名称作为宏定义,单词之间使用 “_” 连接,例如: 1#defineRT_TRUE 1 7.函数名称、声明 函数名称请使用小写英文的形式,单词之间使用 “_” 连接。提供给上层应用使用的 API接口,必须在相应的头文件中声明;如果函数入口参数是空,必须...
RT-Thread有完整版和Nano版,对于资源受限的微控制器(MCU)系统,可通过简单易用的工具,裁剪出仅需要 3KB Flash、1.2KB RAM 内存资源的 NANO 内核版本;而相对资源丰富的物联网设备,可使用RT-Thread完整版,通过在线的软件包管理工具,配合系统配置工具实现直观快速的模块化裁剪,并且可以无缝地导入丰富的软件功能包,实现...
首先新建一个测试文件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"...
原理部分就到此为止下面就讲一下在RT-Thread Studio中的操作。 代码实践 首先我们选择使用PWM设备驱动程序 然后我们需要在硬件中选择使能PWM并且选择相应的定时器与通道,但是我们发现并没有我们需要的timer5,这时候我们就需要修改Kconfig文件了。 我们在board/Kconfig中添加如下代码,这里我们简单的修改其他PWM配置即可。