① 使用STM32CubeIDE编写EC11 定时器中断方式
原贴地址 使用STM32CubeIDE编写EC11
从上图可以看出旋转EC11时,A相上升沿时,B相高电平为顺时针转动,B相低电平则为逆时针转动。燃歼所以我们利用这一特性,使用STM32的定时器捕获功能对A相进行电平捕获,然后与B相电平进行比较从而判断旋转方向。
首先要开启定时器TIM3,我们使用这个皮纯冲 HAL_TIM_IC_Start_IT(htim, Channel); 启动定时器。
使用定时器回调函数
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
在里面编写上面的程序,因为我们将B相接在PA7引脚,所以我们使用switch case语句进行判断引脚电平,如果单片机检测到A相为高电平就会进入这个中断判断B相电平,低电平为反转,高电平极为正转(程序中的cnt为计数作用)。
经测试通过串口打印数据,EC11非常稳定,也没有出现丢步和乱裤戚跳的情况。
② k8s-日志落地
#容器方便的同时带来的挑战
1. 如果日志还放在容器内部,会随着容器删除而删除
2. 容器多按照传统的仓库日志方式 显然不现实
#本身特性
1. 容器日志输出到控制台 本身docker提供了一种日志采集能力 如衫弯果落地到了本地文件 目前还没有一种比较好的动态采集或庆闷方式
2. 新扩容的pod属性信息(日志文件路径 日志源 可能发生的变化)
#需要收集那些日志
1. k8s 系统组件日志 部署在k8s应用的日志
#当我们执行docker logs查看日志的时候是调用了docker守护进程去查看他接管的这个日志 在本地的文件系统中去读这个日志
#cd /var/lib/docker/找到容器ID进入里面 有一个已json文件已容器id命名的里面就是日志
#/var/lib/kubelet/pods/08ec113c8abdf4544
方案一:Node上部署一个日志收集程序
• DaemonSet方式部署日志收集程序
• 对本节点/var/log/kubelet/pods和
/var/lib/docker/containers/两个目录下的日志进
行采集
• Pod中容器日志目录挂载到宿主机统一目录上
方案二:Pod中附加专用日志收集的容器
• 每个运行应用程序的Pod中增加一个日志
收集容器,使用emtyDir共享日志目录让
日志收集程序读取到。
方案一:Node上部署一个日志收集程序 每个Node仅需部署一个日志收集程序,
资源消耗少,对应用无侵入 应用程序日志如果写到标准输出和标准错误输出,
那就不支持多行日志。
方案二:Pod中附加专用日志收集的容器 低耦合
每个Pod启动一个日志收集代理,增加资源消耗,
并增加运维维护成本
#匹配目录收集规则
方案(1):DaemonSet方式部署日志收集程序
/var/lib/docker/containers/*/*-json.log
/var/lib/kubelet/pods/*/volumes/kubermetes.io~emtpdir/
/var/lib/kubelet/pods/*/
方式2: 挂载到统一的目录 解决日志覆盖的方法 推荐差桐方法让开发根据容器名称命名日志文件
保持唯一性就可以了 这种方法维护起来比较好 也比较简单 但是缺点可能消耗资源多一点
data:
kubernetes.yml: |-
- type: docker
containers.ids:
- "*"
https://www.cnblogs.com/Dev0ps/p/10778962.html
#传统日志配置采集工具重要设置什么
1. 日志路径
2. 写正则 格式化日志
3. 日志源(命名空间 容器 service 项目)
阿里云日志采集工具:log-pilot
③ linux中10le11等于多少
linux中10le11等于多少
/linux 文件系统根目录
/bin存放系统中最常用 的可以执行文件(二进制)
/boot存放LINUX内核和系统的启动文件
/dev存放所有设备文件,如硬盘,分区,键盘,鼠标。。。
/home用户主目录的默认位置
/lib存放共享的库文件
/media ubuntu系统自动挂载CD-ROM,软驱,USB在存储器后,存放读入的文件
/mnt该目录通常用于作为被挂载的文件系统的挂载点
/opt作为可选文件和程序的存放目录,主要被第三方开发者用来简易地安装和卸载他们的软件包
/proc作为存放所有标志文件的进程,它们是通过进程号或其他的系统动态信息进行标识
/root根用户(超级用户)的主目录
/sbin存放更多的可执行文件(二进制),包括系统管理,目录查询等关键命令文件
/tmp存放用户和程序的临时文件,所有用户对该目录都有读写权限
/usr用于存放与系统用户直有关的文件和目录
/var 通常用于存放长度可变的文件,例如日志文件。。。
LINUX的文件系统主要有:ext2,ext3,rerserfs,iso9660,vfat...
windows的文件系统:fat16,fat32,ntfs
.png
进制:是人们规定答郑的一种进位方法
X进制是代表某一位置上的数运算时 逢X进一位我们日常生活中常用的进制为十进制。
由于数字计算机只能识别与处理01的符号串组合的代码其运算模式为二进制,计算机里的每个字节分成8段0与1每段可以用来记录一个0或1。
二进制(binary)
二进制每个数位上只有0和1两种可能 逢二进一。
数码:0 1;(数制中告歼表示基本数据大小的不同数字符号)
基数:2 ;(数制所使用数码的个数)
位权:010中1的位权为4(数制中某一位上的1所表示的数值的大小)
0101 0101
每位的位权是多少?(最右数位为次幂):对应数位的值 *基数^0123 1 *2^0
3: 1*2^2任何一个数字都可以用十进制来表示也可以用二进制来表示
4 二进制的十进制表示方法 :二进制其位权是以2为底的幂
如:0101.01= 1*2^2+0*2^1+1*2^0+ 0*(2^-1)+1*(2^-2)
1010 =1*2^3 + 0*2^2 + 1*2^1 +0*2^0
规律:相邻的数位中右边数位中1的值是左边数位中1的数袜举冲值的2倍,数码为0的数位为零 转换时可以当成0来处理
1010 1101 =?1*2^7+1*2*5+1*2^3+4+1 0110 0010
十进制转换成二进制的方法
1、把十进制拆分成多个2的整数次方之和,然后把拆分结果单独转换成二进制,然后所结果合并。