当前位置: 首页 > wzjs >正文

潍坊网站建设选聚搜网络好近期热点新闻事件50个

潍坊网站建设选聚搜网络好,近期热点新闻事件50个,北京包装设计制作,网站开发亿玛酷专注4求赞qwq 众所周知,像STM32F10X系列之类的单片机都是单核的,要是不使用特殊手段,很难实现多个独立延时的LED灯的闪烁操作,对此我写了个线程表,等于硬件实现不了的L功能我用软件帮它实现qwq 接下来是代码以及代码讲解awa: 先发代…

求赞qwq

众所周知,像STM32F10X系列之类的单片机都是单核的,要是不使用特殊手段,很难实现多个独立延时的LED灯的闪烁操作,对此我写了个线程表,等于硬件实现不了的L功能我用软件帮它实现qwq

接下来是代码以及代码讲解awa:

先发代码:

#include <stdio.h>  typedef unsigned int time32_t;
typedef unsigned int u32_t;typedef struct {time32_t sleeptime;void(*runfun)();
} cpl_t;void __initcpl_t__(cpl_t* _obj, u32_t _ite) {if (_obj == NULL) return;while (_ite-- > 0) {_obj[_ite].runfun = NULL;_obj[_ite].sleeptime = 0; // 初始化为0  }
}void __insertcpl_t__(cpl_t* _obj, void(*runfun)(), time32_t sleeptime, u32_t _max) {if (_obj == NULL) return;u32_t i = 0;while (i < _max && _obj[i].sleeptime != 0) { // 检查sleeptime是否为0  i++;}if (i >= _max) return; // 防止越界  _obj[i].runfun = runfun;_obj[i].sleeptime = sleeptime;
}void __showcpl_t__(cpl_t* _obj, u32_t _max, time32_t jishi, time32_t sleep, void (*clear)()) {if (_obj == NULL) return;time32_t i = sleep;for (time32_t count = 0 ; count < jishi; count++) {for (u32_t temp = 0 ; temp < _max ; temp++) {if (_obj[temp].sleeptime != 0 && count % _obj[temp].sleeptime == 0 && _obj[temp].runfun != NULL /*count != 0*/) {_obj[temp].runfun();printf("当前时间刻:%d\n", count);}}clear(); // 调用清除函数  }
}void task1() {printf("Task 1 is running\n");
}void task2() {printf("Task 2 is running\n");
}void clear() {printf("Clearing...\n"); // 添加清理输出  
}// 主程序  
int main() {const u32_t max_tasks = 5;cpl_t tasks[5];// 初始化任务  __initcpl_t__(tasks, max_tasks);// 插入任务  __insertcpl_t__(tasks, task1, 2, max_tasks); // 每 2 个时间单位运行一次  __insertcpl_t__(tasks, task2, 3, max_tasks); // 每 3 个时间单位运行一次  // 模拟多线程行为  printf("Starting task simulation...\n");//快说,谢谢GPT爸爸的翻译qwq__showcpl_t__(tasks, max_tasks, 20, 100, clear); // 假设执行 20 个时间单位  return 0;
}

(博客选择不了C语言,所以选了C++)

可以看到,十分简洁的调库列表,绝对没有偷偷使用标准库qwq.

(灵感和思路是从石头缝里蹦出来的)

首先是对结构体的定义,其实这个结构体是用来做数组用的,结构体数组本质上就是几个数组的集合,是个人都懂好qwq.

(初始化没必要讲awa)

插入函数和链表的没有太大的区别,只是主体是数组.就是找下一个没被存东西过的空位,然后把插入的线程的延时,执行的函数插入到数组里,秒!

接下来就是最L的函数了,主要就是定个软件计时器用来定位时间刻,然后在刚才讲到的存储函数和延时时间的数组中翻箱倒柜,找到延迟时间是当前时间刻因数的对象,执行这个对象里的函数.如果想要更快的速度,可以把线性查找换成更快的查找结构或哈希表(当然我这个不是为了时间)qwq

散会awa_


文章转载自:

http://N8fXnkum.mfzyn.cn
http://AGMuGk7c.mfzyn.cn
http://5xrXwwPH.mfzyn.cn
http://jZoJyhzm.mfzyn.cn
http://UVA1bbyO.mfzyn.cn
http://7QOTID2Y.mfzyn.cn
http://MYh6y6vH.mfzyn.cn
http://3x50rjyQ.mfzyn.cn
http://Etz1iNEB.mfzyn.cn
http://sc0SbJUm.mfzyn.cn
http://RxoB8fWp.mfzyn.cn
http://8rnmPzC4.mfzyn.cn
http://EMb7emMN.mfzyn.cn
http://uJMVvaQc.mfzyn.cn
http://6OgoohzW.mfzyn.cn
http://bwhkplUo.mfzyn.cn
http://OtkkOG0N.mfzyn.cn
http://o6TbhVKU.mfzyn.cn
http://bf0g4faV.mfzyn.cn
http://v7GDHhe3.mfzyn.cn
http://dx4XWqUI.mfzyn.cn
http://HA3X8T53.mfzyn.cn
http://bCW7EWXE.mfzyn.cn
http://quOVRePK.mfzyn.cn
http://AwvB8m0u.mfzyn.cn
http://Ht8Gzmc7.mfzyn.cn
http://qFINfxPE.mfzyn.cn
http://HlRAsLlX.mfzyn.cn
http://dyUqnpPU.mfzyn.cn
http://w97ZpVOe.mfzyn.cn
http://www.dtcms.com/wzjs/648677.html

相关文章:

  • 书店网站建设的设计报告网站模板织梦免费
  • 政务公开网站建设WordPress文章更新器
  • 张店网站制作价格低asp.net网站恢复
  • 南昌有限公司 网站专业网站制
  • 网站发布教程视频教程网站建设都包括什么科目
  • 网站建设费用详细表视频网站砸钱做生态
  • 企业网站模板 下载 论坛如何建设电商网站
  • 怎样做国外网站360搜索怎么做网站自然优化
  • 做网站生意不赚钱网页设计制作网站代码
  • 好看的网站在哪里好找园林景观设计公司经营范围
  • 可以注册的网站wordpress 密码算法
  • 网站域名根目录在哪里深夜十大app软件
  • 东莞 网站建设企业wordpress pckr
  • 网站开发中用什么安全性比性比较高wordpress全文显示
  • 网站开发工程师要求好多钱网站
  • 河源北京网站建设今天最火的新闻头条
  • 晋城做网站公司广州网站开发哪家公司好
  • 便利的响应式网站建设免费域名申请网站大全推荐
  • 新乡专业做淘宝网站学校网站建设栏目
  • 江苏SEO网站建设用PS做网站搜索框
  • 网站设计策划书 模板深圳龙岗网络
  • 如何用word做网站地图广东省网站建设
  • 阿坝州住房和城乡建设厅网站旅游网站建设网站目的
  • spring可以做多大的网站在静安正规的设计公司网站
  • 什么网站做视频给钱高邮做网站
  • 长沙建长沙建网站公司外包公司辞退员工补偿标准
  • 服装设计师常用网站青岛网站快速排名提升
  • 做关于星空的网站wordpress用户密码重置
  • 企业网站案例欣赏如何申请微信企业号
  • 毕业设计代写网站互联网服务商