- 博客(49)
- 收藏
- 关注
原创 全网最详细的CRC讲解即计算
循环冗余码(Cyclic Redundancy Code, CRC)是一种用于校验通信链路上数字传输准确性的计算方法(通过某种数学运算来建立数据位和校验位(CRC)的约定关系的)。它是利用除法以及余数的原理来作错误侦测。发送方: 使用某公式计算出被传送数据所含信息的一个值,并将此值 附在被传送数据后。接收方: 对同一数据进行相同的计算,应该得到相同的结果。对比CRC结果。
2024-07-11 18:50:29
10165
1
原创 LINUX 嵌入式C编程--信号编程
信号是事件发生时对进程的通知机制,也可以把它称为。信号与硬件中断的相似之处在于能够打断程序当前执行的正常流程,其实是在软件层次上对中断机制的一种模拟。信号提供了一种处理异步事件的方法。
2023-12-01 18:56:51
1114
原创 us提升到ns级精度settimeofday()到clock_settime()
函数clock_getres()寻找指定时钟clk_id的分辨率,如果res不未空,将通过res把clk_id的分辨率存入到结构体指针timespec内。时钟分辨率取决于实施和通过特定进程不可配置。如果 clock_settime()的参数 tp 指向的时间值不是 res 的倍数,则它将被截断为 res 的倍数。函数clock_getttime()和clock_settime() 取回和设置指定时钟clk_id的时间。其中clk_id参数是识别指定时钟并行动。
2023-11-30 17:00:16
663
原创 MCU启动过程
启动文件到底什么作用,其实启动文件主要是进行堆栈之类的初始化, 中断向量表以及中断函数定义。启动文件要引导进入main 函数。开发STM32F103用的启动文件是startup_stm32f10x_hd.sS32K146使用的启动文件是startup_S32K146.S。
2023-06-29 17:33:58
816
原创 定时器 POSIX Timer定时器和setitimer定时器
POSIX:可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX。
2023-05-15 20:21:58
990
原创 嵌入式驱动开发学习1 方法和学习计划
先观其广,再究其深。Linux = 驱动框架 + 硬件操作Linux内核 = 驱动集合 + 进程调度 + 内存管理嵌入式Linux系统 = bootloader(uboot) + linux内核 + 根文件系统驱动开发相比MCU裸机开发更。
2023-03-26 14:50:05
265
原创 I2C和SPI总线通讯
IIC(Inter-Integrated Circuit)总线是两线式串行总线,用于连接MCU和外设。由数据线SDA和时钟线SCL构成串行总线,可发送和接受数据。高速IIC总线速率可达400Kbps以上。I2C总线在传送数据过程中分三种类型信号信号SCLSDA开始信号高由高变低开始传送数据结束信号高由低变高结束传送数据,可不要应答信号接收ic向发送ic发出特定的低电平,表示己收到数据IIC总线时序图SPI(Seial Peripheral interface)串行外围设备接口。
2023-03-22 18:15:22
2939
原创 TI SDK8.4网络专题(待完善)
TI J721E SOC 千兆以太网交换子系统(SPDW NUSS)有两个端口,提供设备以太网通讯。支持MII接口的简化千兆独立媒体接口the Reduced Gigabit Media Independent Interface(RGMII),Reduced Media Independent Interface(RMII),和物理层physical layer device(PHY)管理数据输入输出管理。
2022-11-30 10:09:14
638
原创 I2Ctool工具 i2cset i2cget i2cdetect i2cdump
i2c总线表示要扫描的I2C总线的编号或名称,并且应对应于i2cdetect-l列出的总线之一。在总线9(i2c-9)上 立即接收I2C设备的7位地址0x50上的所有内容。在用户配置后,使用默认的读方式。立即清除 I2C 器件在总线 1 (i2c-1) 上的 7 位地址0x2d的 8 位寄存器0x11的 3 个最低有效位(无需用户确认)在总线9(i2c-9)上 接受I2C设备的7位地址0x50上的所有内容。在bus 1 (i2c-1)0x2d七位地址,写值0x42到一个8位寄存器0x11的I2C设备。
2022-10-08 15:12:51
9429
原创 纯翻译 GMSL2-CSI2 MAX9295和MAX9296配对通用过程 编程指南
美信 max9295 max 9296编程指南和原理入门
2022-09-22 18:44:48
13178
14
原创 FreeRTOS实时操作系统内核
不同的多任务系统有不同的侧重点。早期处理器,多任务用于实现在单处理器上支持多用户。系统中的调度算法侧重与让每个用户“公平共享”处理器时间。现代处理器,每个用户都可以独占一个或多个处理器。系统中调度算法设计让用户可以运行多个应用程序,而计算机不会反应迟钝。软硬实时软实时:电脑的输入处理为例,为了保证用户的最佳体验,计算机对每个输入的响应应在一个恰当的时间范围内,响应太慢,显得系统太快。硬实时:功能必须在给定的时间限制内完成。大部分嵌入式操作系统不仅能满足硬实时,还能满足软实时要求。术语:执行线程被称为
2022-07-05 14:00:44
635
原创 Linux 时间钟和时间同步
linux系统有两个时钟时间,分别为硬件时钟RTC(Real Time Clock)和系统时钟(System Clock).硬件时钟RTC 位于linux文件系统的/dev/rtc。硬件时钟是指主板上的时钟设备,也就是可以在BIOS画面设置的时钟,即使在官及状态也可以计算时间。系统时钟System Clock: 指Kernel中的时钟,其值是1970年1月1日00:00:00 UTC时间至当今前时间所经历的秒数总和。当Linux启动的时候,系统时钟会读取硬件时钟的设定,之后系统时钟独立运行。长时间运行两
2022-06-22 17:40:51
1211
原创 C语言之常量和预处理
常量和c预处理define作用预处理可以用来定义常量、取别名。在程序编译时,程序中的符号常量名将会替换成符号常量值,这个过程称为编译时替换。组成#define 符号常量名 符号常量值 //C传统 符号常量为大写 符号常量值通常为小写// e.g. 定义常量用法#define PI 3.1415926//e.g. 取别名用法#define 符号常量(别名) 字符和字符串常量 // C语言 符号常量为大写 符号常量值通常为小写#define CAN controller_area_net
2022-05-22 15:57:20
376
原创 嵌入式IO中断配置
配置中断步骤使能中断(全局中断和中断服务子程序)。Enable the Interrupt(Global & IRQx)配置好对应的中断源。Configure the corresponding Interrupt Scource编写对应的中断服务子程序ISR(Interrupt Service Routine)把中断服务子程序配置到向量表。Fill the name of the ISR(address) into the Vector Table.使能中断使能全局中断由内部
2022-04-05 23:38:01
572
原创 CAN 7 位定时
作用配置CAN通信波特率。防止多节点仲裁时,采样点位置不当,使得另一个发送器变成错误认可(error passive)状态。需了解CAN节点内的CAN位同步以及CAN节点对CAN总线的相互作用。CAN的位定时配置不当,使得CAN模块无法按照目标波特率接入CAN网络,导致节点无法通信。CAN波特率配置配置CAN的 位定时寄存器CANBIT和预分频扩展寄存器CANBRPE的设置,可以设置想要的CAN通信波特率(位速率)。 时间份额上述4个段 同步段、传播时间段、相位缓冲段1、2 由可编程的时
2022-03-29 10:26:10
2686
原创 汽车网络CAN的4种报文和位填充
报文(消息帧)什么是报文?报文也叫消息帧,报文是网络中数据交换与传输的数据单元。报文包含了优先级标识和数据内容。报文的分类报文根据用途不同分为4类数据帧:发送器发送到接收器。数据由MCU产生远程帧:向其他节点请求发送同一标识符(ID)的数据帧错误帧: 任何can节点指明已检测到总线错误超载帧:在前后之间的数据帧(或远程帧)提供一附加延时数据帧和远程帧又有定义了标识符ID为11位的标准帧格式和标识符ID为10的扩展帧格式两种形式。这两种的数据帧都有7个场。远程帧有6个位场。数据帧和远程帧
2022-03-02 00:17:36
4525
原创 汽车总线CAN网络分层机构 --3
CAN网络分层机构CAN的分层结构遵循ISO/OSI标准模型,CAN规定了分数据链路层和物理层。数据链路层又分逻辑链路控制子层LLC和媒体访问控制子层(MAC)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zixmd4uI-1646064481853)(:/3df3c9f92fab4f2e90b1b837334ca9b1)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dcBrItIb-1646064481855)(:/f1057c0d5
2022-03-02 00:12:38
2199
原创 汽车总线CAN以及应用 --2
什么是CAN?什么是CAN?CAN全称是Controller Area Network(控制器局域网)。是ISO国际标准化的串口通信协议。是一种多主总线,具有突出的可靠性、实时性和灵活性。CAN总线通常采用双绞线或光纤总线传输介质。CAN数据总线的数据传输终端1.数据传输信号终端需要电阻隔离。高速can是120Ω电阻隔离,实际应用中采用两个62欧的电阻和电容。电阻作用是防止差分信号在CAN_H与CAN_L的回路之间产生影响。电容和电阻的组合的滤波电路作用是滤除汽车强电磁干扰。2. 结构:一个CAN节
2022-03-01 00:07:35
7358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人