#include "led.h" #define LOOK_H 1 #if LOOK_H == 0 #include "NUC1xx.h" #include "NUC1xxM051Seriescfg.h" #else #define __HAVE_GPIO #include <nuc120re3an.h> using namespace nuvoton; #endif // 任务类 task_led3_t 的定义 class task_led3_t : public task_t { public: __INLINE__ task_led3_t(); // 构造函数 public: void led_off(void); }; // 任务类 task_led3_t 的构造函数 __INLINE__ task_led3_t::task_led3_t() { // TODO: 在此初始化 task_led3_t 的类成员 } void task_led3_t::led_off(void) { static uint32_t data = 0b100; GPIOA.DMASK(-1) .DMASK2(0); GPIOA.DOUT = data; data ^= 0b100; } task_led3_t led3; //创建对象 // 任务类 task_led_t 的例程 void task_led1_t::routine() { // TODO: 在此编写 task_led_t 例程的内容 uint32_t data = ~0b1000; while (true) { // TODO: 在此编写 task_led_t 例程的内容 data &= 0b111000; data <<= 1; data += data >> 3; #if LOOK_H == 0 GPIOAs.DMASK.Regs = ~0b111000; GPIOAs.DOUT.Regs = data; #else GPIOA.DMASK(-1) .DMASK5(0) .DMASK4(0) .DMASK3(0); GPIOA.DOUT = data; #endif delay(LOOK_TICKS_PER_SEC / 2); led3.led_off(); } } // 任务类 task_led_t 的例程 void task_led2_t::routine() { // TODO: 在此编写 task_led_t 例程的内容 uint32_t data = 0b100; while (true) { // TODO: 在此编写 task_led_t 例程的内容 #if LOOK_H == 0 GPIOAs.DMASK.Regs = ~0b100; GPIOAs.DOUT.Regs = data; #else GPIOA.DMASK(-1) .DMASK2(0); GPIOA.DOUT = data; #endif data ^= 0b100; delay(LOOK_TICKS_PER_SEC / 10); } } #ifdef LOOK_SCHEDULING_PRIORITY instantiate::task<task_led1_t, LOOK_STACK_SIZE> task_led1(0); instantiate::task<task_led2_t, LOOK_STACK_SIZE> task_led2(0); #else instantiate::task<task_led1_t, LOOK_STACK_SIZE> task_led1; //instantiate::task<task_led2_t, LOOK_STACK_SIZE> task_led2; //instantiate::task<task_led3_t, LOOK_STACK_SIZE> task_led3; #endif led.h 复制#include "look_config.h" #include <look.h> //#include <instantiate> // 任务类 task_led1_t 的定义 class task_led1_t : public task_t { public: __INLINE__ task_led1_t(); // 构造函数 protected: void routine(); // 任务例程 }; // 任务类 task_led1_t 的构造函数 __INLINE__ task_led1_t::task_led1_t() { // TODO: 在此初始化 task_led1_t 的类成员 } //extern instantiate::task<task_led1_t, LOOK_STACK_SIZE> task_led1; // 任务类 task_led2_t 的定义 class task_led2_t : public task_t { public: __INLINE__ task_led2_t(); // 构造函数 protected: void routine(); // 任务例程 }; // 任务类 task_led2_t 的构造函数 __INLINE__ task_led2_t::task_led2_t() { // TODO: 在此初始化 task_led2_t 的类成员 } extern instantiate::task<task_led1_t, LOOK_STACK_SIZE> task_led1; extern instantiate::task<task_led2_t, LOOK_STACK_SIZE> task_led2; 睡觉,有问题 的朋友尽管留言,大家一起琢磨。 这几天我都是一头雾水。
#include "look_config.h" #include <look.h> //#include <instantiate> // 任务类 task_led1_t 的定义 class task_led1_t : public task_t { public: __INLINE__ task_led1_t(); // 构造函数 protected: void routine(); // 任务例程 }; // 任务类 task_led1_t 的构造函数 __INLINE__ task_led1_t::task_led1_t() { // TODO: 在此初始化 task_led1_t 的类成员 } //extern instantiate::task<task_led1_t, LOOK_STACK_SIZE> task_led1; // 任务类 task_led2_t 的定义 class task_led2_t : public task_t { public: __INLINE__ task_led2_t(); // 构造函数 protected: void routine(); // 任务例程 }; // 任务类 task_led2_t 的构造函数 __INLINE__ task_led2_t::task_led2_t() { // TODO: 在此初始化 task_led2_t 的类成员 } extern instantiate::task<task_led1_t, LOOK_STACK_SIZE> task_led1; extern instantiate::task<task_led2_t, LOOK_STACK_SIZE> task_led2; 睡觉,有问题 的朋友尽管留言,大家一起琢磨。 这几天我都是一头雾水。
收藏0 举报
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
等级类勋章
发帖类勋章
时间类勋章
人才类勋章
67
452
1
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号