摘要:
简介 物理层 CAN 协议提供了 5 种帧格式来传输数据 数据链路层 中数据帧和遥控帧有标准格式和扩展格式两种,标准格式有 11 位标识符(ID),扩展格式有 29 个标识符(ID) 显性0,隐性1 如何判断这个显性位是帧起始? 绿色字体 数据段DBC:有摩托罗拉 和因特尔格式的 可以用数据段不同的 阅读全文
摘要:
原文 首先它是一个指针,一个指向函数的指针,在内存空间中存放的是函数的地址; int Add(int x,int y) { return x+y; } int main() { printf("%p\n",&Add);//打印一下函数Add()的地址 printf("%p\n",Add);//数组名 阅读全文
摘要:
配置host(解决延迟高问题) 安装java,配置环境变量,直接系统path中bin地址就行,不行就往上面移动 win开机启动 Win + R 打开运行,输入:shell:startup calc 打开计算器 powercfg/batteryreport 查看电池健康程度 netstat -ano 阅读全文
摘要:
1.节拍器 100hz 10ms间隔,jiffies 其实就是 jiffies_64 的低 32 位 记录系统节拍树,因为是32位所以记录最大值为4294967296(个节拍,也就是这么多个10ms) 4294967296/100/60/60/24 = 49.7 天 就会归零,也叫绕回 可以用相关的 阅读全文
摘要:
生成函数 周期,多久触发一次定时器(从定时器启动开始计算) 触发什么呢? 回调函数被调用,被谁调用呢 1,tick中断去调用timer函数 Linux中使用这个 (定时器回调函数若执行时间过长,会阻碍其他定时器函数执行) 2,freeRTOS中 一般定时器守护函数设置优先级比较高 使用定时器的话,需 阅读全文
摘要:
获取某个事件 获取若干事件中的某个事件 获取若干事件中的全部事件 !!!!不可获得若干事件中的几个事件 创建事件组,设置事件,等待事件 static EventGroupHandle_t xEventGroupCalc; /* 创建事件组 */ xEventGroupCalc = xEventGro 阅读全文
摘要:
信号量,计数值 问题: 还是那个AB任务互斥调度的问题,B等A执行完毕的过程中,判断标志位会耗费CPU资源 利用信号量,当没有信号的时候,不参与调度 计数信号量(不能用来传输数据) static SemaphoreData_t xSemCalc; Xsemcalc=xSemaphoreCreateC 阅读全文
摘要:
之前的都是按照优先级不同允许抢占(不讲道理),不管你在做什么,轮到优先级最高的任务,直接抢占执行 怎样才能讲道理呢?稍微等等嘛,等我做完活你再做 1 支持抢占,0不支持抢占 同优先级任务是否交替执行,1交替0不交 空闲任务是否礼让其他任务 礼让的话,自己的函数逻辑在时间片内只执行一遍,然后调度 不支 阅读全文
摘要:
定时器每隔1ms(间隔tick【/tɪk/ 活动】)发生一次中断,tick中断切换程序 创建任务,启动调度器,后创建的任务先运行(源码里有,新任务优先级>=旧优任务先级则新任务先运行) 可以配置这个间隔时间 也可以指定每个任务每次执行的tick数量 任务 运行态 就绪态 阻塞态(等待某事件发生才能继 阅读全文
摘要:
对外部响应能力: 实时(规定时间内)操作系统 , 有强(飞机系统)弱(信息采集系统)之分 与分时(顺序时间片)操作系统 FreeRTO实时操作系统 支持抢占式调度,合作式调度和时间片调度;内核大小在4-9K ;C语言编写 操作系统调度各个再死循环中的任务(管理任务),可以随时进入退出? 引入操作系统 阅读全文